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 ...
随机推荐
- 4.windows和Linux下创建oracleusername表空间,表,插入数据,用户管理表等操作
进入超级管理员,运行下面命令 Window下创建数据库.表空间,用户,插入数据等操作 -- 01 创建表空间 -- 注意表空间的路径 依据实际安装环境进行调整 CREATE TABLESPACE ts ...
- Cocos2dx3.4 VS2013无法打开包括文件extensions/ExtensionExport.h解决的方法
本来打算看白鹭引擎的.可是又被叫回来研究新引擎呢,不搞不知道,一搞发现cocos2dx新版本号3.4又有了一些变化. 我查了网上的资源,都没有解决的方法.我如今应该是第一个出这个问题的解决的方法哦.. ...
- selenium + firefox/chrome/phantomjs登陆之模拟点击
登陆之模拟点击 工具:python/java + selenium + firefox/chrome/phantomjs (1)windows开发环境搭建 默认已经安装好了firefox 安装pip ...
- A Game of Thrones(8) - Bran
The hunt left at dawn. The king wanted wild boar at the feast tonight. Prince Joffrey rode with his ...
- hdu1505(dp求最大子矩阵)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1505 分析: 这题是HDU 1506 的加强版,定义一个二维数组,d[i][j]表示第i行j列元素在前 ...
- Android入门之简单短信发送器
效果图: manifest.xml 文件中加入 <uses-permission android:name="android.permission.SEND_SMS"/&g ...
- INSTALL_FAILED_MEDIA_UNAVAILABLE错误处理
问题描写叙述: 在android手机上安装apk的时候,报错例如以下: Installation error: INSTALL_FAILED_MEDIA_UNAVAILABLE Please chec ...
- JQuery开发工具和插件
最近的研究jquery.为大家介绍几款开发工具.能够帮助你提高开发的效率. 1.Dreamweaver Dreamweaver是建立在WEB站点和应用程序的专业工具. 将可视化工具.应用程序开发功能和 ...
- 解决方式:QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins
在用QSqlDatabase时遇到报错QSqlDatabase: an instance of QCoreApplication is required for loading driver plug ...
- js实现的侧边栏展开收缩效果
原文地址:http://www.softwhy.com/forum.php?mod=viewthread&tid=12246 <!DOCTYPE html> <html> ...