[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) {

}

}

android开发中磁场传感器,Android传感器(加速度传感器,磁场传感器,光线传感器,方向传感器)...相关推荐

  1. android开发中dx.jar,Android Studio:无法加载dx.jar

    当我在Android Studio中运行我的模块时,我收到此错误: 错误:Android Dex:[GradleDevBuild]无法加载dx.jar 我已经无休止地搜索了一个在线解决方案,但一切都与 ...

  2. android 获取年月日时分秒,Android开发中 获取当前Android的年月日时分秒的时间

    Android的文件有建议用Time代替Calendar.用Time对CPU的负荷会较小.在写Widget时特别重要. Time t=new Time(); // or Time t=new Time ...

  3. android+显示html内容居中显示图片,Android开发中对HTML内容的显示

    摘 要 随着Android科技的发展,手机客户端接受了更多的HTML内容.本文作者采用WebView直接显示法结合人机 >> Android开发中的主题设置研究 线程在Android开发中 ...

  4. 浅谈Android开发中的NFC功能

    目录 1."NFC"的自我描述 1.1 NFC功能的基本概念 1.2 NFC功能的背景.特性及发展趋势 2.NFC的基础知识.基本原理 2.1 NFC的工作模式 2.2 实现NFC ...

  5. Android开发中应避免的重大错误

    by Varun Barad 由Varun Barad Android开发中应避免的重大错误 (Critical mistakes to avoid in Android development) A ...

  6. android 4.4 禁止下拉,Android开发中禁止下拉式的实现技巧

    我们开发项目的时候,经常会看到禁止的情况,而Android开发中并没有直接调用的接口,下面是爱站技术频道小编就给大家介绍的Android开发中禁止下拉式的实现技巧,希望网友们喜欢! 分享给大家供大家参 ...

  7. 史上最全Android开发中100%会用到的开源框架整理(1/5)

    其实这个开源框架整理很久了,只是一直放在有道云笔记里面,笔者还有很多写得文章都放在有道云笔记里面,有时间都好好整理一下放出来,本篇文章也会不定期更新,由于整理的开源框架分类都有200多个,所有这次只将 ...

  8. Android开发中使用七牛云存储进行图片上传下载

    Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...

  9. 5 个 Android 开发中比较常见的内存泄漏问题及解决办法

    Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要再 ...

  10. Android开发中的Handler和多线程

    在Android开发中我们常常用到Handler这个类去处理消息队列中的消息,以下这个例子实现的是利用Handler传递一个消息给线程,线程运行run()方法去更新进度条的进度,以下是源代码: pub ...

最新文章

  1. Retrofit源码研究
  2. vim php代码规范
  3. 第二篇:salt-api使用填坑指南
  4. Hadoop的安装与配置及示例程序wordcount的运行
  5. 使用Eclipse进行Javaweb项目开发时,如何设置外置浏览器Chrome
  6. 求字符串里里面字符出现的次数和出现哪些不同的字符的字符串
  7. python 对象转dict_如何将python dict对象转换为java等效对象?
  8. 小白创建网站的曲折之路
  9. 向量空间 Vector Space -- 推荐系统
  10. 以太坊Dapp项目-网页钱包开发手册
  11. react api_如何在WordPress REST API之上构建React应用
  12. 数据库-MySQL中间的注释
  13. Webpack執行打包:“You may need an appropriate loader to handle this file type“
  14. python 正态化_#Python数据分析/笔记 - 准备工作
  15. 【java笔记】scanner类和匿名对象的使用
  16. 图像处理库Pillow
  17. poj 1056 IMMEDIATE DECODABILITY trie树 ——字典树 静态数组版
  18. Java的数据结构有那些?
  19. Edge在IE模式下加载网页 - Edge设置IE兼容性
  20. 使用wget 工具下载网站所有目录文件

热门文章

  1. 【相机硬触发】大恒相机硬触发说明文档
  2. android 实现微信分享
  3. 小程序完整demo推荐:东航旅行;预订酒店,机票(适用1221)
  4. 2021-05-11 MongoDB面试题 MongoDb中索引是什么
  5. 信用卡智能还款是什么,靠不靠谱?
  6. 3、Azure Devops之Azure Repos篇
  7. yum.repos.d目录中文件消失如何解决
  8. 乐视pro3精英版乐视X722线刷兼救砖_纯净刷机包_教程
  9. 另类数据的全面解析与24种场景应用!
  10. html2canvas+canvas2image 做vue移动端页面海报