`
java-admin
  • 浏览: 1386979 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

Android重力感应器Sensor编程

阅读更多
添加当重力变化时的处理函数
在创建监听器时调用的函数 doSomething(x, y, z) 是自己定义的方法。
当手机倾斜方向改变时,监听器会调用该方法。
我们要做的,就是填充该方法,用于在重力发生变化时进行我们自己的处理。
当 x=y=0 时,手机处于水平放置状态。
当 x=0 并且 y>0 时,手机顶部的水平位置要大于底部,也就是一般接听电话时手机所处的状态。
当 x=0 并且 y<0 时,手机顶部的水平位置要小于底部。手机一般很少处于这种状态。
当 y=0 并且 x>0 时,手机右侧的水平位置要大于左侧,也就是右侧被抬起。
当 y=0 并且 x<0 时,手机右侧的水平位置要小于左侧,也就是左侧被抬起。
当 z=0 时,手机平面与水平面垂直。
当 z>0 时,手机屏幕朝上。
当 z<0 时,手机屏幕朝下。

代码片段(1)

[代码] java代码

01 //1、取得重力感应器Sensor对象
02 //在 Activity 中定义以下成员变量:
03 private SensorManager mManager = null ;
04 private Sensor mSensor = null ;
05  
06 //以下代码加入到 onCreate() 方法中:
07 mManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
08  
09 mSensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
10  
11 //2、创建监听器
12 //在 Activity 中定义以下成员变量:
13 private SensorEventListener mListener = null ;
14  
15 //以下代码加入到 onCreate() 方法中:
16 mListener = new SensorEventListener() {
17 public void onAccuracyChanged(Sensor sensor, int accuracy) {
18 }
19  
20 public void onSensorChanged(SensorEvent event) {
21 float x = event.values[SensorManager.DATA_X];
22 float y = event.values[SensorManager.DATA_Y];
23 float z = event.values[SensorManager.DATA_Z];
24 doSomething(x, y, z);
25 }
26 };
27  
28 //3、注册监听器
29 //以下代码加入到 onResume() 方法中:
30 mManager.registerListener(mListener, mSensor, SensorManager.SENSOR_DELAY_GAME);
31  
32 //这里 SENSOR_DELAY_GAME 还可以是以下常量:
33 //SENSOR_DELAY_FASTEST
34 //SENSOR_DELAY_UI
35 //SENSOR_DELAY_NORMAL
36  
37 //4、取消监听器
38 //以下代码加入到 onPause() 方法中:
39

mManager.unregisterListener(mListener);

 

 

 

http://www.oschina.net/code/snippet_12_687

分享到:
评论

相关推荐

    Android 重力感应的测试程序源码-IT计算机-毕业设计.zip

    本项目“Android重力感应的测试程序源码”提供了一个实用的示例,帮助开发者理解如何在Android应用中集成并利用重力感应器的数据。下面将详细解析这个项目的知识点。 1. **Android传感器服务**: - Android系统...

    Android重力感应Demo

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

    android_重力感应demo

    总的来说,"android_重力感应demo"是一个基础教程,帮助开发者入门Android传感器编程,尤其是重力感应的应用。通过这个示例,学习者可以掌握如何获取和处理重力感应数据,为后续的传感器应用开发打下坚实的基础。

    Android重力感应编程

    总之,Android重力感应编程涉及了Android传感器API的使用、物理方向的计算以及与UI的交互。通过"GravityTest"这样的项目,开发者可以学习如何利用设备的重力感应实现各种有趣的功能,如在本例中控制虚拟小车的运动。...

    安卓Android源码——重力感应的测试程序源码.zip

    总的来说,这个压缩包提供了学习和实践Android重力感应器API的机会,对于想深入了解Android硬件交互或者游戏开发的开发者来说,是非常有价值的参考资料。通过研究源码,开发者可以掌握如何动态响应设备的运动,提升...

    Android 重力感应的测试程序源码.zip

    在Android平台上,重力感应是移动设备中一个关键的传感器技术,它允许应用程序根据设备的移动和方向来响应用户...通过实际操作,你将能够更好地掌握Android重力感应器的使用,为你的应用程序增添更多互动性和趣味性。

    Android小球重力感应源码

    总的来说,"Android小球重力感应源码"项目涵盖了Android传感器API的使用、物理模拟(尤其是重力和碰撞)以及游戏编程的基础知识。通过研究这个源码,开发者可以学习到如何将实际环境的输入转换为屏幕上动态效果的...

    Android重力感应

    在标题“Android重力感应”中提到的“飘落树叶”和“用力摇晃手机掉元宝”是两个典型的示例,它们展示了如何利用重力感应实现交互式动画效果。 首先,我们需要理解Android中的传感器系统。Android设备通常配备有多...

    Android重力感应贪吃蛇

    《Android重力感应贪吃蛇》是一款专为Android平台设计的创新版贪吃蛇游戏,它巧妙地将手机的重力感应技术与经典游戏贪吃蛇相结合,为玩家带来全新的操控体验。通过手机的倾斜,玩家可以实现对贪吃蛇的移动控制,这种...

    Android重力感应源代码

    这个"Android重力感应源代码"是专门为遥控Arduino机器人设计的,它利用了Android手机的内置重力传感器来获取实时的三维重力数据,并将这些数据发送到Arduino控制器,从而控制机器人的运动。 Android的传感器系统...

    android重力感应

    在Android平台上,重力感应是一项基础且重要的功能,它允许应用程序根据设备的移动和旋转来改变界面或执行...记住,实践是检验真理的唯一标准,不断尝试和优化你的代码,你将在Android重力感应编程方面变得更加熟练。

    Android重力感应的测试程序源码.zip

    总之,"Android重力感应的测试程序源码.zip"是一个学习和实践Android传感器编程的好资源。通过对源码的分析和修改,开发者可以深入理解重力传感器的工作原理,以及如何在Android应用中有效地使用这些数据。

    Android摇一摇与重力感应

    在Android开发中,"摇一摇"和"重力感应"是两个常用的功能,它们涉及到设备传感器的应用。本文将深入探讨这两个概念,并提供一个实际的示例代码——`重力感应MainActivity.java`。 首先,我们要了解Android中的...

    Android 重力感应的测试程序源码.zip源码资源下载

    在本资源中,"Android 重力感应的测试程序源码.zip" 包含了一个用于演示如何使用Android SDK中的Sensor API来获取并处理这些数据的应用程序。 1. **Sensor API**:Android SDK 提供的Sensor API允许开发者访问设备...

    Android 重力感应的测试程序源码.rar

    在Android平台上,重力感应是通过传感器系统服务来实现的,它允许应用程序检测设备的运动和方向变化。这个"Android 重力感应的测试程序源码.rar"包含了一个用于演示如何利用Android SDK来获取和处理重力感应数据的...

    android 重力感应.docx

    结合以上信息,我们可以构建一个基础的重力感应监听器,从而在游戏中实现根据设备角度变化动态调整游戏元素的效果,如控制小球滚动方向等。不过,还需要注意的是,不同的设备可能支持不同类型的传感器,因此在实际...

    android 重力球demo

    这个Demo展示了如何集成和利用Android系统的传感器API,特别是重力感应器,来实现一个可交互的小球游戏,用户可以通过倾斜设备来控制小球在屏幕上的移动。下面将详细介绍涉及的技术点。 首先,Android系统提供了...

    安卓 重力感应 源文件

    在本“安卓重力感应源文件”中,我们主要探讨的是如何利用Android SDK中的Sensor类和SensorManager类来编译一个能够检测并处理重力感应数据的程序。 首先,Android系统的传感器服务是通过SensorManager类提供的,它...

    Android编程实现的重力感应示例代码

    首先,要使用Android设备的重力感应器,我们需要在`AndroidManifest.xml`文件中声明对加速度传感器的权限。这可以通过添加以下代码实现: ```xml &lt;uses-permission android:name="android.hardware.sensor....

    flash重力感应实例

    4. **Android SDK集成**:为了在Flash应用中使用Android的硬件功能,如重力感应器,开发者需要利用Android Software Development Kit (SDK)。通过Android的Sensor API,开发者可以获取设备传感器的数据,如加速度计...

Global site tag (gtag.js) - Google Analytics