《Android编程之加速度传感器.ppt》由会员分享,可在线阅读,更多相关《Android编程之加速度传感器.ppt(11页珍藏版)》请在三一文库上搜索。
1、Android编程,加速度传感器使用,2019/6/2,2011013077 段道兵 软件111班,传感器管理器获取,1)Android所有的传感器都归传感器管理器 SensorManager 管理,获取传感器管理器的方法: String service_name = Context.SENSOR_SERVICE; SensorManager sensorManager = (SensorManager)getSystemService(service_name);,2019/6/2,2011013077 段道兵 软件111班,获取特定传感器,2)从传感器管理器中获取其中某个或者某些传感器的方
2、法有如下三种: 第一种:获取某种传感器的默认传感器 Sensor defaultGyroscope = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);,2019/6/2,2011013077 段道兵 软件111班,获取特定传感器,2)从传感器管理器中获取其中某个或者某些传感器的方法有如下三种: 第二种:获取某种传感器的列表 List pressureSensors = sensorManager.getSensorList(Sensor.TYPE_PRESSURE);,2019/6/2,2011013077 段道兵 软件111班,获
3、取特定传感器,2)从传感器管理器中获取其中某个或者某些传感器的方法有如下三种: 第三种:获取所有传感器的列表 List allSensors = sensorManager.getSensorList(Sensor.TYPE_ALL);,2019/6/2,2011013077 段道兵 软件111班,定义传感器监听器并安装,3)定义传感器监听器,用于监听传感器,如: SensorEventListener acceleromererListener = new SensorEventListener() Override public void onAccuracyChanged(Sensor
4、sensor, int accuracy) /传感器精度的改变 / TODO something ,2019/6/2,2011013077 段道兵 软件111班,定义传感器监听器并安装,3)定义传感器监听器,用于监听传感器,如: Override public void onSensorChanged(SensorEvent event) / 传感器数据变动事件 / TODO something ,2019/6/2,2011013077 段道兵 软件111班,获取传感器信息,4)对于某一个传感器,它的一些具体信息的获取方法可以见下表:,2019/6/2,2011013077 段道兵 软件111
5、班,传感器状态判断,5)根据传感器的状态的变化判断出用户的操作,如:在使用加速度传感器时可以通过传感器数值判断手机是否在摇晃: a.记录acceleromererSensor的三个参数x、y、z; b.每个100毫秒检测一次:看是不是刚开始晃动,是则记录开始事件,否则记录每次晃动幅度;,2019/6/2,2011013077 段道兵 软件111班,传感器状态判断,5)根据传感器的状态的变化判断出用户的操作,如:在使用加速度传感器时可以通过传感器数值判断手机是否在摇晃: c.把每次的晃动幅度相加,得到总体晃动幅度 d.根据摇动幅度判断是否为用户的刻意操作,是则执行对应事件,否则返回is,2019/6/2,2011013077 段道兵 软件111班,Thanks,2019/6/2,2011013077 段道兵 软件111班,