geekband android #5 第十周分享(传感器)

1.传感器的几个概念:

什么是传感器?

通过手机来感受温度,湿度,重力,方向,光线等传感方式。

手机上那些地方运用了传感器?

传感器在手机上广泛的应用,如游戏,微信摇一摇,心率计,计步器等等。

常用的传感器有那些?

SENSOR_TYPE_ACCELEROMETER                 //加速度

SENSOR_TYPE_MAGNETIC_FIRLD                 //磁力

SENSOR_TYPE_ORIENTATION                         //方向

SENSOR_TYPE_GYROSCOPE                         //陀螺仪

SENSOR_TYPE_LIGHT                                         //光线感应

SENSOR_TYPE_PRESSURE                                 //压力

SENSOR_TYPE_TEMPERATURE                         //温度

SENSOR_TYPE_PROXIMITY                                 //接近

SENSOR_TYPE_GRAVITY                                 //重力

SENSOR_TYPE_LINEAR_ACCELERATION         //线性加速度

SENSOR_TYPE_ROTATION_VECTOR                 //旋转矢量



2.如何使用传感器:


//第一步,获取SensorManager对象
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

//第二部,获取传感器对象
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);

@Override
//第三步,在onResume时注册
protected void onResume() {
    super.onResume();
    mSensorManager.registerListener(this , mSensor ,SensorManager.SENSOR_DELAY_UI);
}
 
   
 
   
//第四步,重写onSensorChanged,onAccuracyChanged两个方法
@Override
public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_ORIENTATION){    //判断使用哪一种传感方式
        float degree = - event.values[0];

        RotateAnimation rotateAnimation = new RotateAnimation(    //使用一个旋转动画RotateAnimation
                mStartDegree, degree , Animation.RELATIVE_TO_SELF, 0.5f , Animation.RELATIVE_TO_SELF , 0.5f
        );
        rotateAnimation.setDuration(300);    //给一个旋转持续时间
        mImageView.startAnimation(rotateAnimation);
        mStartDegree = degree;
    }
}

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

}

 
   
@Override
//第五步,在onPause时注销
protected void onPause() {
    super.onPause();
    mSensorManager.unregisterListener(this);
}

 
   



3.关于LBS的几个概念:

什么是LBS?

它是一种基于位置的服务。

那些地方用到了LBS?

微信,QQ,陌陌,饿了吗,美团,携程,去哪儿网等等。

主要使用在那些方面?

签到,定位,导航,周边的生活服务,社交等等。


4.LBS使用方法:

a、到百度地图申请新版本的key,老版本的也可以使用。

http://developer.baidu.com/map/geosdk-android-key.htm

b、在manifes中添加权限,具体参考
 
   
   

   
   
   
   

在manifest中添加定位所需要的service
          android:name="com.baidu.location.f"
        android:enabled="true"
        android:process=":remote" >
   

在application标签中添加你锁申请的key

            android:name="com.baidu.lbsapi.API_KEY"
            android:value="15xihyx7BjNPAuvrAgade2Wo" />

c、在Activity中代码的实现,具体参考
http://blog.csdn.net/xiaanming/article/details/11380619






你可能感兴趣的:(geekband分享)