一、食用解读

注意了Values[0]传回来的数是-10到10,可以根据自己的实际需求进行缩放

二、代码示例

例子,形如此类的。。

public class control extends MainActivity {//注意,这个类是继承MainActivity的!!!private static final String TAG = "control";ProgressBar progressBarSpeed;CheckBox checkBoxGravity;SensorManager sensorManager;Sensor sensor;float X_lateral;//X方向角度int Speed=0;//速度TextView textViewSpeed;//显示速度值@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.control);checkBoxGravity = (CheckBox) findViewById(R.id.checkBox31);progressBarSpeed = (ProgressBar) findViewById(R.id.progressBar31);textViewSpeed = (TextView) findViewById(R.id.textView33);checkBoxGravity.setOnCheckedChangeListener(checkBoxGravityCheckedChangeListener);}/**** 单选框事件*/private CompoundButton.OnCheckedChangeListener checkBoxGravityCheckedChangeListener = new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {// TODO Auto-generated method stubif (isChecked){sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);//获取手机里面的传感器sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);//选择获取重力传感器//监听函数                        重力传感器对象              工作频率sensorManager.registerListener(mySensorEventListener, sensor,  SensorManager.SENSOR_DELAY_NORMAL);// SENSOR_DELAY_GAME}else{sensorManager.unregisterListener(mySensorEventListener);//释放传感器}}};/*** 重力传感器监听事件*/SensorEventListener mySensorEventListener = new SensorEventListener() {@Overridepublic void onSensorChanged(SensorEvent event) {// TODO Auto-generated method stubif(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){X_lateral = event.values[0]+10; //把-10到10的数据变为0-20Speed = (int)((100-(X_lateral*10/2))*2);//变为0-200if (Speed>100) {Speed = 100;}textViewSpeed.setText(String.valueOf(Speed));runOnUiThread(new Runnable() {public void run(){progressBarSpeed.setProgress(Speed);}});//                Log.e(TAG, event.values[0]+"" );}else {sensorManager.unregisterListener(mySensorEventListener);runOnUiThread(new Runnable() {public void run() {checkBoxGravity.setChecked(false);Toast.makeText(getApplicationContext(), "传感器不存在!!!", Toast.LENGTH_SHORT).show();}});}}@Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) {// TODO Auto-generated method stub}};protected void onPause() {super.onPause();sensorManager.unregisterListener(mySensorEventListener);}
}

参考:

https://www.cnblogs.com/yangfengwu/p/7633980.html
https://blog.csdn.net/wll995806658/article/details/53993356

Android学习之重力传感器使用相关推荐

  1. android重力传感器横竖反,Android编程基于重力传感器实现横竖屏放向切换功能

    本文实例讲述了Android编程基于重力传感器实现横竖屏放向切换功能.分享给大家供大家参考,具体如下: 最近项目中用到了vr视频播放,因为自己实现,同时要实现横竖屏自动切换屏幕,核心代码如下: pac ...

  2. Android开发之重力传感器

    重力传感器与方向传感器的开发步骤类似,只要理清了期中的x,y,z的值之后就可以根据他们的变化来进行编程了,推荐学习Android应用开发入门教程. 首先来看一副图 假设当地的重力加速度值为g 当手机正 ...

  3. Android 简单跟踪重力传感器方向旋转屏幕framework的代码

    一.当旋转设备时候屏幕显示方向也改变,会打印下面的log,可以看到非常关键的一行log WindowOrientationListener: Proposed rotation changed! pr ...

  4. python如何控制传感器_[TPYBoard - Micropython之会python就能做硬件 5] 学习使用重力传感器及PWM...

    一.实验器材 1.TPYboard V102板 一块 2.LED灯 一个 3.1602屏 一块 二.重力传感器 TPYboard与pyboard一样,本身带一个重力传感器.该传感器能够感知到加速力的变 ...

  5. Android学习之手机传感器的获取

    首先声明:手机传感器的获取参考了网上一些其他人的CSDN博客,本文只是记录个人的学习状况 具体步骤: 框架: 1.创建Android工程(不使用默认的Activity,自己手动创建)名称:Sensor ...

  6. Android重力传感器研究

    android重力传感器简介: android的重力传感器在各个方面有很广的应用,在android中,重力传感器使用惯性坐标系,所谓惯性坐标系是为了简化世界坐标而引入的一种新的坐标系.惯性坐标系的原点 ...

  7. Android 距离,方向,光线,磁场,重力传感器

    Android 传感器开发 最近学习了一些跟传感器有关的东西,而且写了一个简单的APP和大家分享一下,界面如下: 1.接近传感器 接近传感器检测物体与手机的距离,单位是厘米.一些接近传感器只能返回远和 ...

  8. Android传感器应用——重力传感器实现滚动的弹球

    一. 问题描述 Android中有多达11种传感器,不同的手机设备支持的传感器类型也不尽相同 1. 重力传感器 GV-sensor 2. 加速度传感器 G-sensor 3.  磁力传感器  M-se ...

  9. Pro Android学习笔记(一五五) 传感器(5) 磁场传感器和方位(上)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 文章转载 ...

最新文章

  1. Python Day26:多态、封装、内置函数:__str__、__del__、反射(反省)、动态导入模块...
  2. Ubuntu(Linux) 下 unzip 命令使用详解
  3. href可以请求后台么_href怎么进行传参
  4. ACM-ICPC 2018 徐州赛区网络预赛
  5. 1小时零基础赚一千,教你完成图书管理系统,不用打代码绝对学得会![完整全站教学 IVX 实战第四篇]
  6. 以太坊ipfs_动手:Infura和以太坊上的IPFS入门
  7. java 树状数据算法_使用递归算法结合数据库解析成Java树形结构的代码解析
  8. Java 邮箱判断 正则表达式
  9. 性能测试之JMeter函数助手详解
  10. 如何解决VS2017打开安装包运行报错问题
  11. C/C++基础学习代码(1)
  12. c语言科学计数法输出1_e10,北航13年机试--十进制数字的科学计数法表示的C语言实现...
  13. css面试题手写九宫格
  14. js获取当前时间(标准时间)
  15. 阿里云个人网站备案流程
  16. [唐诗]古风(其十九)-李白
  17. XMind 8 安装与激活
  18. Mybatis简介及其核心概念
  19. 进程控制块pcb详解
  20. 酒店企业私域流量运营方案来了

热门文章

  1. 如何把旧机械硬盘的资料快速拷贝到另一块机械硬盘?
  2. Linux-Vi编辑器
  3. 你想要的资源我都有(3)
  4. Lab: Offline password cracking:离线密码登录破解靶场复盘
  5. 我们要坚持不懈地追求自己的目标,即使遇到挫折也不要轻易放弃。
  6. 【小程序源码】二维码DIY背景美化生成器
  7. Android 入门第四讲03-列表RecyclerView(RecyclerView使用步骤(详),RecyclerView指定一行item的数目+指定一行item的数量,并且设置列表方向)
  8. 淘宝旅行单日出票量超2.6万张创同类网站纪录
  9. 《计算机体系结构:量化研究方法》5th 学习笔记
  10. 7-10 计算工资(c语言)