Android笔记(十八)加速度传感器
2015-09-06 10:45
519 查看
一、加速度传感器用法
加速度传感器输出的信息存放在 SensorEvent 的 values 数组中, values 数组中有三个值,分别代表手机在 X 轴、Y 轴和 Z 轴方向上的加速度信息。
手机的宽是X轴,长是Y轴,垂直于手机屏幕的是Z轴,需要注意的是,地球上的任何物体都有重力加速度,计算的时候不要忘记。
二、模仿微信摇一摇
由于重力加速度的存在,即使手机在静止的情况下,某一个轴上的加速度也有可能达到9.8m/s2,因此这个预定值必定是要大于 9.8m/s2的,这里我们就设定为 15m/s2。
加速度传感器输出的信息存放在 SensorEvent 的 values 数组中, values 数组中有三个值,分别代表手机在 X 轴、Y 轴和 Z 轴方向上的加速度信息。
手机的宽是X轴,长是Y轴,垂直于手机屏幕的是Z轴,需要注意的是,地球上的任何物体都有重力加速度,计算的时候不要忘记。
二、模仿微信摇一摇
由于重力加速度的存在,即使手机在静止的情况下,某一个轴上的加速度也有可能达到9.8m/s2,因此这个预定值必定是要大于 9.8m/s2的,这里我们就设定为 15m/s2。
public class MainActivity extends ActionBarActivity { private SensorManager sensorManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); Sensor sensor = sensorManager .getDefaultSensor(Sensor.TYPE_ACCELEROMETER); sensorManager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL); } @Override protected void onDestroy() { super.onDestroy(); if (sensorManager != null) { sensorManager.unregisterListener(listener); } } private SensorEventListener listener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { float xValue = Math.abs(event.values[0]); float yValue = Math.abs(event.values[1]); float zValue = Math.abs(event.values[2]); if (xValue > 15 || yValue > 15 || zValue > 15) { Toast.makeText(MainActivity.this, "摇一摇", Toast.LENGTH_SHORT) .show(); } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } }; }
相关文章推荐
- Android-getWritableDatabase()与getReadableDatabase()
- Android实例-程序界面内截取屏幕(XE8+小米2)
- Android的activity学习笔记
- Android studio删除项目
- Android实用代码七段(五)
- Android Studio快捷键-mac版
- xutils保存cookie
- Android Studio上的几个插件介绍
- Android SDK开发包国内下载地址
- Android两次后退键退出
- 史上最详细的Android Studio系列教程五--Gradle命令详解与导入第三方包
- 史上最详细的Android Studio系列教程四--Gradle基础
- 下载Android 源码
- 史上最详细的Android Studio系列教程三--快捷键
- android-----三种方式(sax、pull、dom)解析xml文件
- 史上最详细的Android Studio系列教程二--基本设置与运行
- android MVP框架
- android MVP框架
- android MVP框架
- android下m、mm、mmm编译命令的使用