列出Android手机所支持的Sensor。

package com.example.sensorlist;

import java.util.List;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView; public class MainActivity extends Activity { private TextView tvSensors;
private SensorManager sensorManager; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); tvSensors = (TextView) findViewById(R.id.tvSensors);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
for(Sensor sensor: sensors){
tvSensors.append(sensor.getName() + "\n");
} } }

MainActivity

  使用MotionSensor的简单实例。

 1 package com.example.motionsensor;
2
3 import android.app.Activity;
4 import android.hardware.Sensor;
5 import android.hardware.SensorEvent;
6 import android.hardware.SensorEventListener;
7 import android.hardware.SensorManager;
8 import android.os.Bundle;
9 import android.widget.TextView;
10
11 //为了获取传感器回传的数据,需要implements SensorEventListener
12 public class MainActivity extends Activity implements SensorEventListener {
13
14 private TextView tvAccelermeter;
15 private SensorManager sensorManager;
16
17 @Override
18 protected void onCreate(Bundle savedInstanceState) {
19 super.onCreate(savedInstanceState);
20 setContentView(R.layout.activity_main);
21
22 tvAccelermeter = (TextView) findViewById(R.id.tvAccelermeter);
23
24 sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
25
26 }
27
28 @Override
29 public void onSensorChanged(SensorEvent event) {
30 // 多个传感器,要进行判断
31 switch (event.sensor.getType()) {
32 case Sensor.TYPE_ACCELEROMETER:
33 tvAccelermeter.setText(String.format("%f %f %f", event.values[0],
34 event.values[1], event.values[2]));
35 break;
36
37 case Sensor.TYPE_GRAVITY:
38 // tvAccelermeter.setText(String.format("%f %f %f", event.values[0],
39 // event.values[1], event.values[2]));
40 break;
41
42 default:
43 break;
44 }
45
46 }
47
48 @Override
49 public void onAccuracyChanged(Sensor sensor, int accuracy) {
50
51 }
52
53 @Override
54 protected void onResume() {
55 super.onResume();
56
57 // 注册传感器
58 sensorManager.registerListener(this,
59 sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
60 SensorManager.SENSOR_DELAY_UI);
61 sensorManager.registerListener(this,
62 sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY),
63 SensorManager.SENSOR_DELAY_FASTEST);
64 }
65
66 @Override
67 protected void onPause() {
68 super.onPause();
69
70 sensorManager.unregisterListener(this);
71 }
72
73 }

MainActivity

12_Sensor简单实例的更多相关文章

  1. Hibernate(二)__简单实例入门

    首先我们进一步理解什么是对象关系映射模型? 它将对数据库中数据的处理转化为对对象的处理.如下图所示: 入门简单实例: hiberante 可以用在 j2se 项目,也可以用在 j2ee (web项目中 ...

  2. 最新 Eclipse IDE下的Spring框架配置及简单实例

    前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...

  3. 修改js confirm alert 提示框文字的简单实例

    修改js confirm alert 提示框文字的简单实例: <!DOCTYPE html> <html> <head lang="en"> & ...

  4. 利用navicat创建存储过程、触发器和使用游标的简单实例

    利用navicat创建存储过程.触发器和使用游标的简单实例 标签: navicat存储过程触发器mysql游标 2013-08-03 21:34 15516人阅读 评论(1) 收藏 举报  分类: 数 ...

  5. 【转】Android Https服务器端和客户端简单实例

    转载地址:http://blog.csdn.net/gf771115/article/details/7827233 AndroidHttps服务器端和客户端简单实例 工具介绍 Eclipse3.7 ...

  6. Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    目录 [TOC] 1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...

  7. vue路由的简单实例

    vue2.0 和 vue1.0 路由的语法还是有点稍微的差别,下面介绍一下vue-router 2的简单实例: <!DOCTYPE html> <html lang="en ...

  8. Flume概述和简单实例

    Flume概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方( ...

  9. jsoup解析HTML及简单实例

    jsoup 中文参考文献    http://www.open-open.com/jsoup/ 本文将利用jsoup,简单实现网络抓取的功能,并给出一个小实例,该实例效果为:获取作者本人在博客园写的所 ...

随机推荐

  1. php的三元运算符

    简单记录一哈php的三元运算符的用法:    啥子是三元运算,即第一个表达式作为判断条件,在后面两个表达式中选择一个执行. 若判断成立,则执行第二个表达式,否则执行第三个表达式. 看到好多网友都说的不 ...

  2. python求平均数及打印出低于平均数的值列表

    刚学Python的时候还是要多动手进行一些小程序的编写,要持续不断的进行,知识才能掌握的牢.今天就讲一下Python怎么求平均数,及打印出低于平均数的数值列表 方法一: scores1 =  [91, ...

  3. idea 远程debug springboot

    idea 远程debug springboot 1.新建一个springboot工程. 新建一个controller接口 @RestController @RequestMapping public ...

  4. C/C++四种取整函数floor,ceil,trunc,round

    处理浮点数操作常用到取整函数,C/C++提供了四种取整函数 floor函数 floor函数:向下取整函数,或称为向负无穷取整 double floor(double x); floor(-5.5) = ...

  5. Canvas鼠标点击特效(富强、民主...)、收藏

    <script> /* 鼠标特效 */ var a_idx = 0; jQuery(document).ready(function($) { $("body").cl ...

  6. Vue + WebRTC 实现音视频直播(附自定义播放器样式)

    1. 什么是WebRTC 1.1 WebRTC简介 WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频 ...

  7. tcp syn-synack-ack 服务端 接收 SYN tcp_v4_do_rcv分析

    rcv 分析: /* The socket must have it's spinlock held when we get * here, unless it is a TCP_LISTEN soc ...

  8. linux 协议栈 实现--编码小知识分析

    unlikely 以及likely 作用: rcu_read_lock  以及rcu_read_unlock 作用: rcu_dereference .rcu_dereference_protecte ...

  9. 编译的Ceph二进制文件过大问题

    前言 在ceph的研发群里看到一个cepher提出一个问题,编译的ceph的二进制文件过大,因为我一直用的打包好的rpm包,没有关注这个问题,重新编译了一遍发现确实有这个问题 本篇就是记录如何解决这个 ...

  10. ubuntu掉电出现检查文件系统的问题

    修改: /etc/default/rcS FSCKFIX=no 为 FSCKFIX=yes 出现这个情况的原因是硬件时钟偏移了 显示上次挂载根目录在未来时间. 写于: 2013年11月28日 更新于: ...