GeekBand第十周笔记

本章主要是讲述 传感器 和LBS百度地图。
一、 传感器
1、 从系统服务中获得传感器管理器

SensorManager mSensorManager=(SensorManager)getSystemService(Context.SENSOR_SERVICE);

2、 从传感器管理器中获得传感器,比如方向传感器。

  mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION)  

还可以获得其他的,如传感器列表等。

  List<Sensor> allSensors=mSensorManager.getSensorList(Sensor.TYPE_ALL);

下面是API中定义的几个代表sensor的常量。
1.TYPE_ACCELEROMETER ——-加速度传感器
2.TYPE_ALL —–所有类型
3.TYPE_GRAVITY ——重力传感器
4.TYPE_GYROSCOPE ——-陀螺仪传感器
5.TYPE_LIGHT 光线传感器
6.TYPE_LINEAR_ACCELERATION —-线性加速度传感器
7.TYPE_MAGNETIC_FIELD ——磁场传感器
8.TYPE_ORIENTATION ——方向传感器
9.TYPE_PRESSURE ——-压力计传感器
10.TYPE_PROXIMITY ——– 距离传感器
11.TYPE_ROTATION_VECTOR —–旋转矢量传感器
12.TYPE_TEMPERATURE ——–温度传感器

3、注册传感器

mSensorManager.registerListener(this,mSensor,SensorManager.SENSOR_DELAY_NORMAL);
//对应的参数:上下文对象,Sensor传感器对象, 以及传感器的延时时间的精度密度,有四个可选值: 
     /** get sensor data as fast as possible */
    public static final int SENSOR_DELAY_FASTEST = 0;//延时:0ms 
    /** rate suitable for games */
    public static final int SENSOR_DELAY_GAME = 1;//延时:20ms 
    /** rate suitable for the user interface  */
    public static final int SENSOR_DELAY_UI = 2;//延时:60ms 
    /** rate (default) suitable for screen orientation changes */
    public static final int SENSOR_DELAY_NORMAL = 3;//延时:200ms 

4、继承传感器 的监听器.

onSensorChanged:当传感器的值变化时会回调
onAccuracyChanged:当传感器的进度发生改变时会回调

public class SensorActivity extends Activity implements SensorEventListener{
    @Override
    public void onSensorChanged(SensorEvent event) {
        if(event.sensor.getType()==Sensor.TYPE_ORIENTATION){
            float degree=event.values[0];
            RotateAnimation ra=new RotateAnimation(
                    currentDegree,-degree,Animation.RELATIVE_TO_SELF,
                    0.5f,Animation.RELATIVE_TO_SELF,0.5f);
            ra.setDuration(200);
            ra.setFillAfter(true);
            mAs_image.startAnimation(ra);
            currentDegree=-degree;
        }
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {

    }
}

5、在适当的位置,注销掉传感器。

 @Override
    protected void onPause() {
        super.onPause();
        mSensorManager.unregisterListener(this);
    }

二、LBS 基于位置的服务

使用百度地图,基础地图

1.在百度地图开放平台,进入–开发–Android地图SDK

Android 地图 SDK v4.0.0
百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口。 您可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图类应用程序。

2.申请密钥
点击申请密钥,–注册成为百度的开发者。
注册成功后,进入应用列表,创建应用。

  需要,包名,应用名, SHA1 ,就是Android签名证书的sha1值
 Windows,运行输入 cmd,进入控制台,按照它的步骤完成操作。获取到 SHA1值。

安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。 SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要,(但会有1x10 ^ 48分之一的机率出现相同的消息摘要,一般使用时忽略)。

申请key
Key的申请地址为:http://lbsyun.baidu.com/apiconsole/key
注意:
a. 每个Key唯一对应一个APP,如果您的APP修改了包名或者发布的时候打包的签名文件改变了,则改变前后的APP被视为两个APP。因此,多个APP【包括一份代码多个包名打包】需申请多个与之对应的Key;
b. 在同一个工程中同时使用百度地图SDK、定位SDK、导航SDK 和全景SDK的全部或者任何组合,可以共用同一个key;
c. 如果您在Android SDK开发过程中使用了LBS云服务(如LBS云检索功能),则需要为该服务单独申请一个“服务端”类型的key,代码中调用LBS云服务接口时使用此key即可,注意:此key一定要和AndroidManifest.xml中配置API_KEY的key区分开;
d. Android SDK自v2.1.3版本开始采用了全新的Key验证体系,v2.1.3之前的版本不再维护,如果升级到新版本SDK(v2.1.3及之后的版本)时需要在API控制台重新申请key进行替换。

3.完成后,得到应用AK。 点击进入开发者指南,浏览相关信息。

4.进入重要的下载步骤。选择并下载相应功能的开发资源:

百度LBS Android SDK下载中心包含了Android SDK全部功能的开发包,您可以结合自身需求,自定义选择业务功能,进行打包下载。

开发包是我们要下载的用来开发应用,示例代码和类参考也可以下载学习。

5.学习怎么使用,配置,权限,
a.将你解压的所有文件放到libs文件夹下
b. 在buid.gradle(Module:app) 内,一定要在android{}内添加

 sourceSets{
        main{
            jniLibs.srcDirs=['libs']
        }
    }

接下来具体的使用,遵循下方网址步骤。
网址:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/hellobaidumap

使用百度定位

如没有下载相应SDK资源,进入相关下载里面下载。

1.配置环境
http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/buildprojec
2.获取定位
http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/getloc

注意:每次新版本的定位SDK,开发者除了要更新JAR包之外,也要注意一下SO有无更新,如果SO名称不一样了,也要及时替换老的SO版本,不然会导致定位失败!

学会怎么接入一个第三方的SDK。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值