传感器

编程技术  /  houtizong 发布于 3年前   167

android传感器的作用主要就是来获取数据,根据得到的数据来触发某种事件

 

下面就以重力传感器为例;

 

1,在onCreate中获得传感器服务

 

private SensorManager sm;// 获得系统的服务private Sensor sensor;// 创建传感器实例@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);// 获得传感器,//通过服务得到传感器管理对象sm = (SensorManager) getSystemService(SENSOR_SERVICE);// 获得默认的传感器sensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);// TYPE_ACCELEROMETER 加速度传感器(重力传感器)类型。// TYPE_ALL 描述所有类型的传感器。// TYPE_GYROSCOPE 陀螺仪传感器类型// TYPE_LIGHT 光传感器类型// TYPE_MAGNETIC_FIELD 恒定磁场传感器类型。// TYPE_ORIENTATION 方向传感器类型。// TYPE_PRESSURE 描述一个恒定的压力传感器类型// TYPE_PROXIMITY 距离(临近性)传感器// TYPE_TEMPERATURE 温度传感器类型描述}

 

2,当界面显示的时候注册传感器

@Overrideprotected void onResume() {super.onResume();// 当界面显示时,注册注册传感器// 第一个参数是传感器监听器,第二个是需要监听的传感实例// 最后一个参数是监听的传感器速率类型: 一共一下四种形式// SENSOR_DELAY_NORMAL 正常// SENSOR_DELAY_UI 适合界面// SENSOR_DELAY_GAME 适合游戏// SENSOR_DELAY_FASTEST 最快sm.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL);}

 

3,当界面消失的时候关闭传感器

@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();// 关闭传感器sm.unregisterListener(this);}

 

 

4,监听传感器的数据改变  implements SensorEventListener{}

 

@Override// 传感器获取值发生改变时获取值public void onSensorChanged(SensorEvent event) {float x, y;// TODO Auto-generated method stub// 获取手机的坐标值x = event.values[0];// x轴y = event.values[1];// y轴//z = event.values[2];// z轴// Log.i("event", "onSensorChanged:" + event + "<><>x :<> " + x// + "<><>y:<>" + y);// 判断传感器的方向if (x < -2 && x > -10) {System.out.println("向上");} else if (x > 2 && x < 10) {System.out.println("向下");} else if (y < -2 && y > -10) {System.out.println("向左");} else if (y > 2 && y < 10) {System.out.println("向右");}}@Override// 传感器的精度发生改变时响应此函数public void onAccuracyChanged(Sensor sensor, int accuracy) {// TODO Auto-generated method stub// Log.i("event", "onAccuracyChanged:" + sensor + "<><><><>" +// accuracy);}

 

 

其他传感器的使用方式和上述的相似 ,只是获取的传感器不同,监听器中的event.values[0];代表的值不同

 

 

 

 

 

上一篇:android 网络

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客