- 浏览: 15887 次
最新评论
传感器的应用开发
- 博客分类:
- Android笔记
传感器的应用开发
先贴几个地址
http://www.oschina.net/question/163910_28354这里面介绍了11中传感器。
http://www.oschina.net/question/12_1593 这里面比较详细的介绍了如何使用传感器。
我们都知道智能机中都含有或多或少的传感器,比较常见的是加速度传感器,姿态传感器,重力传感器等等。
我们需要为手机进行有关传感器方面的额编程,首先就是要获得各种传感器采样得到的数值。
Android系统中每当某个传感器的数值发生了变化,就会相应产生一个事件,这样,我们就可以实现一个监听器,从而对事件进行操作。
1、首先利用getSystemService这个函数获取一个SensorManager的对象,该对象用于对应于传感器的管理类,可以理解成所有传感器的集合。
2、之后再使用SensorManager的getDefaultSensor方法获取一个具体的Sensor对象。(比如说加速度传感器,重力传感器等等)
3、注册传感器的监听器。
4、取消注册传感器监听器。
下面的代码尝试获得手机所处环境的总加速度。
public class TempTest_sensorActivity extends Activity { private SensorManager sensormanager; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); sensormanager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); //获取传感器服务需要向下转型 Sensor sensor = sensormanager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); //获取加速度传感器 //下面注册监听器,第一个参数是监听器对象,第二个参数是需要监听的传感器对象,第三个表示传感器的采样率(一个int型)。 sensormanager.registerListener(new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { float x = event.values[0]; //values[o]表示x方向的加速度大小 float y = event.values[1]; //values[1]表示y方向的加速度大小 float z = event.values[2]; //values[2]表示z方向的加速度大小 double xyz = Math.sqrt(x*x+y*y+z*z); //算出总的加速度大小 System.out.println("a = "+xyz); } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { //传感器准确度变化时的回调函数,一般没什么用.. } }, sensor, SensorManager.SENSOR_DELAY_NORMAL); } }
上面注册监听器时最后一个参数表示传感器的采样率,即多少时间间隔系统对该传感器进行一次采样。
对于values,该变量在不同的传感器中有这不同的含义,可以查看Android参考文档进行参考。
发表评论
-
SurfaceView的使用
2012-09-07 18:51 869SurfaceView的使用 先贴上几个地址: ht ... -
Android笔记——NewDay1 AppWidget的一个更新小问题
2012-08-20 19:17 808之前在写一个AppWidget,需要根据按键显示不同的内容,其 ... -
Android笔记——Day10 *popUpWindow基本使用 *Notification基本使用
2012-07-20 07:40 931前十天去了北京,今天 ... -
Android笔记——Day9 *Android异步操作 *Http操作基础 *ListView使用方法
2012-07-07 18:34 10671、Android异步操作 ··之前说过用Threa ... -
Android笔记——Day8 *Animation的使用 *实现用户定位
2012-07-07 00:21 814反正每天看看Mars老师视频,完了自己在总结一下,感觉挺好的- ... -
Android笔记——Day7 *AppWidget的使用初步 *Android文本输入输出时的中文编码问题
2012-07-05 02:31 9031、AppWidget的使用初步 先贴个地址,这个地址里面 ... -
Android笔记——Day6 *Service初步 *利用序列化在Activity之间交换数据
2012-07-03 18:12 900昨天貌似ITEYE用CSDN的号登不上去,博客没法写了,现在又 ... -
Android笔记——Day5 *SQLite基本用法 *Broadcast广播机制 *WiFi基础
2012-07-01 00:38 1316//本文中代码基本上是Ma ... -
Android笔记——Day4 *Android对SD卡的操作
2012-06-29 23:03 1677前两天去苏州玩了,今天终于又可以学Android写博客了--# ... -
Android笔记——Day3 *异常处理 *Java中的io *匿名内部类
2012-06-27 10:03 10161、异常处理。 ··Java中含有异常处理机制。 ·· ... -
Android笔记——Day2 *Java中类的继承 *多线程Handler
2012-06-25 22:48 8791、Java中类的继承。 ··Java中类的继承所产生的访 ... -
Android笔记——Day1 *Activity生命周期 *Activiity切换效果
2012-06-24 22:37 10701、Android中Activity的生命周期。 http ...
相关推荐
传感器应用开发
本书我们将向大家介绍苹果iOS设备主要的传感器应用开发。本书是我们智捷iOS课堂团队编写iOS系列丛书中的一本,目的是使一个有iOS开发基础的程序员通过本书的学习,能够开发iOS 硬件访问和传感器应用的程序。另外,...
利用传感器可以开发出很多新奇有 趣的程序,小到水平仪、计步器,大到传感器游戏,本文详细介绍各种传感器的原理及使用方法,并通过一个水平仪的开发向读者介绍传感器应用的开发方法,以及如何在模拟器中模拟各种...
基于Android智能手机的方向传感器应用开发.pdf
LoRa温湿度传感器节点应用程序开发 应用程序编程 应用程序编程 main.c 中进行 宏定义一个网络ID和设备地址 不同载波频率及合适的带宽降低无线信号干扰 应用程序编程 宏定义中通用和固定的数值 传输数据的帧头:0x55 ...
《iPhone应用程序开发攻略之iPhone特色传感器应用》PDF高清扫描版电子书
基于 STM32实现了电流型、电压型以及数字 IO 型传感器接口模块;进行了接口模块的软件设计,说明了详细的固件代码设计。除传统串口外,提供以太网接口,嵌入 UDP协议 ,提供后期开发的便利接口。
此物可以根据三个传感器对灯光进行控制,超声波测距小于30cm时、光所测达到一定程度时,人体红外检测到人时,会对灯产生影响,一个传感器响应为绿灯,两个传感器为蓝灯,三个传感器为红灯(采用的RGB三色LED),在...
通过对该开发的讲解, 介绍了传感器应用的开发方法以及通过Eclipse 开发Android 应用程序的过程。 1 Android 平台简介 互联网巨头Google 公司于2007 年11 月5 日推出了全新的嵌入式软件平台---Android, 该平台...
Quarks 是 IBM 开发的一个开源开发工具,用于帮助制造商和程序员开发高效的基于物联网传感器数据的应用。 标签:物联网
很好的实际传感器应用资料,详细介绍了各种传感器应用
1+x传感器应用与开发
在技术理论的讲解方面,《Android应用开发完全自学手册:核心技术、传感器、2D/3D、多媒体与典型案例》注重对实际动手能力和完全自学的指导,书中重点讲解了Android开发的核心知识及流行的应用技术,如游戏开发、2D...
代码编写及分析1 发送AT指令到NB模块 1 void send_AT_command(char* format, ...) { va_list va; char nbiot_AT_cmd_buff[128]; uint8_t tx_count = 0, tx_size;...va_start(va, format);...vsprintf(nbiot_AT_cmd_buff, ...
介绍Android手机常用的传感器类型,阐述了手机传感器的使用方法以及参数。以姿态传感器为例,研究了手机传感器在手机游戏开发中的应用,详细介绍了姿态传感器实现开发游戏核心模块代码及其优越体验。
1、STM32F103通过设置ADC引脚,读取光敏传感器数值。 2、代码使用KEIL开发,当前在STM32F103C8T6运行,如果是STM32F103其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。软件下载时,请注意keil...
LoRa温湿度传感器节点应用程序开发 程序烧写 程序烧写 LoRa模块 JP1左拨 程序烧写 STM32固件串口 下载工具 STMFlashLoader Demo.exe UART配置 程序烧写 复位键KEY1 下拉菜单 STM32L1_Cat1-128K flash选择框 程序烧写...
全书内容覆盖了android用户界面编程、android四大组件、android资源访问、图形/图像处理、事件处理机制、android输入/输出处理、音频/视频...平台的web service、传感器应用开发、gps应用开发、google map服务等...
无线传感网络学习心得.doc