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中添加权限,具体参考
 <!-- 使用定位所需权限 -->
    <permission Android:name="android.permission.BAIDU_LOCATION_SERVICE" >
    </permission>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

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

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

<meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="15xihyx7BjNPAuvrAgade2Wo" />

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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值