本文实例讲述了Android开发获取传感器数据的方法。分享给大家供大家参考,具体如下:

package mobile.android.sensor;

import java.util.List;

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.widget.TextView;

public class Main extends Activity implements SensorEventListener {

private TextView tvAccelerometer;

private TextView tvMagentic;

private TextView tvLight;

private TextView tvOrientation;

private TextView tvSensors;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// 获得SensorManager对象

SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

// 注册加速度传感器

sensorManager.registerListener(this,

sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),

SensorManager.SENSOR_DELAY_FASTEST);

// 注册磁场传感器

sensorManager.registerListener(this,

sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),

SensorManager.SENSOR_DELAY_FASTEST);

// 注册光线传感器

sensorManager.registerListener(this,

sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT),

SensorManager.SENSOR_DELAY_FASTEST);

// 注册方向传感器

sensorManager.registerListener(this,

sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),

SensorManager.SENSOR_DELAY_FASTEST);

tvAccelerometer = (TextView) findViewById(R.id.tvAccelerometer);

tvMagentic = (TextView) findViewById(R.id.tvMagentic);

tvLight = (TextView) findViewById(R.id.tvLight);

tvOrientation = (TextView) findViewById(R.id.tvOrientation);

tvSensors = (TextView) findViewById(R.id.tvSensors);

// 获得当前手机支持的所有传感器

List sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);

for (Sensor sensor : sensors) {

// 输出当前传感器的名称

tvSensors.append(sensor.getName() + "\n");

}

}

@Override

public void onSensorChanged(SensorEvent event) {

// 通过getType方法获得当前传回数据的传感器类型

switch (event.sensor.getType()) {

case Sensor.TYPE_ACCELEROMETER: // 处理加速度传感器传回的数据

String accelerometer = "加速度\n" + "X:" + event.values[0] + "\n"

+ "Y:" + event.values[1] + "\n" + "Z:" + event.values[2]

+ "\n";

tvAccelerometer.setText(accelerometer);

break;

case Sensor.TYPE_LIGHT: // 处理光线传感器传回的数据

tvLight.setText("亮度:" + event.values[0]);

break;

case Sensor.TYPE_MAGNETIC_FIELD: // 处理磁场传感器传回的数据

String magentic = "磁场\n" + "X:" + event.values[0] + "\n" + "Y:"

+ event.values[1] + "\n" + "Z:" + event.values[2] + "\n";

tvMagentic.setText(magentic);

break;

case Sensor.TYPE_ORIENTATION: // 处理方向传感器传回的数据

String orientation = "方向\n" + "X:" + event.values[0] + "\n" + "Y:"

+ event.values[1] + "\n" + "Z:" + event.values[2] + "\n";

tvOrientation.setText(orientation);

break;

}

}

@Override

public void onAccuracyChanged(Sensor sensor, int accuracy) {

}

}

PS:这里获得的只是传感器采集数据,还需要对数据分析,变成有用的信息。

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

android 获取加速度传感器值,Android开发获取传感器数据的方法示例【加速度传感器,磁场传感器,光线传感器,方向传感器】...相关推荐

  1. android apk的md5值,android 获取apk md5值

    android 获取apk md5值 1, 获取 Signature 2.   根据Signature计算md5和sha1信息,获取签名公钥信息 TextView text = null; Strin ...

  2. iframe简单使用 、获取iframe 、获取iframe 元素值 、iframe获取父页面的信息

    文章目录 1.iframe简单使用 2.获取iframe 3.获取iframe 元素值 4.iframe获取父页面的信息: 1.iframe简单使用 <iframe> 标签规定一个内联框架 ...

  3. python过去日期_利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

  4. android开发中磁场传感器,Android开发获取传感器数据的方法示例【加速度传感器,磁场传感器,光线传感器,方向传感器】...

    本文实例讲述了Android开发获取传感器数据的方法.分享给大家供大家参考,具体如下: package mobile.android.sensor; import java.util.List; im ...

  5. android 获取gps信号强度值,一种获取手机信号强度的方法

    出于项目需求,需要获取到手机信号强度.本人不才,以前都是采用toString()的方法,然后截取,得到强度,但发现很多机型都不适合.苦苦在API中搜寻,结果都不是很理想.最后在Stackoverflo ...

  6. android获取随机颜色_Android编程实现随机生成颜色的方法示例

    本文实例讲述了Android编程实现随机生成颜色的方法.分享给大家供大家参考,具体如下: 网上有个ColorPicker开源项目,选择颜色值.而在这里我想实现的是动态修改一个view的背景色. 开一个 ...

  7. java获取object属性值_java反射获取一个object属性值代码解析

    有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object里的一些东西,这个时候就需要用反射了. 假如你这个类是这样的: privat ...

  8. jq自动获取html的值,jquery如何获取class值?

    在jquery中,可以使用attr()方法来获取class的值,因为class本身也是元素的一个属性. attr() 方法设置或返回被选元素的属性和值. 1.返回属性的值:$(selector).at ...

  9. 光线传感器,方向传感器Android

    传感器Android 1.AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> &l ...

最新文章

  1. super返回不过来
  2. C语言-结构体内存对齐
  3. STM32与SHT1X温湿度传感器通讯
  4. 如何关闭子线程?征集析构函数与多线程的讨论!
  5. java多线程的基本实现方式与示例
  6. openwrt中的mt7621、MAC存储、PPP、UCI、ubus
  7. http下载大文件测试
  8. Bulma CSS框架教程
  9. R plot图片背景设置为透明_万能转换:R图和统计表转成发表级的Word、PPT、Excel、HTML、Latex、矢量图等...
  10. word如何自动生成目录
  11. Android 5.x浏览器webView或者qqX5崩溃,Resources$NotFoundException:String resource ID #0x2040003
  12. 中英文标点符号切换的组合键_最全的键盘各键及组合键功能说明,建议收藏
  13. pc端js根据图片url进行下载单张图片以及批量下载到本地
  14. 全球及中国环绕声扬声器行业投资前景预测与发展战略规划分析报告2022-2028年
  15. Raid常见级别(Raid 0、Raid 1、Raid 5、Raid 10)
  16. zookeeper启动不了报错:java.io.IOException: No snapshot found, but there are log entries. Something is brok
  17. 台式计算机除尘方法,台式电脑怎么清理灰尘
  18. js中push方法小结
  19. 【外贸干货】开发信模板之售后客诉篇
  20. 微软 Win11 22H2 (KB5017321) 更新失败并显示下载错误 0x800F0806,修复方法来了

热门文章

  1. python编程 迷你世界_迷你编程下载-迷你世界迷你编程下载 v1.0官方版--pc6下载站...
  2. Hexo部署出现错误err-Error-Spawn-failed解决方式
  3. 一张纸厚度是多少毫米_大洼20毫米水泥纤维板多少钱一张追求至善
  4. Java 时间戳转换成时间
  5. oracle11 处理器数,11G AWR中%Total CPU与%Busy CPU指标的疑问
  6. dax 筛选 包含某个字_筛选状态(ALL与REMOVEFILTERS)
  7. 下找到vue变量_Vue:npm run serve 到底做了什么?
  8. 华为gsm模块_出货量全球第一,华为阿里腾讯都是其客户,上海移远通信牛在哪?...
  9. 【Jmeter篇】jmeter+Ant+Jenkins实现自动化测试集成(一)
  10. 【工具】SecureCRT安装和注册