iOS7应用开发13:应用类UIApplication、网络活动指示器、地图
1、应用类UIApplication:
UIApplication类为应用提供了一个共享的实例,可以提供一些全局信息,其核心作用是提供了iOS程序运行期间的控制和协作工作。应用在运行期必须且只能有一个UIApplication(或者其子类)的实例。调用方法如下:
UIApplicaiton *myApplication = [UIApplication sharedApplication];
UIApplication的主要任务是处理用户相关事件,该类会生成一个任务队列存放各种用户事件并逐个进行处理。同时该类还负责将UIControl空间传递给它的消息传递给相应的目标对象。此外,UIApplication类还维护一个当前应用中所有打开的UIWindow窗口的列表,因此可以获取应用的每一个UIView对象。每一个应用对象通常都会有其代理对象,该对象将负责处理应用运行时的一些重要事件,如启动应用、低内存警告、退出应用等,并作出适当的响应。
每一个应用启动时,都将调用UIApplicationMain函数,该函数的一个重要作用就是生成一个UIApplication单例实例,在其后的程序中可以通过上述代码获取此实例的指针。
2、网络活动指示器:
这是UIApplication的一个bool类型的property,其定义如下所示:
@property(nonatomic, getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible如果设为YES,则状态栏会出现网络活动指示,设为NO则将其关闭。
该属性的作用域为全局作用域,所有线程都可以访问。需要考虑解决该属性的线程间冲突问题。
更多与UIApplication相关的内容可以参考官方文档:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006728-CH3-DontLinkElementID_6
3、地图、Core Location框架:
该框架用于处理位置和方位信息,没有UI界面。通过该framework提供的类和协议,可以配置并处理位置和方位事件的传递。
该框架的基类为:CLLocation,其含有的属性有:coordinate, altitude, horizontal/verticalAccuracy, timestamp, speed, course。一个CLLocation的对象代表一个由CLLocationManagers生成的位置信息,该对象包含了当前设备的位置坐标、海拔高度、测量精度以及测量时间,同时在设备移动时还会包含移动目标方位和速度。
获取CLLocation的方法:通过CLLocationManager。CLLocationManager可以作为生成位置信息的工具,使用一个CLLocationManager的实例控制传递位置和方向信息,以及控制什么时候传递事件。同时还可以获取最近的位置和方向信息。
CLLocationManager的对象支持的与方位有关的活动有:
1、以某个预设定的精度检测当前设备的位置移动;
2、对iOS,可以在指南针中报告当前设备指向方位的变化;
3、对感兴趣区间的监视,以及在设备进入该区间时发送相关事件;
4、在应用转入后台运行时推迟更新方位状态;
5、向附近beacons报告范围;
在实际应用中,用户可以设置禁止应用访问位置信息(如禁用GPS等)。在应用启动时,Core Location框架提示用户是否允许访问位置信息。如果禁止,则在调用CLLocationManager的代理方法时会返回一个错误值。利用authorizationStatus方法可以查看应用的完整授权状态。
在使用CLLocationManager 的功能时,需要做的有:
1、在启动服务之前,检测相应设备是否存在,若不存在则放弃操作;
2、创建一个CLLocationManager 实例;
3、为delegate属性指定一个目标对象,该对象必须符合 CLLocationManagerDelegate 协议;
4、设置其他相关的属性;
5、调用响应的方法开始发送相关事件;
网络质量分析器-应用发布 网络质量分析器是一款针对真实终端用户网络质量性能进行分析的 SaaS 服务。用户可以将网络质量分析器的 SDK 插件集成到App 中,实时感知所有 App 真实用户在线情况、访问互联网的网络质量情况。网络质量分析器提供从在线终端设备发起到您目标服务器的网络质量探测分析,帮助终端用户进行网络问题排查诊断。
河北稳控科技射频模块无线收发RF63U芯片应用数据传输和基建网络 发射模块的应用 发射模块在DVD/DVB音视频无线传输、婴儿监视器、工程施工现场图像监控、无线摄像安防系统、影像医疗器具、可视倒车摄像传输、无线视频玩具、无线门铃等得到广泛的应用。
jerry.yin 毕业于上海大学通信与信息工程学院,从事流媒体和视频编解码的研究与开发工作; 研究领域包括视频编解码标准、视频处理和流媒体技术、移动互联网技术等。
相关文章
- 网络流量画像(IP,主机维度)业界应用调研——time、port、size、rate、网络访问关系、IP归属、是否代理+历史异常情况(ddos常用)
- 【应用开发】在Linux下搭建嵌入式Qt交叉编译环境时的笔记(命令记录)
- 实际应用中的词向量维度使用注意
- 【快应用】视频如何根据网络状态播放和暂停
- 如何在快应用中实现标签组件
- HMS Core网络加速套件:hQUIC Kit为应用快速建立网络连接
- 《Android应用开发入门经典(第3版)》——第6.6节小结
- 《Core Data应用开发实践指南》一2.1 托管对象模型是什么
- 《黑客大曝光:移动应用安全揭秘及防护措施》一2.1 基础移动网络功能
- EDI企业订单报文系统——冷链物流管理系统——低代码的应用
- 甲基化测序技术及其在老年疾病和衰老模型中的应用
- 网络眼AHD概念及特征应用范围介绍
- 【快应用】车机快应用如何监听网络变化?
- MaxCompute在网络舆情监控系统中的应用
- 应用Tableau、Vertica的可视化大数据分析框架
- OA应用分析:机电企业如何选型OA系统
- Silverlight+WCF 实战-网络象棋最终篇之非线程阻塞倒计时窗口-应用篇(七)
- swift网络编程入门应用:天气预报
- PID控制器的应用:控制网络爬虫抓取速度
- U-Net: 卷积网络在生物医学图像分割中的应用
- 软件定义变革网络 英特尔助SDN/NFV应用落地
- ZeroMQZeroMQ研究与应用分析