`
QCheng5453
  • 浏览: 16488 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

传感器的应用开发

 
阅读更多

传感器的应用开发

 

先贴几个地址

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参考文档进行参考。

分享到:
评论

相关推荐

    传感器应用开发

    在IT行业中,传感器应用开发是物联网(IoT)领域的一个重要组成部分,它涉及到硬件设备、软件编程、数据处理和通信技术等多个方面。本篇将详细探讨传感器应用开发的相关知识点。 一、传感器基础知识 传感器是物联网...

    《iOS传感器应用开发最佳实践》源码

    本书我们将向大家介绍苹果iOS设备主要的传感器应用开发。本书是我们智捷iOS课堂团队编写iOS系列丛书中的一本,目的是使一个有iOS开发基础的程序员通过本书的学习,能够开发iOS 硬件访问和传感器应用的程序。另外,...

    基于Android智能手机的方向传感器应用开发.pdf

    《基于Android智能手机的方向传感器应用开发》 Android智能手机的传感器技术为开发者提供了丰富的创新空间,其中方向传感器的应用尤其重要。方向传感器,又称姿态传感器,能够感知设备的位置和方向变化,为用户带来...

    《iPhone应用程序开发攻略之iPhone特色传感器应用》

    根据上述分析,我们可以得知《iPhone应用程序开发攻略之iPhone特色传感器应用》这本书是一个专门针对iPhone传感器应用开发的教程,涵盖了传感器应用、iOS开发技巧、编程语言和开发环境等方面的知识,适合那些希望为...

    STM32传感器接口模块.pdf

    除了传统的串口外,该模块还提供了以太网接口,嵌入UDP协议,提供后期开发的便利接口。 该设计基于STM32处理器,外挂ADC采样芯片、以太网接口芯片、RS-232/485接口芯片。模拟电流信号经电流-电压转换电路、电压放大...

    基于android—的传感器技术应用开发.doc

    基于Android的传感器应用开发不仅可以提升用户体验,也有助于推动智能设备在健康监测、环境监控、游戏娱乐等领域的创新应用。 1.2 国内外智能手机应用程序现状研究 目前,国内外的智能手机应用程序已经涵盖了社交...

    Android传感器应用实例

    在Android平台上,传感器应用开发是一项重要的技术,它允许开发者创建出与用户环境和设备状态紧密交互的应用。"Android传感器应用实例"是一个专为学习Android传感器开发而设计的项目,通过两个具体的Activity,深入...

    基于android的传感器技术应用开发-论文..doc

    【基于 Android 的传感器技术应用开发】 本文主要探讨了在 Android 操作系统环境下,...通过本研究,读者将能够掌握 Android 传感器应用开发的基本技巧,并了解到如何通过集成传感器技术提升应用的创新性和实用性。

    基于Android的传感器技术应用开发设计说明.doc

    在传感器应用开发中,活动通常用于处理用户界面和传感器事件,而服务则可用于后台持续监控传感器数据。 3. 传感器技术在Android应用中的应用 3.1 传感器API Android提供了SensorManager类,它是获取和管理传感器...

    基于android的传感器技术应用开发方案-学位论文.doc

    - 第四部分介绍B4A开发环境及其在传感器应用开发中的应用; - 第五部分为案例分析,展示基于Android传感器技术的实际应用; - 最后,第六部分总结研究结果并提出未来研究方向。 2. 基于Android的传感器技术研究 ...

    基于Android_的传感器技术应用开发_毕业设计.doc

    通过基于Android的传感器应用开发,可以实现更智能、更个性化的用户体验,从而提升生活质量和工作效率。 1.2 国内外智能手机应用程序现状研究 国内外的智能手机市场呈现出多样化和高度竞争的态势。应用程序商店中...

    传感器应用设计141例

    《传感器应用设计141例》是一本深入探讨传感器在实际应用中的专业书籍,它涵盖了广泛而详实的传感器设计实例,旨在帮助读者理解和掌握传感器技术的精髓。书中的每一个案例都代表了一种独特的应用场景,从基础理论到...

    利用keil5和cubemx开发,结合超声波、人体红外、光敏三个传感器,实现对灯光的控制。

    此物可以根据三个传感器对灯光进行控制,超声波测距小于30cm时、光所测达到一定程度时,人体红外检测到人时,会对灯产生影响,一个传感器响应为绿灯,两个传感器为蓝灯,三个传感器为红灯(采用的RGB三色LED),在...

    android 指南针实例 传感器应用入门

    这个实例将带你深入了解如何使用Android的传感器API来开发一个简单的指南针应用,从而开启你的传感器应用开发之旅。 首先,我们要理解Android中的传感器系统。Android系统提供了一个强大的Sensor框架,允许开发者...

    Android应用源码之平台智能手机的温度传感器应用.zip

    在Android平台上,温度传感器的应用是实现智能设备健康管理和能源效率优化的关键部分。这份"Android应用源码之平台智能手机的温度...通过深入研究这些源码,开发者可以更好地理解和实践Android系统中的传感器应用开发。

    Android下传感器应用Demo

    在Android平台上,传感器应用开发是一项重要的技术,它允许开发者创建能够感知设备环境变化的应用,如运动、方向、光照等。本示例项目“Android下传感器应用Demo”专注于讲解如何使用Android SDK中的SensorManager...

    一种Android加速度传感器应用的通用解决方案.doc

    基于Android平台的加速度传感器应用开发,不仅能够创造出丰富的用户体验,如重力感应游戏、健康管理、运动追踪等,而且在工业控制、车辆导航等领域也有广泛应用。 本文主要探讨的是一种通用的Android加速度传感器...

    “1+X”传感网应用开发:系统方案设计.pptx

    "1+X"传感网应用开发系统方案设计主要关注的是基于物联网技术的传感器网络构建,涉及到数据通信协议、系统架构以及具体传感器的数据采集和传输。系统设计的核心是通过云平台进行数据整合和管理,实现远程监控和数据...

    传感网应用开发:误差处理.pptx

    在传感器应用开发中,误差处理是一项至关重要的环节。传感器数据的准确性直接影响到系统的性能和决策的可靠性。本报告主要探讨了误差产生的原因、减小误差的方法以及如何优化传感器数据。 首先,误差产生原因分析...

Global site tag (gtag.js) - Google Analytics