Android开发,实现摇一摇功能
2013-08-06 11:43
453 查看
SensorManager对象:
常量:
int TYPE_ACCELEROMETER 加速度
int TYPE_ALL 所有类型,NexusOne默认为 加速度
int TYPE_GYROSCOPE 回转仪(这个不太懂)
int TYPE_LIGHT 光线感应
int TYPE_MAGNETIC_FIELD 磁场
int TYPE_ORIENTATION 定向(指北针)和角度
int TYPE_PRESSUR 压力计
int TYPE_PROXIMITY 距离
int TYPE_TEMPERATURE 温度啦
1. 通过getSystemService(SENSOR_SERVICE)方法获取SensorManager对象
2. 创建一个 SensorListener /*SensorEventListener* /监听器,实现 onAccuracyChanged(int sensor, int accuracy)
和onSensorChanged(int sensor, float[] values)方法
3 在onSensorChanged(int sensor, float[] values)内判断是否为“摇一摇”动作(使用常量 intTYPE_ACCELEROMETER)
4 使用 SensorManager对象的registerListener(SensorListener listener, int sensors, int rate)方法注册监听
参数sensors: 所得到的传感器类型 Sensors sensor=sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
参数rate:
SENSOR_DELAY_FASTEST 最灵敏
SENSOR_DELAY_GAME 一般(游戏)
SENSOR_DELAY_NORMAL 比较慢。
SENSOR_DELAY_UI 最慢的
5 使用 SensorManager对象的unregisterListener(SensorListener listener) 取消监听;
代码:
1. MainActivity.java
2. SecondActivity.java
常量:
int TYPE_ACCELEROMETER 加速度
int TYPE_ALL 所有类型,NexusOne默认为 加速度
int TYPE_GYROSCOPE 回转仪(这个不太懂)
int TYPE_LIGHT 光线感应
int TYPE_MAGNETIC_FIELD 磁场
int TYPE_ORIENTATION 定向(指北针)和角度
int TYPE_PRESSUR 压力计
int TYPE_PROXIMITY 距离
int TYPE_TEMPERATURE 温度啦
1. 通过getSystemService(SENSOR_SERVICE)方法获取SensorManager对象
2. 创建一个 SensorListener /*SensorEventListener* /监听器,实现 onAccuracyChanged(int sensor, int accuracy)
和onSensorChanged(int sensor, float[] values)方法
3 在onSensorChanged(int sensor, float[] values)内判断是否为“摇一摇”动作(使用常量 intTYPE_ACCELEROMETER)
4 使用 SensorManager对象的registerListener(SensorListener listener, int sensors, int rate)方法注册监听
参数sensors: 所得到的传感器类型 Sensors sensor=sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
参数rate:
SENSOR_DELAY_FASTEST 最灵敏
SENSOR_DELAY_GAME 一般(游戏)
SENSOR_DELAY_NORMAL 比较慢。
SENSOR_DELAY_UI 最慢的
5 使用 SensorManager对象的unregisterListener(SensorListener listener) 取消监听;
代码:
1. MainActivity.java
import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; public class MainActivity extends Activity { private SensorManager sensorManager = null; private SensorEventListener mListener = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); mListener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { // TODO Auto-generated method stub float[] values = event.values; float x = values[0]; //float y = values[1]; float z = values[2]; int medumValue = 15; //一般摇一摇动作是其位置在空间的X轴和Z轴上的变动 if (Math.abs(x) > medumValue /*&& Math.abs(y) > medumValue*/ && Math.abs(z) > medumValue) { Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } }; } @Override protected void onResume() { super.onResume(); //注册监听器 if(sensorManager!= null) sensorManager.registerListener(mListener, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),sensorManager.SENSOR_DELAY_GAME ); } @Override protected void onStop() { super.onStop(); //取消监听器 sensorManager.unregisterListener(mListener); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
2. SecondActivity.java
import android.app.Activity; import android.os.Bundle; public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); } }
相关文章推荐
- android开发利用传感器实现微信的摇一摇功能(zz)
- Android开发学习之摇一摇功能的简单实现
- android开发利用传感器实现微信的摇一摇功能
- Android移动开发-利用加速度传感器开发仿微信摇一摇功能的实现
- Android开发,项目中实现的摇一摇功能。使用加速度传感器SensorEventListener
- android开发利用传感器实现微信的摇一摇功能
- Android开发中一些琐碎的小功能的实现
- Android开发本地及网络Mp3音乐播放器(十三)网络音乐搜索功能实现,歌名歌手专辑名搜索
- android 蓝牙锁应用开发实例(三)蓝牙相关功能实现【第一部分】
- 和我一起开发Android应用(三)——“悦词-i背单词”词典功能实现
- [转]Android UI开发第十八篇——ActivityGroup实现tab功能 by xyz_lmn
- Android开发mapbox使用及部分功能实现
- Android开发中搜索功能的实现
- Android开发笔记之广播,service实现音乐的播放暂停停止快进等功能
- Android开发实现的导出数据库到Excel表格功能【附源码下载】
- Android开发之实现手势滑动的功能
- android应用开发揭秘之实现examples_06_01(shared preferences存储参数功能)
- android摇一摇功能实现
- 【代码】Android开发收藏功能添加的实现 (2013-08-13 11:15:24)
- 基于Android源码开发的来电接通振动功能实现