Android编程之加速度传感器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android编程之加速度传感器
» 1)Android所有的传感器都归传感器管理器 SensorManager 管理,获取传感器管理器的 方法: String service_name = Context.SENSOR_SERVICE; SensorManager sensorManager = (SensorManager)getSystemService(service_na me);
2019013077 段道兵 软件111班
2021/3/13
» 2)从传感器管理器中获取其中某个或者某些 传感器的方法有如下三种:
» 第一种:获取某种传感器的默认传感器 » Sensor defaultGyroscope =
sensorManager.getDefaultSensor(Sensor.TYPE_ GYROSCOPE);
2019013077 段道兵 软件111班
2021/3/13
» 3)定义传感器监听器,用于监听传感器,如:
» SensorEventListener acceleromererListener = new SensorEventListener(){
» Override
» public void onAccuracyChanged(Sensor sensor, int acBiblioteka Baiduuracy) {//传感器精度的改变
»
c.把每次的晃动幅度相加,得到总体晃
动幅度
»
d.根据摇动幅度判断是否为用户的刻意
操作,是则执行对应事件,否则返回is
2021/3/13
2019013077 段道兵 软件111班
2019013077 段道兵 软件111班
2021/3/13
» 2)从传感器管理器中获取其中某个或者某些 传感器的方法有如下三种:
» 第二种:获取某种传感器的列表 » List<Sensor> pressureSensors =
sensorManager.getSensorList(Sensor.TYPE_PRES SURE);
2019013077 段道兵 软件111班
2021/3/13
» 2)从传感器管理器中获取其中某个或者某些 传感器的方法有如下三种:
» 第三种:获取所有传感器的列表 » List<Sensor> allSensors =
sensorManager.getSensorList(Sensor.TYPE_ALL);
»
// TODO something }
2021/3/13
2019013077 段道兵 软件111班
» 3)定义传感器监听器,用于监听传感器,如:
» Override
» public void onSensorChanged(SensorEvent event) {// 传感器数据变动事件
»
// TODO something }
»}
2021/3/13
2019013077 段道兵 软件111班
» 4)对于某一个传感器,它的一些具体信息的 获取方法可以见下表:
2019013077 段道兵 软件111班
2021/3/13
» 5)根据传感器的状态的变化判断出用户的操 作,如:在使用加速度传感器时可以通过传 感器数值判断手机是否在摇晃:
»
a.记录acceleromererSensor的三个参数x、
y、z;
»
b.每个100毫秒检测一次:看是不是刚
开始晃动,是则记录开始事件,否则记录每
次晃动幅度;
2021/3/13
2019013077 段道兵 软件111班
» 5)根据传感器的状态的变化判断出用户的操 作,如:在使用加速度传感器时可以通过传 感器数值判断手机是否在摇晃:
» 1)Android所有的传感器都归传感器管理器 SensorManager 管理,获取传感器管理器的 方法: String service_name = Context.SENSOR_SERVICE; SensorManager sensorManager = (SensorManager)getSystemService(service_na me);
2019013077 段道兵 软件111班
2021/3/13
» 2)从传感器管理器中获取其中某个或者某些 传感器的方法有如下三种:
» 第一种:获取某种传感器的默认传感器 » Sensor defaultGyroscope =
sensorManager.getDefaultSensor(Sensor.TYPE_ GYROSCOPE);
2019013077 段道兵 软件111班
2021/3/13
» 3)定义传感器监听器,用于监听传感器,如:
» SensorEventListener acceleromererListener = new SensorEventListener(){
» Override
» public void onAccuracyChanged(Sensor sensor, int acBiblioteka Baiduuracy) {//传感器精度的改变
»
c.把每次的晃动幅度相加,得到总体晃
动幅度
»
d.根据摇动幅度判断是否为用户的刻意
操作,是则执行对应事件,否则返回is
2021/3/13
2019013077 段道兵 软件111班
2019013077 段道兵 软件111班
2021/3/13
» 2)从传感器管理器中获取其中某个或者某些 传感器的方法有如下三种:
» 第二种:获取某种传感器的列表 » List<Sensor> pressureSensors =
sensorManager.getSensorList(Sensor.TYPE_PRES SURE);
2019013077 段道兵 软件111班
2021/3/13
» 2)从传感器管理器中获取其中某个或者某些 传感器的方法有如下三种:
» 第三种:获取所有传感器的列表 » List<Sensor> allSensors =
sensorManager.getSensorList(Sensor.TYPE_ALL);
»
// TODO something }
2021/3/13
2019013077 段道兵 软件111班
» 3)定义传感器监听器,用于监听传感器,如:
» Override
» public void onSensorChanged(SensorEvent event) {// 传感器数据变动事件
»
// TODO something }
»}
2021/3/13
2019013077 段道兵 软件111班
» 4)对于某一个传感器,它的一些具体信息的 获取方法可以见下表:
2019013077 段道兵 软件111班
2021/3/13
» 5)根据传感器的状态的变化判断出用户的操 作,如:在使用加速度传感器时可以通过传 感器数值判断手机是否在摇晃:
»
a.记录acceleromererSensor的三个参数x、
y、z;
»
b.每个100毫秒检测一次:看是不是刚
开始晃动,是则记录开始事件,否则记录每
次晃动幅度;
2021/3/13
2019013077 段道兵 软件111班
» 5)根据传感器的状态的变化判断出用户的操 作,如:在使用加速度传感器时可以通过传 感器数值判断手机是否在摇晃: