Android 深入解析光传感器(二)
光线传感器演示1
讲了一大堆的理论,那么以下的样例就来展示一下光线感应器的使用.为什么充分展现光感的用法,我这个样例写的很easy,仅仅写了使用光感必须的代码,然后用了几个textView将光线变化的值展现到用户界面。让使用者能够随时的看到光度的变化。

以下是Activity的代码:
java代码:
- public class LightDemoActivity extends Activity implements SensorEventListener{
- /** Called when the activity is first created. */
- SensorManager sensorManager = null;//传感器管理器引用
- Sensor lightSensor = null;//光线传感器引用
- //各个文本的引用
- TextView accuracy_view= null;
- TextView value_0 = null;
- TextView value_1 = null;
- TextView value_2 = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //获得传感器管理器实例
- sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
- //获得光线传感器实例
- lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
- //获得各个TextView
- accuracy_view = (TextView)findViewById(R.id.accuracy);
- value_0 = (TextView)findViewById(R.id.value_0);
- value_1 = (TextView)findViewById(R.id.value_1);
- value_2 = (TextView)findViewById(R.id.value_2);
- }
- @Override
- protected void onPause() {
- // TODO Auto-generated method stub
- super.onPause();
- //注销
- sensorManager.unregisterListener(this, lightSensor);
- }
- @Override
- protected void onResume() {
- // TODO Auto-generated method stub
- super.onResume();
- //为传感器管理器注冊监听
- sensorManager.registerListener(this,lightSensor, SensorManager.SENSOR_DELAY_NORMAL);
- }
- @Override
- public void onAccuracyChanged(Sensor sensor, int accuracy) {
- // TODO Auto-generated method stub
- if(sensor.getType() == Sensor.TYPE_LIGHT){
- //设置将accuracy的值显示到屏幕上
- accuracy_view.setText("accuracy:"+accuracy);
- }
- }
- @Override
- public void onSensorChanged(SensorEvent event) {
- // TODO Auto-generated method stub
- if(event.sensor.getType() == Sensor.TYPE_LIGHT){
- //将values的值显示到屏幕上
- float[] values = event.values;
- value_0.setText("value[0]:"+values[0]);
- value_1.setText("value[1]:"+values[1]);
- value_2.setText("value[2]:"+values[2]);
- }
- }
- }
复制代码
我们来看看解说的代码:
java代码:
- 以下解说代码:
- //获得传感器管理器实例
- sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
- //获得光线传感器实例
- lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
- 这段代码的作用是获得感应器管理器引用,并获得光感感应器应用。
- protected void onResume() {
- // TODO Auto-generated method stub
- super.onResume();
- //为传感器管理器注冊监听
- sensorManager
- .registerListener(this,lightSensor, SensorManager.SENSOR_DELAY_NORMAL);
- }
- 这段代码的作用在resume的时候又一次注冊监听,开启光感
- protected void onPause() {
- // TODO Auto-generated method stub
- super.onPause();
- //注销
- sensorManager.unregisterListener(this, lightSensor);
- }
- 这段代码的作用是在暂停时注销监听,关闭光感。由于感应器耗电,所以在不用的时候应该关闭他
- if(event.sensor.getType() == Sensor.TYPE_LIGHT)
- {
- //将values的值显示到屏幕上
- float[] values = event.values;
- value_0.setText("value[0]:"+values[0]);
- value_1.setText("value[1]:"+values[1]);
- value_2.setText("value[2]:"+values[2]);
- }
- }
复制代码
Android 深入解析光传感器(二)的更多相关文章
- Android内存解析(二)— 详解内存,内部存储和外部存储
总述 觉得十分有必要搞清楚内存,内部存储和外部存储的区别,还有我们在开发中真正将数据存在了手机的哪儿. 先提一个问题:手机设置的应用管理中,每个App下都有清除数据和清除缓存,清除的分别是哪里的数据? ...
- Android Intent 解析之二
服务端Intent运行过程: Sticky:这个类型的BroadCast表示某些Intent须要被保留,当新的应用起来后,须要关注这个消息,可是呢,又不须要启动这个应用来接收此消息,比方耳机插入等消息 ...
- Android zxing 解析二维码,生成二维码极简demo
zxing 官方的代码很多,看起来很费劲,此demo只抽取了有用的部分,实现了相机预览解码,解析本地二维码,生成二维码三个功能. 简化后的结构如下: 废话少说直接上代码: BaseDecodeHand ...
- Android Animation学习(二) ApiDemos解析:基本Animators使用
Android Animation学习(二) ApiDemos解析:基本Animatiors使用 Animator类提供了创建动画的基本结构,但是一般使用的是它的子类: ValueAnimator.O ...
- Android数字签名解析(二)
在Android数字签名解析(一)中,介绍了android进行签名的两种方式,当中用密钥对进行签名用到了signapk.jar这个java库. 以下我们就看看signapk签名实现过程,signapk ...
- android XMl 解析神奇xstream 二: 把对象转换成xml
前言:对xstream不理解的请看:android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 1.Javabeen 代码 packa ...
- android XMl 解析神奇xstream 六: 把集合list 转化为 XML文档
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
随机推荐
- zoj 2972 - Hurdles of 110m
题目:110米栏,运动员能够用三种状态跑,1状态耗体力且跑得快,2状态不消耗体力,3状态恢复体力且跑得慢. 体力上限是M,且初始满体力,如今想知到最小的时间跑全然程. 分析:dp,全然背包.题目是一个 ...
- 黑马程序猿_ 利用oc的协议实现代理模式
先说下代理模式是什么吧 定义: 为其它对象提供一种代理以控制对这个对象的訪问.在某些情况下,一个对象不适合或者不能直接引用还有一个对象 而代理对象能够在client和目标对象之间起到中介的作用. 在看 ...
- hdu 1561 The more, The Better (依赖背包 树形dp)
题目: 链接:点击打开链接 题意: 非常明显的依赖背包. 思路: dp[i][j]表示以i为根结点时攻击j个城堡得到的最大值.(以i为根的子树选择j个点所能达到的最优值) dp[root][j] = ...
- LeetCode :: Binary Tree Zigzag Level Order Traversal [tree, BFS]
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...
- wIndows phone 7 解析Html数据
原文:wIndows phone 7 解析Html数据 在我的上一篇文章中我介绍了windows phone 7的gb2312解码, http://www.cnblogs.com/qingci/arc ...
- 用python调用R做数据分析-准备工作
0.R的介绍 R是自由软件,不带不论什么担保.在某些条件下你能够将其自由散布,用'license()'或'licence()'来看散布的具体条件. R是个合作计划.有很多人为之做出了贡献,用'cont ...
- String,StringBuffer以及StringBuilder的差别
1.定义: String:String 类代表字符串. Java 程序中的全部字符串字面值(如"abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改. 字符 ...
- 《Javascript高级程序设计》读书笔记之继承
1.原型链继承 让构造函数的原型对象等于另一个类型的实例,利用原型让一个引用类型继承另一个引用类型的属性和方法 function SuperType() { this.property=true; } ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (初级)
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (初级) 企业库提供了一个很强大的验证应用程序模 ...
- Openfire开发配置,Openfire源码配置,OpenFire二次开发配置
1.下载源码:http://www.igniterealtime.org/downloads/source.jsp 2.把源码解压出的openfire_src目录放至eclipse workplace ...