iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android编程实现的重力感应示例代码
  • 201
分享到

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

示例重力感应Android 2022-06-06 09:06:31 201人浏览 八月长安
摘要

本文实例讲述了Android编程实现的重力感应效果。分享给大家供大家参考,具体如下: android中的很多游戏的游戏都使用了重力感应的技术,就研究了一下重力感应 以屏幕的左下

本文实例讲述了Android编程实现的重力感应效果。分享给大家供大家参考,具体如下:

android中的很多游戏的游戏都使用了重力感应的技术,就研究了一下重力感应

以屏幕的左下方为原点,箭头指向的方向为正。从-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三个值求三角函数,就可以精确检测手机的运动状态了。

代码实例:
AndroidManifest.xml
代码如下:<uses-permission android:name="android.hardware.sensor.accelerometer"/>
代码很简单,直接看源码,最后提供了源码下载

Java Code:


package com.learn.sunboy;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensORManager;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.Toast;
public class TestSensor extends Activity{
  private SensorManager mSensorManager = null;
  private Sensor mSensor = null;
  private float x, y, z;
  @Override
  protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    mSensorManager = (SensorManager)this.getSystemService(SENSOR_SERVICE);
    mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
  }
  SensorEventListener lsn = new SensorEventListener() {
    @Override
    public void onSensorChanged(SensorEvent event) {
      x = event.values[SensorManager.DATA_X];
      y = event.values[SensorManager.DATA_Y];
      z = event.values[SensorManager.DATA_Z];
    }
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
      // TODO Auto-generated method stub
    }
  };
  @Override
  public boolean onTouchEvent(MotionEvent event){
    if(event.getAction() == MotionEvent.ACTION_DOWN){
      mSensorManager.reGISterListener(lsn, mSensor, SensorManager.SENSOR_DELAY_GAME);
      String str = "x=" + x + "; y=" + y + "; z=" + z; 
      Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG).show();
    }
    return super.onTouchEvent(event);
  }
  @Override
  public void onResume(){
    mSensorManager.registerListener(lsn, mSensor, SensorManager.SENSOR_DELAY_GAME);
    super.onResume();
  }
  @Override
  public void onPause(){
    mSensorManager.unregisterListener(lsn);
    super.onPause();
  }
}

运行效果:

注明:这是在模拟器上截图(SDK  V1.5), 由于模拟器无法感应重力,请大家在物理机上测试

完整实例代码代码点击此处本站下载。

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章:Android基于Sensor感应器获取重力感应加速度的方法Android重力传感器实现滚动的弹球Android编程之重力感应用法分析Android 重力传感器在游戏开发中的应用Android 物理游戏之重力系统开发示例代码Android利用方向传感器获得手机的相对角度实例说明Android 传感器--光照传感器详解及使用Android利用传感器实现微信摇一摇功能Android编程中光线传感器的调用方法详解Android开发获取重力加速度和磁场强度的方法


--结束END--

本文标题: Android编程实现的重力感应示例代码

本文链接: https://www.lsjlt.com/news/26407.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot实现过滤敏感词的示例代码
    过滤敏感词 1. 创建一个储存要过滤的敏感词的文本文件 首先创建一个文本文件储存要过滤的敏感词 在下面的工具类中我们会读取这个文本文件,这里提前给出 @PostConstruct...
    99+
    2022-11-13
    SpringBoot过滤敏感词 SpringBoot 敏感词
  • Android AIDL实现跨进程通信的示例代码
    AIDL是Android接口定义语言,它可以用于让某个Service与多个应用程序组件之间进行跨进程通信,从而可以实现多个应用程序共享同一个Service的功能。实现步骤例:用 A程序去访问 B程序的MyService.java服务 在B...
    99+
    2023-05-30
    android 跨进程通信 aidl
  • Java基于IDEA实现http编程的示例代码
    http开发前言之为什么要有应用层 我们已经学过TCP/IP , 已经知道目前数据能从客户端进程经过路径选择跨网络传送到服务器端进程 [ IP+Port ],可是,仅仅把数据从A点传...
    99+
    2024-04-02
  • Android底部弹窗的实现示例代码
    本文主要是介绍Android中实现底部弹窗的的正确姿势,如果你在实现底部弹窗时遇到了一些问题,那么请仔细阅读本文,相信文章会对你有所帮助。收获早知道阅读完本文后,你可以有以下收获 利用PopupWindow实现底部弹窗 PopupWin...
    99+
    2023-05-30
    android 底部弹窗 roi
  • Android实现绘制LocationMarkerView图的示例代码
    目录LocationMarkerView图的绘制绘制整公里的文字添加动画LocationMarker是运动轨迹上Start、End, 以及整公里点上笔者自定义绘制的一个MarkerV...
    99+
    2023-02-10
    Android绘制LocationMarkerView图 Android LocationMarkerView图 Android LocationMarkerView
  • Android实现人脸支付的示例代码
    目录效果展示功能实现人脸支付密码框输入支付尾言效果展示 人脸支付效果视频 密码框输入支付效果视频 因为密码支付时会调起系统安全键盘,开启自动保护功能,防止泄露,会导致输入密码时录屏...
    99+
    2024-04-02
  • Android实现微信登录的示例代码
    目录一、布局界面二、MainActivity.java微信登录的实现与qq登录类似。不过微信登录比较麻烦,需要拿到开发者资质认证,花300块钱,然后应用的话还得有官网之类的,就是比较...
    99+
    2024-04-02
  • Golang实现可重入锁的示例代码
    目录什么是可重入锁具体实现项目中遇到了可重入锁的需求和实现,具体记录下。 什么是可重入锁 我们平时说的分布式锁,一般指的是在不同服务器上的多个线程中,只有一个线程能抢到一个锁,从而执...
    99+
    2024-04-02
  • Java多线程编程实现socket通信示例代码
    流传于网络上有关Java多线程通信的编程实例有很多,这一篇还算比较不错,代码可用。下面看看具体内容。TCP是Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的...
    99+
    2023-05-30
    java socket通信 ava
  • ImageView 实现Android colorPikcer 选择器的示例代码
    本文介绍了ImageView 实现Android colorPikcer 选择器的示例代码,分享给大家,具体如下:Android colorPikcer 选择器环形的ColorPicker,主要思路是: Color 选在放在ImageVi...
    99+
    2023-05-30
    android 选择器 rp
  • Android实现显示和隐藏密码功能的示例代码
    在前端中我们知道用javascript就可以可以很容易实现,那么在Android中怎么实现这个功能呢? Java代码 package com.example.test2; impo...
    99+
    2024-04-02
  • WPF实现窗体亚克力效果的示例代码
    WPF 窗体设置亚克力效果 框架使用大于等于.NET40。 Visual Studio 2022。 项目使用 MIT 开源许可协议。 WindowAcrylicB...
    99+
    2024-04-02
  • Java编程redisson实现分布式锁代码示例
    最近由于工作很忙,很长时间没有更新博客了,今天为大家带来一篇有关Redisson实现分布式锁的文章,好了,不多说了,直接进入主题。1. 可重入锁(Reentrant Lock)Redisson的分布式可重入锁RLock Java对象实现了j...
    99+
    2023-05-31
    java redisson 分布式锁
  • Wmic实例应用代码编写教程
    这篇文章主要介绍“Wmic实例应用代码编写教程”,在日常操作中,相信很多人在Wmic实例应用代码编写教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Wmic实例应用代码编写教程”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-08
  • android中实现手机号码的校验的示例代码
    现在应用中都有对手机号码的校验,我以我自己的方式实现了一把,下面是效果图核心代码很简单,如下: public static boolean isMobileNO(String mobiles) { String telReg...
    99+
    2023-05-30
    android 手机号码 校验
  • Java使用DFA算法实现敏感词过滤的示例代码
    目录1 前言2 代码实现2.1 敏感词库初始化2.2 编写测试类1 前言 敏感词过滤就是你在项目中输入某些字(比如输入xxoo相关的文字时)时要能检测出来,很多项目中都会有一个敏感词...
    99+
    2023-03-24
    Java DFA敏感词过滤 Java 敏感词过滤
  • android屏幕圆角实现方法的示例代码
    现在很多全面屏手机的屏幕四角做成圆的,其圆润的感觉给人带来别样的视觉体验。先来一张我大锤子镇楼(不是广告呀,锤子没给钱),大家来直观感受一下圆角的魅力。锤子.jpg当然这种是硬件上实现的,我怀疑也是方的显示屏,然后做了个圆角遮蔽。那对于我们...
    99+
    2023-05-30
    android 屏幕 圆角
  • Android左滑返回功能的实现示例代码
    前几天用了个app发现左滑可以返回首页,发现这个功能很炫酷,就想着自己能不能做出来,于是研究了一下原理 将activity的背景设置为透明同时设置切换动画 手指滑动的时候,根View跟着滑动,滑倒一定的距离就finish掉。 原理很简...
    99+
    2023-05-31
    android 左滑返回 roi
  • Android实现字母导航控件的示例代码
    目录自定义属性Measure测量坐标计算绘制Touch事件处理数据组装显示效果今天分享一个以前实现的通讯录字母导航控件,下面自定义一个类似通讯录的字母导航 View,可以知道需要自定...
    99+
    2024-04-02
  • android实现音乐跳动效果的示例代码
    效果图 实现 整体的流程图如下 上面主要步骤分为3个 1、计算宽度能放下多少列的音频块。 2、计算每一列中音频块的个数 3、绘制音频块 1、计算宽度能放下多少列的音频块。 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作