android 摇一摇
来源:互联网 发布:阿里云二级域名注册 编辑:程序博客网 时间:2024/05/18 00:38
概要:
SensorManager:用来获取手机中的适配器,如果没有相关硬件的话,会返回空对象,一般用 Context.getSystemService(SENSOR_SERVICE)来进行实例化。常用方法可到http://www.android-doc.com/reference/android/hardware/SensorManager.html进行查询
Sensor
:用来获取要用何种适配器,api:http://www.android-doc.com/reference/android/hardware/Sensor.html
SensorEventListener
:适配器的相关事件,要来进行监听。
该功能主要用到的类及方法,还包括其它的不一一细讲。
创建路线:
一:创建SensorManager,SensorEventListener 二:实例化方法,通过 manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 及实例化接口 三:取消绑定
如下所示,实例化一个SensorManager,并判断是否为空
public void registerEvent(){ manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); if (manager != null) { sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); } if (sensor != null) { manager.registerListener(sensorListener, sensor, SensorManager.SENSOR_DELAY_GAME); } }
二,注册监听事件
sensorListener=new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { // TODO Auto-generated method stub long currentUpdateTime = System.currentTimeMillis(); long timeInterval = currentUpdateTime - lastUpdateTime; if (timeInterval < UPTATE_INTERVAL_TIME) return; lastUpdateTime = currentUpdateTime; float x = event.values[0]; float y = event.values[1]; float z = event.values[2]; float deltaX = x - lastX; float deltaY = y - lastY; float deltaZ = z - lastZ; lastX = x; lastY = y; lastZ = z; double speed = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ) / timeInterval * 10000; if (speed >= SPEED_SHRESHOLD) { initAnimation(); }
至于取消看是否需求需要,我们可以通过SensorManager
中的方法进行解绑:
sensorManager.unregisterListener(this);
大致的实现思路如上所示:
代码链接:
http://download.csdn.net/detail/ooiuy450/9398542
0 0
- Android摇一摇
- Android摇一摇
- Android摇一摇
- android摇一摇
- android 摇一摇
- Android 摇一摇
- android传感器摇一摇功能
- Android——摇一摇
- Android——摇一摇
- android “摇一摇” 代码实现
- android “摇一摇” 代码实现
- Android开发---摇一摇功能
- android-摇一摇实例
- Android——摇一摇
- Android实现摇一摇
- android实现摇一摇功能
- android摇一摇服务
- Android 摇一摇终极解决方案
- POJ 1003 Hangover 水题一道 练习C++编程
- 搭建selenium grid,调用IE进行web自动化测试
- Java如何编写链表程序
- 黑马程序员——数组篇
- 彻底解决 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- android 摇一摇
- C++学习笔记42——重载操作符之箭头操作符
- 获取屏幕高度和宽度 的方法
- HDU2825 Wireless Password
- ubuntu add-apt-repository command not found解决方法
- numpy的安装
- crazyflie-firmware_数据接收流程
- 离散数学2 ____ 命题公式的等值运算__常用的命题定律表
- Android之极光推送发送自定义消息