(原创)安卓传感器入门介绍

从Android1.5开始,系统内置了对多达八种传感器的支持,他们分别是:加速度传感器(accelerometer)、陀螺仪(gyroscope)、环境光照传感器(light)、磁力传感器(magneticfield)、方向传感器(orientation)、压力传感器(pressure)、距离传感器(proximity)和温度传感器(temperature)。这次就来简单介绍一下基本的传感器用法

1传感器的类型获取

 
//获取系统传感器类型  SensorManager sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);  //获得传感器类型列表  //List<Sensor> sensorList = sm.getSensorList(Sensor.TYPE_ALL);

2获取指定的传感器

这里需要注意,不同的手机传感器不一定一样,有的手机(比如我的)就没有温度传感器
 
//获取指定某一个传感器,如下面的加速度传感器  Sensor sensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

3传感器的监听,一共有三个参数

第一个参数为监听,第二个是刚才获取到的传感器对象,第三个可以认为是敏感度
监听方法里第一个用来执行相关操作
具体有这么几个可选的:
SENSOR_DELAY_FASTEST ,0微秒 	最低延迟,可能造成手机电量大量消耗,不建议使用
SENSOR_DELAY_GAME ,20000微秒    一般用于游戏开发
SENSOR_DELAY_NORMAL ,2000000微秒	默认
SENSOR_DELAY_UI,60000微秒	更新UI建议使用这个
 
//注册传感器的监听器  sm.registerListener(new SensorEventListener() { /**  * 传感器数据变化时调用  * @param sensorEvent  */  @Override  public void onSensorChanged(SensorEvent sensorEvent) { //获得传感器的三个坐标  float x = sensorEvent.values[0];  float y = sensorEvent.values[1];  float z = sensorEvent.values[2]; // textView.setText("x="+x+"--->y="+y+"---->z="+z);  if (Math.abs(x) + Math.abs(y) + Math.abs(z) > value && flag == false) { //监听摇一摇  textView.setVisibility(View.INVISIBLE);  flag = !flag;  } } /**  * 获取精度的变化  * @param sensor  * @param i  */  @Override  public void onAccuracyChanged(Sensor sensor, int i) { } }, sensor, SensorManager.SENSOR_DELAY_NORMAL);

简单的使用就分享到这里,一般游戏开发和摇一摇都要用到传感器,建议大家可以深入研究

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值