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

1、IOS中的同步和异步

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

同步:NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

NSString *str = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];

异步:NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate: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路由器的地理位置的信息。比较省电,iPod touch和iPad也可以采用。

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

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

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

步骤:

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

(2)实现CLLocationManagerDelegate代理

(3)导包CoreLocation.framework

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

(5)卸载时停止定位

(6)写获取当前的位置

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

5、地图概述

iOS应用程序中使用Map Kit API开发地图应用程序

其核心是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

{

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];

   //打电话

}

- (IBAction) sms

{

    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10010"]];

   //发短信

}

    UILocalNotification *notification=[[UILocalNotification alloc] init];

    //判断是否为空

    if (notification!=nil) {

        //设置时间

        NSDate *now=[NSDate new];

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

        notification.fireDate=[now addTimeInterval:10];

        //设置时区

        notification.timeZone=[NSTimeZone defaultTimeZone];

        //设置角标

        notification.applicationIconBadgeNumber = 1;

        //通知内容

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

        //发送通知

        [[UIApplication sharedApplication]   scheduleLocalNotification:notification];

9、iOS传感器

1)影像传感器

2)亮度传感器

3)磁阻传感器

4)近接传感器

5)近接传感器

6)加速度传感器

7)角加速度传感器

10、CoreMotion框架

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

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


1)初始化CoreMotion;


2)判断设备是否可用;


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


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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值