基于ios的远程视频监控系统的设计与实现(编辑修改稿)内容摘要:
age、AFNetworking、高德地图 SDK,首先使用 search 命令搜索类库,在终端输入 $ pod search AFNetworking(以 AFNetworking 为例) , 终端会返回一个 AFNetworking 的所有版本的列表,然后使用命令 $ cd /Users/shiyunlei/Desktop/CocoapodsSample 进入项目目录, cd后面的是项目的路径,接着使用 $ touch Podfile 创建 Podfile 文件,用 vim 编译器编译Podfile 文件,输入如下命令 $ platform:ios, 39。 39。 , $ pod 39。 AFNetworking39。 , 39。 ~ 39。 并保存退出,最后使用命令 $ pod install来完成 AFNeteorking 的安装 ,成功之后目录下便会新增一个以 .xcworkspace 为后缀的文件,打开即可 同样的方法可以集成其他的第三方类。 iOS 开发证书配置是此项目能在真机上运行的前提之一。 iOS 有着很完善的规范的开发者机制,此项目使用的个人开发者账号,每个账号可以申请两个发布证书,用来在AppStore 上发布自己的作品,和三个开发证书,用来进行真机测试。 每个证书可生成一个对应的描述文件,该描述文件记录了此账号的状态以及所下 挂的证书,进行真机调试前需要将,发布证书或者开发证书和描述文件导入 Xcode 中。 然后再项目 设置 中 的 Build setting code signing 中设置相应的证书以及描述文件,最后在运行设备中选择已经加入开发者的 iOS 设备,运行后便可进行调试。 网络数据包获取 paros 环境搭建 此项目的所有接口为抓取其他同类 App 的网络数据包而来,因此需要在本机配置网络数据包劫持环境,该项目使用的工具为 paros,首先该环境必须在安装有 JDK 的环境下使用,且手机与电脑必须在同一局域网络下,从官网下载 JDK 最新版,并配置环境变量即为 JDK 的安装路径,然后打开 paros 软件,在 Tools options Local proxy 下根据自己的 ip 地址来配置 local host 的 ip 地址,端口号为大于 8080 的任意数,然后进入手机设置 无线局域网 设置已连接的网络,将代理改为手动,其中的 ip 地址和端口号要与 paros 所设置的完全一致, 此时在 iphone 上运行程序的同时便可以在 paros 中获得相应的网络数据包。 可在 Xcode 中使用 NSJSONSerialization 或者 NSXMLParser 类对其进 行进一步的解析。 程序运行和会在下方的 console 有输出显示程序状态。 Objectivec 中的关键类 NSJSONSerialization NSJSONSerialization, ios5 中 apple 增加了解析 JSON 的 apiNSJSONSerialization。 大连 东软信息学院毕业设计(论文) 8 NSJSONSerialization 在效率上远远超越了 SBJSON、 TouchJSON、 YAJL、 JSONKit、NextiveJson。 因为作为苹果自带的 JSON 数据解析类,它更好的兼容了 iOS 的内存管理机制, JNSJSONSerialization 提供了将 JSON 数据转换为 Foundation 对象 一般都是NSDictionary 和 NSArray 和 Foundation 对象转换为 JSON 数据, 可以通过调用isValidJSONObject 来判断 Foundation 对象是否可以转换为 JSON 数据。 该类 提供非常便捷的数据类型转换方法,尤其在涉及到网络数据与本地数据相互转化方面和跨平台语言编程方面有着很高的效率, 利用 NSJSONSerialization可 将 JSON 转换成 Foundation对象,也能将 Foundation 对 象转换成 JSON,转换成 JSON 的对象必须具有如下属性: 对象必须是 NSArray 或者 NSDictionary; NSString、 NSNumber、NSArray、 NSDictionary、 NSNull 的实例 ; NSDictionary 的 key 必须是 NSString类型 ;。 NSDictionary 中的 key 就是 json 字符串中的 key,object 就是 json 字符串中的 value, isValidJSONObject:方法是检测 Foundation 对象能否合法转换为 JSON 对象, dataWithJSONObject: options: error 方法是将 Foundation 对象转换为 JSON 对象,参数 NSJSONWritingPrettyPrinted 的意思是将生成的 json 数据格式化输出,这样可读性高,不设置则输出的 json 字符串就是一整行。 AFNetworking 该项目会从网络上请求数据,所有的数据都从网络接口中来,因此用到了大量的网络请求, AFNetworking 是一个轻量型的第三方网络库, 适用于 iOS 以及 Mac OS X. 它构建 于在 NSURLConnection, NSOperation, 以及其他熟悉的 Foundation 技术之上 . 它拥有良好的架构 ,丰富的 api,以及模块化构建方式 ,使得使用起来非常轻松。 他可以非常便捷和迅速的 从一个 url 来得到 json 数据 ,并以 NSMutableDictionary 的形式返回,采用 Block语法进行回掉。 为了更好的处理向 Web 站点的请求,包括处理 Session, Cookie 等细节问题,使用 AFNetworking 则是更好的选择,他可以用于发送 HTTP 请求,接收 HTTP的响应,但是不会缓存服务器 的响应,不能执行 HTML 页面中的 JAvascript 代码 ,同时,AFNetworking 还内置支持 JSON, plist 文件和 XML 文件的解析,使用比较方便。 使用之前需要实例化一个 AFHTTPRequestOpeartionManger 对象 , 根据服务器内容的不同,为 AFHTTPRequestOpeartionManger 对象指定不同的解析格式,该对象默认的解析格式是 JSON 和 Plist 文件解析器。 发送 GET 请求 用 : Manager 对象调用 GET: parameters:success: failure:方法即可, success 代码块和 failue 代码块在网络请求成功 /失败过后调用。 大连 东软信息学院毕业设计(论文) 9 SDWebImage SDWebImage 是 iOS 平台上非常优秀的异步加载图片的第三方类库, 这个类库提供一个 UIImageView 类别以支持加载来自网络的远程图片 同时支持 GIF 动画 , 通过对UIImageView 的类别扩展来实现异步加载替换图片的工作 ,同时该类还 具有缓存管理、异步下载、同一个 URL 下载次数控制和优化等特征。 它支持 64 位,因为使用苹果自带的 GCD 多线程机制,所以可以保证在加载大量图片的情况下主线程永远不会被堵塞,同时具有很完善的缓存管理功能,使同样的地址不会被请,也不会造成内存泄漏等问题,其中大部分使用 category 类目来完,如 UIImage+、 UIButton+WebCache 、UIImage+MultiFormat 等,在使用的时候首先需要引入头文件 import“ ”,然后使用 (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder 或 (void)setImageWithURL:(NSURL *)url forState:(UIControlState)state placeholderImage:(UIImage *)placeholder 方法来完成异步加载图片的操作,同时可以使用该类自带的占位图获得更好的体验效果。 大致的使用步骤如下: ( 1)加载图片准备 入口 setImageWithURL:placeholderImage:options: 会先把 placeholderImage 显 示,然后 SDWebImageManager 根据 URL 开始处理图片。 ( 2)检查本地缓存 进入 SDWebImageManagerdownloadWithURL:delegate:options:userInfo:, 查找本地图片是否存在 queryDiskCacheForKey:delegate:userInfo。 ( 3)展示图片 如果内存中已经有图片缓存, 则 回调 imageCache:didFindImage:forKey:userInfo: 到 SDWebImageManager。 如 果 没 有 缓 存 则 SDWebImageManagerDelegate 回调 webImageManager:didFinishWithImage: 到 UIImageView+WebCache 等前端展示图片。 ( 4)将图片缓存 将图片保存到 SDImageCache 中,内存缓存和硬盘缓存同时保存。 写文件到硬盘 也在以单独 NSInvocationOperation 完成,避免拖慢主线程。 大连 东软信息学院毕业设计(论文) 10 第 3 章 系统分析 构架概述 功能构架 经过需求分析,结合自己的所掌握的编程技巧,确定 ―NoBorder‖的功能为 推荐景点 、搜索目的地 、 特价优惠、地图定位,更多菜单 ,其中更多菜单又分为今日新闻、附近美食、我要登陆、说点什 么, 功能层次图如图 所示。 图 系统功能层次图 模块需求描述 该应用是一款和旅行类有关的 APP, 本 软件界面 友好,功能完善, 用户可以通过此APP 了解到当今现代的旅游行情,其中包含的新闻功能可使用户不出家门便可尽知天下事,同时当用户出门在外的时候,还可以帮助用户定位当前的地理位置,显示当前的坐标,同时以自身坐标为圆心搜索附近的美食,包括美食的做法,同时还有评论功能,用户可以在论坛上自己发言,发表对景点以及其他事件的一些看法。 让游客 互动,是出门在外的必备应用。 本应用做了本地存储,并没有 使用通常的 splite 数据库 ,而是使用了 iOS 所特有的沙盒机制 sandbox 作为本地持久化的方法 ,因为沙盒机制会比数据的效率更高,他可以直接将 App 信息存储到 sandbox 的根目录下 , 而且移动端的开发对 iOS ipa 包的大小有大连 东软信息学院毕业设计(论文) 11 着严格地限制, 并且此 App 并没有太多复杂的数据,且不需要对数据进行过多的操作,只需要将数据存入本地,在没有接入互联网的时候会显示本地数据。 因此使用 sandbox来代替数据库 splite 以达到更好的目的。 更多菜单里面包含了附近美食、当日新闻、评论列表、登陆模块,其中附近美食考虑到不同的 旅游景点不仅仅有不同的景色,同时也有当地的美味食物, 特色小吃,而这些也是旅行中不可缺少的,通过附近美食,用户可以对当地美食文化的一个深入了解,同时也可以学会美食的详细做法。 当天新闻可以让用户在旅行的途中或者是家中浏览当天所发生的事情。 评论列表可以让用户发表自己对 App 的或者是对景点的一下见解,让用户与用户间更好的交流。 登录模块分为第三方登录和匿名登陆。 用户登录后可进行发言。 第三方包括微信、 、人人、豆瓣等第三方登陆平台。 如上图 所示, ―NoBorder‖从 推荐景点 、 登录 、 评论、地图定位四 大模块进行分析,这些模 块根据不同的设计从而实现不同功能,下面分别阐述每个模块具体功能。 ( 1) 推荐景点 推荐景点 模块功能结构图如图 所示。 图 推荐景点 功能结构图 推荐景点页面共有以上六种功能,强力推荐景点为每隔一段时间 App 会自动为用户推荐四到五个热门景点,以 UIScrollView 滚动条的方式展现出来,用户点击进入可查看景点详情;最新热门游记模块为一些旅行达人把自己的行程感受,分享出来,包括目的地景色、目的地路线、 门票价格等信息,供其他旅客浏览,同时下方的评论列表也可看到其他人的看法和意见;每日精选 图片主要提供者了一些美丽景色的图片和其出处供大大连 东软信息学院毕业设计(论文) 12 家参考,用户可以根据图片来判断自己是否喜欢最终决定是否前往,节省了时间的同时也帮用户更好的制定旅行计划; 旅行达人推荐模块会把定期评选出来的旅行达人展示出来,包括达人所旅行过的景点,今日旅行专题模块每天会给用户推荐一个城市,用户可以看到这个城市中所有的著名景点以及风土人情,同时还可显示推荐游览顺序避免绕路;本周线下活动模块显示了官方所组织的一些活动,用户可根据自己的喜好选择相应的活动,查看活动详情及报名方式等。 ( 2) 登录 模块 登录 模块 集成了多种登录方式,包括新浪 、腾讯等国内一些主流的社交平台账号登陆,登陆之前会先判断用户是否已经登录,如果已经登录这直接显示登录用户的信息,其功能结构 如图 所示。 图 登录。基于ios的远程视频监控系统的设计与实现(编辑修改稿)
相关推荐
age 邻居发现协议 邻居发现协议是 IPv6 协议的一个组成部分,它解决同一链路上节点之间的互操作问题。 邻居发现协议定义了解决如下一些问题的机制 : (1)地址自动配置:节点为自身的网络接口配置 IPv6 地址,与之关联的有重复地址检测机制等。 (2)地址解析:由其它节点的 IPv6 地址得到其链路层地址。 (3)路由发现:主机发现同一链路上的路由,与之关联的还有参数发现、前缀发现等机制。
电压从 0V 增加到 5V。 当空载时, CSDV =0V,振荡器频率约 60kHz 在最大负载下, CSDV =5V,振荡器频率约 30kHz。 当输出短路时,电流流过半桥,被 CSR 感测。 只要 IC 脚 CS 上电压超过 1V 的门限电平持续 50ms 以上的时间,系统将关闭。 如果负载超过最大负载的 50%, IC 脚 4 上的电压将超过 较低的门坎电压,在经 之后,系统将关闭。
触发。 约经 1s 的时间,电路以较低频率运行。 在此过程中, IC 脚 3 外部电容 SDC 上的电压从 0V 增加到 5V。 当空载时, CSDV =0V,振荡器频率约 60kHz 在最大负载下, CSDV =5V,振荡器频率约 30kHz。 当输出短路时,电流流过半桥,被 CSR 感测。 只要 IC 脚 CS 上电压超过 1V 的门限电平持续 50ms 以上的时间,系统将关闭。
电影,这一切都在改变我们的日常生活。 也正是由于这些变化,移动互联网已经逐渐成为了互联网这个行业的重要组成部分。 我们也能看到,传统的PC 行业的增长已经开始放慢,国际上一些很大的传统 PC厂家例如惠普,戴尔在 PC 行业的利润已经越来越少 ,它们都在积极的寻求转型。 而反观智能机的领域,苹果,三星, HTC等企业都通过智能手机的销售取得了非常好的业绩。 特别是苹果和三星
户发送一条私信; (9)收藏微博:收藏一条微博消息。 北京理工大学硕 士学位论文 6 图 微博客户端主要功能 客户端的主要任务 按照本文所设计的客户端的需求分析,它完全基于新浪微博开放平台的 REST API。 因此,它的主要任务是能够解析 REST API 返回的数据,以及按照 REST API 请求格式封装请求。 在客户端进行获取数据的过程中,解析接收到的数据是非常重要的上作。 如果解析失败
就是每次连接只处理一个请求。 在 iPad 端可以向服务器发送 Post 或 GET 方式请求。 因为 IOS SDK 中的 网络请求 API 用起来根复杂,所以本次论文用到的 ASI 封装了系统的 CFNetwork 框架,而且 ASI 是用 ObjectiveC 写的,可以直接在 Mac 系统或 IOS 应用中直接使用。 ASI 目前已经不更新了,但是由于效率高,功能完善,所以现在使用