`

android 利用重力感应监测手机摇晃,做出相应反应

阅读更多
这个是利用手机摇晃,做出一定反应。具体功能自己开发
package com.ray.test;

import android.R.integer;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorListener;
import android.hardware.SensorManager;
import android.os.Bundle;

public class SensorTest extends Activity implements SensorListener{
// private SensorManager sensorMgr;  

//     Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 

      private float x, y, z,last_x,last_y,last_z;  
      private long lastUpdate;

     protected void onCreate(Bundle savedInstanceState) {  

           super.onCreate(savedInstanceState);  
           setContentView(R.layout.main);

           SensorManager sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);  
           Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
           sensorMgr.registerListener(this, SensorManager.SENSOR_ACCELEROMETER,
           SensorManager.SENSOR_DELAY_GAME);
     }

public void onAccuracyChanged(int sensor, int accuracy) {
// TODO Auto-generated method stub

}

private static final int SHAKE_THRESHOLD = 5000;
//这个控制精度,越小表示反应越灵敏

public void onSensorChanged(int sensor, float[] values) {
// TODO Auto-generated method stub
if(sensor == SensorManager.SENSOR_ACCELEROMETER){
long curTime = System.currentTimeMillis();
//每100毫秒检测一次
if((curTime-lastUpdate)>100){
long diffTime = (curTime-lastUpdate);
lastUpdate = curTime;

x = values[SensorManager.DATA_X];  

                y = values[SensorManager.DATA_Y];  

                z = values[SensorManager.DATA_Z]; 
                float speed = Math.abs(x+y+z-last_x-last_y-last_z)/diffTime*10000;
                if(speed>SHAKE_THRESHOLD){
                        //这里写上自己的功能代码
                setTitle("x="+(int)x+","+"y="+(int)y+","+"z="+(int)z); 
                }
                last_x = x;
                last_y = y;
                last_z = z;
}
}  
}
}
分享到:
评论

相关推荐

    android 利用重力感应监听

    总的来说,利用Android的重力感应监听功能,可以实现各种创新的应用场景,如游戏控制、健康监测等。开发者需要熟悉SensorManager、SensorEventListener以及相关的传感器类型,同时考虑性能和用户体验来优化代码。

    Android 利用重力感应调整手机模式

    以上就是利用Android重力感应器调整手机模式的基本流程。在项目中,你可以根据具体需求进行优化,例如添加动画效果、设定更精确的朝向判断条件等。通过`ChangePhoneMode`这样的程序,我们可以让移动设备更加智能地...

    android_利用重力感应检测摇晃手机的速度.doc

    总的来说,这个文档提供了一个基础的示例,展示了如何利用Android的重力感应器来检测手机的摇晃速度,并根据速度判断是否执行特定的操作。通过这个技术,开发者可以创建出更加互动和有趣的移动应用,如音乐播放器、...

    android关闭重力感应

    android系统里面常常没用做关闭重力感应的软件。。。。。o(∩_∩)o 哈哈

    android_重力感应demo

    在Android平台上,重力感应是通过传感器服务(Sensor Service)来实现的,它允许开发者获取设备的物理运动数据,如重力、加速度等。这个"android_重力感应demo"是一个示例项目,旨在帮助初学者理解如何从设备获取并...

    Android手机平台重力感应Demo

    这个"Android手机平台重力感应Demo"是一个示例项目,用于演示如何在Android应用中利用重力感应器的数据。以下是关于这个Demo及其相关知识点的详细说明: 1. **Android传感器系统**:Android系统提供了丰富的传感器...

    Android重力感应Demo

    在本"Android重力感应Demo"中,我们将深入探讨如何利用Android SDK中的Sensor类和SensorEventListener接口来实现对重力感应数据的监听和处理。 首先,我们需要了解Android的Sensor框架。Android系统提供了多种...

    Android手机平台重力感应SensorDemo

    总之,`Android手机平台重力感应SensorDemo`是一个很好的学习资源,它教你如何利用Android SDK来捕捉和解析重力感应器数据,这对于开发涉及运动检测、游戏控制或其他依赖设备位置变化的应用至关重要。通过深入研究`...

    android之重力感应

    在Android开发中,重力感应是一项重要的功能,它允许应用程序响应设备的移动和方向变化,为游戏、健康应用、导航等场景提供了丰富的交互体验。本文将深入探讨Android中的重力感应技术,包括基本原理、API使用以及...

    Android 小球重力感应 代码

    在Android平台上,开发一款利用重力感应功能的小球游戏是一个常见的练习项目,它能帮助开发者更好地理解和掌握Android传感器API的使用。在这个项目中,我们将会探讨如何通过Android系统的加速度计来实现小球的动态...

    Android重力感应实例

    这个"Android重力感应实例"可能是为了展示如何利用Android SDK中的传感器API来开发一个控制小车的应用。下面将详细阐述Android重力感应的工作原理、相关API以及如何在实际开发中应用。 一、Android重力感应工作原理...

    Android 重力感应游戏-疯狂的小球源码程序

    Android 重力感应游戏-疯狂的小球源码程序,基于Android 平台的重力感应游戏-疯狂的小球。

    Android手机重力感应控制WIFI智能小车 Beta_Bulid04_2.3.3

    Android手机重力感应控制WIFI智能小车 Beta_Bulid03_2.3.3 修正左右转不灵活BUG,增加重力感应模式下隐藏按钮。

    android重力感应源代码

    总的来说,Android的重力感应功能通过Sensor框架提供,开发者通过实现`SensorEventListener`并注册相应的传感器,可以获取到设备的重力数据,从而实现各种有趣的应用场景。理解并熟练掌握这部分源代码,对于开发与...

    Android 重力感应游戏-疯狂的小球

    在Android平台上,重力感应游戏是一种利用设备内置的传感器来响应用户移动或旋转设备的方式,为玩家带来沉浸式的游戏体验。"疯狂的小球"作为一款这样的游戏,它充分展现了Android平台上的重力感应技术。下面将详细...

    Android手机重力感应遥控智能小车机器人源码

    在本项目中,"Android手机重力感应遥控智能小车机器人源码" 是一个利用Android设备的重力感应传感器来远程控制智能小车的软件应用。这个应用的核心是通过读取手机内置的加速度计(Accelerometer)数据,将用户的手机...

    Android重力感应示例(源码)

    在Android开发中,重力感应是一项重要的功能,它允许应用程序响应设备的移动和方向变化。...通过理解并实践"Android重力感应示例(源码)",你将能够自如地利用这一功能,提升应用的交互性和实用性。

    android重力感应实例代码

    在Android平台上,重力感应功能是通过利用内置的传感器来实现的,这些传感器通常被称为“重力传感器”或“加速度计”。这个“android重力感应实例代码”提供了一个具体的示例,帮助开发者理解如何在Android应用中...

    Android小球重力感应源码

    在Android开发中,实现小球随手机重力感应滚动的效果是一项常见的练习,它涉及到传感器(Sensor)、游戏物理引擎以及视图更新等多个技术点。这个"Android小球重力感应源码"项目很可能是为了帮助开发者理解如何将手机的...

    Unity Android版重力感应小球

    在"Unity Android版重力感应小球"项目中,开发者利用Unity3D的特性构建了一个移动设备上的游戏,玩家可以通过设备的重力感应器来控制小球的移动。以下是对该项目涉及的关键技术点的详细解释: 1. **Unity3D**:...

Global site tag (gtag.js) - Google Analytics