`
gyht0808
  • 浏览: 114987 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android重力感应实现方式简介

阅读更多

    Android重力感应的相关代码编写方式将会在这篇文章中进行详细介绍。希望对于在此方面有需求的朋友能从中获得些帮助。

    在Android应用程序的开发中,占据主要地位的当属游戏的开发。我们在这篇文章中将会针对在游戏中需要用到的重力感应功能,来为大家详细分析Android重力感应的实现方法,以帮助大家解决相关问题。

    Android中的很多游戏的游戏都使用了重力感应的技术,但其api demo却并没有重力感应的实例(不知道是不是我没找到,找到的朋友麻烦告诉我一下,谢谢),因为开发的需要,就研究了一下重力感应这方面,因为网上关于这方面的东西比较少,所以写出来跟大家交流一下,算是抛砖引玉吧。(ps.因为重力感应式需要真机才能测试的,所以,下面提供的demo程序只能在真机上跑。)

    因为官方说明比较含糊难懂,我用最简单的方式讲一下Android重力感应系统的坐标系

    以屏幕的左下方为原点(2d编程的时候,是以屏幕左上方为原点的,这个值得注意一下),箭头指向的方向为正。从-10到10,以浮点数为等级单位,想象一下以下情形:

    手机屏幕向上(z轴朝天)水平放置的时侯,(x,y,z)的值分别为(0,0,10);

    手机屏幕向下(z轴朝地)水平放置的时侯,(x,y,z)的值分别为(0,0,-10);

    手机屏幕向左侧放(x轴朝天)的时候,(x,y,z)的值分别为(10,0,0);

    手机竖直(y轴朝天)向上的时候,(x,y,z)的值分别为(0,10,0);

    其他的如此类推,规律就是:朝天的就是正数,朝地的就是负数。利用x,y,z三个值求三角函数,就可以精确检测手机的运动状态了。

    接下来,用最短的代码完成Android重力感应功能,程序效果就是在title上面输出x,y,z的值。

package com.ray.test;   
import Android.app.Activity;   
import Android.os.Bundle;   
import Android.hardware.SensorManager;   
import Android.hardware.Sensor;   
import Android.hardware.SensorEventListener;   
import Android.hardware.SensorEvent;   
public class SensorTest extends Activity {   
private SensorManager sensorMgr;   
Sensor sensor = sensorMgr.getDefaultSensor
(Sensor.TYPE_ACCELEROMETER);   
private float x, y, z;   
protected void onCreate(Bundle savedInstanceState) {   
super.onCreate(savedInstanceState);   
sensorMgr = (SensorManager) 
getSystemService(SENSOR_SERVICE);   
SensorEventListener lsn = new SensorEventListener() {   
public void onSensorChanged(SensorEvent e) {   
x = e.values[SensorManager.DATA_X];   
y = e.values[SensorManager.DATA_Y];   
z = e.values[SensorManager.DATA_Z];   
setTitle("x="+(int)x+","+"y="+(int)y+","+"z="+(int)z);   
}   
public void onAccuracyChanged(Sensor s, int accuracy) {   
}   
};   
//注册listener,第三个参数是检测的精确度   
sensorMgr.registerListener(lsn, sensor, 
SensorManager.SENSOR_DELAY_GAME);   
}   
} 
   

Android重力感应的相关实现方法就为大家介绍到这里。

分享到:
评论

相关推荐

    android 利用重力感应监听

    在Android开发中,利用重力感应来实现特定功能是一种常见的技术。通过集成传感器API,开发者可以获取设备的重力变化数据,从而实现如来电时翻转手机静音这样的实用功能。下面将详细介绍如何在Android中利用重力感应...

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

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

    android重力感应源代码

    本文将深入探讨Android重力感应源代码的相关知识点,帮助开发者理解和实现这一功能。 首先,我们要知道Android中的Sensor类是处理传感器事件的核心接口。在`android.hardware.Sensor`包下,Sensor类提供了获取...

    android重力感应实例代码

    这个“android重力感应实例代码”提供了一个具体的示例,帮助开发者理解如何在Android应用中集成并使用重力感应数据。下面将详细介绍相关知识点。 1. **Android传感器系统服务** Android系统提供了Sensor Service...

    Android重力感应示例(源码)

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

    Android重力感应实例

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

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

    总之,"疯狂的小球"作为一款基于Android重力感应技术的游戏,融合了硬件传感器、物理引擎、用户交互和关卡设计等多个方面的技术,为玩家带来独特且刺激的体验。通过不断优化和创新,开发者可以创造出更加引人入胜的...

    KCb教学课件Android重力感应实现方式(共11张PPT).ppt

    Android重力感应实现方式主要涉及的是Android系统的传感器API,这些API允许开发者获取设备的各种传感器数据,包括重力感应数据。在Android系统中,重力感应主要用于检测设备在三维空间中的移动和旋转,常用于游戏、...

    Android重力感应Demo

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

    android_重力感应demo

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

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

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

    android关闭重力感应

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

    Android手机平台重力感应Demo

    在Android平台上,重力感应功能是通过传感器系统服务来实现的,这允许应用程序接收设备的动态运动数据,如重力、加速度等。这个"Android手机平台重力感应Demo"是一个示例项目,用于演示如何在Android应用中利用重力...

    Android应用源码之Android重力感应跑步测速应用_源码.zip

    该Android应用源码展示了如何利用Android设备的重力感应器来实现跑步测速功能。在Android平台上,开发者可以通过Android传感器API来访问设备的各种传感器数据,包括重力感应器。这个应用的核心技术点主要包括以下几...

    android重力感应禁止调用oncreat方法

    ### Android重力感应与禁止调用onCreate方法详解 #### 一、问题背景与解决方案概述 在Android开发过程中,有时我们需要让应用支持横竖屏自动切换,但又不希望每次屏幕方向改变时都重新调用`onCreate()`方法。这是...

    Android重力感应跑步测速应用.rar

    总的来说,开发一个Android重力感应跑步测速应用需要理解传感器的工作原理,掌握数据处理和计算技巧,以及具备良好的UI设计和性能优化能力。这个过程既考验技术功底,也体现了对用户体验的细腻把握。

    android重力感应

    在Android平台上,重力感应是通过传感器服务来实现的,它可以帮助开发者获取设备在空间中的运动状态,例如手机的翻转、倾斜等动作。本文将深入探讨如何在Android中进行重力感应的开发,以及相关的知识和技术。 首先...

    Android重力感应简介

    Android重力感应为开发者提供了丰富的可能性,从简单的设备倾斜检测到复杂的运动追踪,都能轻松实现。通过掌握传感器API的使用,开发者可以为用户提供更加沉浸式的交互体验。然而,合理管理传感器资源,避免不必要的...

Global site tag (gtag.js) - Google Analytics