`
v5browser
  • 浏览: 1137158 次
社区版块
存档分类
最新评论

IOS的同步和异步,定位服务,常用功能使用,传感器

 
阅读更多

1、IOS中的同步和异步

分别有Get和POST两个发送方式

同步:NSData*received=[NSURLConnectionsendSynchronousRequest:requestreturningResponse:nilerror:nil];

NSString*str=[[NSStringalloc]initWithData:receivedencoding:NSUTF8StringEncoding];

异步:NSURLConnection*connection=[[NSURLConnectionalloc]initWithRequest:requestdelegate:self];

2、异步下载方法

(1)设置按钮

(2)获取地址

(3)构建NSURL

(4)构建Request响应

(5)定义一个全局的可变的数据NSMutableData,并且实例化

(6)建立连接NSURLConnection

(7)连接失败时调用一个方法

(8)接收数据调用一个方法appendData:data;

(9)数据全部加载完成时调用一个完成的方法:里面写下载的路径(沙盒),然后判断是否保存成功。

3、上传图片

必须按照格式一步一步写。

(1)导入四个包:CFNetwork.framework;SystemConfiguration.framework;MobileCoreService.framework;Libz.1.2.5.dylib

(2)定义请求的URL地址

(3)获取图片的信息和数据

(4)构建响应请求

(5)分别写响应请求的设置代理,设置响应的方法,增加数据,当成功后触发的事件,失败后触发的事件

4、iOS定位服务

iOS中有三个定位服务组件

Wifi定位,通过查询一个Wifi路由器的地理位置的信息。比较省电,iPodtouch和iPad也可以采用。

蜂窝基站定位,通过移动运用商基站定位。也适合有3G版本的iPodtouch和iPad。

GPS卫星定位,通过3-4颗GPS定位位置定位,最为准确,但是耗电量大,不能遮挡。

注意:要在Xcode中添加“CoreLocation.framework”存在的框架

步骤:

(1)定义全局的有:定位系统管理类;经度文本框;纬度文本框

(2)实现CLLocationManagerDelegate代理

(3)导包CoreLocation.framework

(4)加载实例化系统管理类、设置代理、设置定位范围、定位精度、开始定位

(5)卸载时停止定位

(6)写获取当前的位置

(7)将坐标转化为地址然后判断如没有错误并且内容大于0,输出

5、地图概述

iOS应用程序中使用MapKitAPI开发地图应用程序

其核心是MKMapView类使用。

6、设定地图模式及显示当前位置

//设置委托

self.mapView.delegate=self;

//是否显示用户位置

self.mapView.showsUserLocation=YES;

//设置模式

self.mapView.mapType=MKMapTypeStandard;

iOS提供了三种风格的地图:

MKMapTypeStandard标准地图模式

MKMapTypeSatellite卫星地图模式

MKMapTypeHybrid具有街道等信息的卫星地图模式

7、在地图上添加标注

仍上图中,我们看刡用户弼前位置标注为一个蓝色的点,但是我们想更改为一个图针。根据iOS开収指导,如要在地图上显示一个标注,App应该提供如下2个对象:

一个遵守MKAnnotation协议,幵管理标注数据的对象;

一个继承自MKAnnotationView类的规图,用来在地图上可规化显示标注;

annotationView.canShowCallout=YES;指定标注上的插图,点击图钉有气泡显示。

annotationView.pinColor设置图钉的颜色。

annotationView.animatesDrop动画效果。

8、iOS常用功能使用

打电话、发短信、发邮件、打开网页

//定义消息对象

-(IBAction)phone

{

[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"tel://10010"]];

//打电话

}

-(IBAction)sms

{

[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"sms://10010"]];

//发短信

}

UILocalNotification*notification=[[UILocalNotificationalloc]init];

//判断是否为空

if(notification!=nil){

//设置时间

NSDate*now=[NSDatenew];

//推迟事件10秒钟以后执行

notification.fireDate=[nowaddTimeInterval:10];

//设置时区

notification.timeZone=[NSTimeZonedefaultTimeZone];

//设置角标

notification.applicationIconBadgeNumber=1;

//通知内容

notification.alertBody=@"河软CSDN乐知学院欢迎您!";

//发送通知

[[UIApplicationsharedApplication]scheduleLocalNotification:notification];

9、iOS传感器

1)影像传感器

2)亮度传感器

3)磁阻传感器

4)近接传感器

5)近接传感器

6)加速度传感器

7)角加速度传感器

10、CoreMotion框架

CoreMotion框架包含有一个专门的Manager类,CMMotionManager

CoreMotion在iOS4.0主要负责三种数据:加速度值,陀螺仪值,设备motion值。实际上,这个设备motion值就是通过加速度和旋转速度进行fusing变换算出来的。


1)初始化CoreMotion;


2)判断设备是否可用;


3)Accelerometer获取手机加速度数据


4)Gravity获取手机的重力值在各个方向上的分量,根据这个就可以获得手机的空间位置,倾斜角度等



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics