android开发中磁场传感器,Android传感器(加速度传感器,磁场传感器,光线传感器,方向传感器)...
[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传感器(加速度传感器,磁场传感器,光线传感器,方向传感器)...相关推荐
- android开发中dx.jar,Android Studio:无法加载dx.jar
当我在Android Studio中运行我的模块时,我收到此错误: 错误:Android Dex:[GradleDevBuild]无法加载dx.jar 我已经无休止地搜索了一个在线解决方案,但一切都与 ...
- android 获取年月日时分秒,Android开发中 获取当前Android的年月日时分秒的时间
Android的文件有建议用Time代替Calendar.用Time对CPU的负荷会较小.在写Widget时特别重要. Time t=new Time(); // or Time t=new Time ...
- android+显示html内容居中显示图片,Android开发中对HTML内容的显示
摘 要 随着Android科技的发展,手机客户端接受了更多的HTML内容.本文作者采用WebView直接显示法结合人机 >> Android开发中的主题设置研究 线程在Android开发中 ...
- 浅谈Android开发中的NFC功能
目录 1."NFC"的自我描述 1.1 NFC功能的基本概念 1.2 NFC功能的背景.特性及发展趋势 2.NFC的基础知识.基本原理 2.1 NFC的工作模式 2.2 实现NFC ...
- Android开发中应避免的重大错误
by Varun Barad 由Varun Barad Android开发中应避免的重大错误 (Critical mistakes to avoid in Android development) A ...
- android 4.4 禁止下拉,Android开发中禁止下拉式的实现技巧
我们开发项目的时候,经常会看到禁止的情况,而Android开发中并没有直接调用的接口,下面是爱站技术频道小编就给大家介绍的Android开发中禁止下拉式的实现技巧,希望网友们喜欢! 分享给大家供大家参 ...
- 史上最全Android开发中100%会用到的开源框架整理(1/5)
其实这个开源框架整理很久了,只是一直放在有道云笔记里面,笔者还有很多写得文章都放在有道云笔记里面,有时间都好好整理一下放出来,本篇文章也会不定期更新,由于整理的开源框架分类都有200多个,所有这次只将 ...
- Android开发中使用七牛云存储进行图片上传下载
Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...
- 5 个 Android 开发中比较常见的内存泄漏问题及解决办法
Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要再 ...
- Android开发中的Handler和多线程
在Android开发中我们常常用到Handler这个类去处理消息队列中的消息,以下这个例子实现的是利用Handler传递一个消息给线程,线程运行run()方法去更新进度条的进度,以下是源代码: pub ...
最新文章
- Retrofit源码研究
- vim php代码规范
- 第二篇:salt-api使用填坑指南
- Hadoop的安装与配置及示例程序wordcount的运行
- 使用Eclipse进行Javaweb项目开发时,如何设置外置浏览器Chrome
- 求字符串里里面字符出现的次数和出现哪些不同的字符的字符串
- python 对象转dict_如何将python dict对象转换为java等效对象?
- 小白创建网站的曲折之路
- 向量空间 Vector Space -- 推荐系统
- 以太坊Dapp项目-网页钱包开发手册
- react api_如何在WordPress REST API之上构建React应用
- 数据库-MySQL中间的注释
- Webpack執行打包:“You may need an appropriate loader to handle this file type“
- python 正态化_#Python数据分析/笔记 - 准备工作
- 【java笔记】scanner类和匿名对象的使用
- 图像处理库Pillow
- poj 1056 IMMEDIATE DECODABILITY trie树 ——字典树 静态数组版
- Java的数据结构有那些?
- Edge在IE模式下加载网页 - Edge设置IE兼容性
- 使用wget 工具下载网站所有目录文件