列出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. ASP.NET Core Authentication系列(三)Cookie选项

    前言 在本系列第一篇文章介绍了ASP.NET时代如何认证,并且介绍了如何通过web.config文件来配置Auth Cookie的选项. 第二篇文章介绍了如何使用Cookie认证,本文介绍几个常见的C ...

  2. python网络编程(TCP/IP、发邮件)

    TCP/IP 关注公众号"轻松学编程"了解更多. 计算机为了联网,就必须规定通讯协议,早期的计算机网络是由各个厂商规定的一些协议,他们之间互不兼容. 为了把全世界的电脑能够连接到一 ...

  3. Flask中的RESTFul

    RESTFul 1.什么是RESTFul? 1.1 简介 REST即表述性状态传递(英文:Representational State Transfer, 简称REST)是Roy Fielding博士 ...

  4. 【kotlin】adapterPosition方法返回-1 无法获取位置

    在学习使用RecyclerView时 对Adapter的几个主要方法进行重写 通过使用书中的例子 在onCreateViewHolder中使用 viewHolder.itemView.setOnCli ...

  5. C++ stringstream 实现字符与数字之间的转换

    c++中利用srtingstream可以将数字转为字符串,或者将字符串转为数字: 首先将double型数字串转成了string: stringnum2string(double *a,int n) { ...

  6. inno steup 安装判断 进程是否运行

    1.添加了卸载判断用语 2.添加了安装程序进程是否存在使用了wmi服务 ; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #d ...

  7. Android Google官方文档解析之——Application Fundamentals

    Android apps are written in the java programming language.The Android SDK tools compile your code-al ...

  8. leetcode76set-matrix-zeroes

    题目描述 给定一个m*n的矩阵,如果有一个元素是0,就把该元素所在的行和列上的元素全置为0,要求使用原地算法. 拓展: 你的算法有使用额外的空间吗? 一种比较直接的算法是利用O(m,n)的空间,但是这 ...

  9. 可变参数以及stdcall

    void event_warnx(const char *fmt, ...) EV_CHECK_FMT(1,2); #define EV_CHECK_FMT(a,b) __attribute__((f ...

  10. linux 内核并发同步 2

    信号量semaphore 信号量是一种允许进程进入睡眠的同步机制,信号量是一个计数器,支持两种原语即P 和V操作,也就是down 和up 操作, /* Please don't access any ...