传感器的应用是智能手机的优势之一。向传感器在Android手机上具有重要应用。文首先介绍了Android传感器系统架构和方向传感器的特点,然后讨论了Android方向传感器应用程序开发元素,如主类和开发接口。感器的应用和定位方向传感器的基本原理,着重于开发一个简单的罗盘程序。骤和要点,最后给出了程序的测试结果。Android的;方向传感器;指南针随着智能手机的广泛使用,基于智能手机的应用程序也在不断涌现,许多基于手机硬件或传感器芯片的手机应用程序受到了赞赏和追捧。如,基于GPS的定位和地图服务几乎是智能手机的标准功能:基于光传感器的智能手机根据环境光强度自动改变屏幕亮度而基于陀螺仪传感器的APP基于加速度。体感应计步器APP,基于方向传感器的移动游戏应用程序等是Andrmd应用程序开发的当前趋势。文专门分析了Android方向传感器的功能,并在此基础上开发应用程序。
于Android传感器的Android传感器系统架构目前的智能手机不仅是信息载体,还有许多传感器。力传感器,磁场传感器,光传感器和陀螺仪传感器等传感器极大地增强了智能手机的用户体验。[1]通用传感器系统主动向上层发送传感器精度和数据变化信号,并提供调整传感器精度的接口,这些接口可用于Java应用程序和Java框架。

Android平台[2]下传感器系统的基本层次结构如图1所示。上到下,Android传感器系统的架构是Java应用层,结构层Java应用程序开发,传感器硬件抽象层和传感器硬件层。Sensor的Java类属于应用程序开发框架层。部分的实现文件是Sensor * Java:传感器系统的JNI部分为Android.hardware.Sensor.Manage类提供原生支持。平台下开发基于传感器的应用程序-form Andrmd通常使用应用程序开发层的相应类和接口。向传感器(Sensor.TYPE_ORIENTATION)的Android方向传感器也被称为attitude.Le方向传感器传感器检测重力的飞机中心的变化,如移动电话,当姿势变化,并改变手机和其他设备的光标位置进行选择。能。向传感器是Android平台提供的传感器之一,用于区分设备的位置:磁场传感器属于硬件传感器,方向传感器属于软件,数据由传感器获取加速度和磁场传感器,以及方向传感器。以快速轻松地应用和显示数据。Android方向传感器应用程序开发的ASF配置文件ASF是Android SDK提供的Android检测框架,具有访问内置于当前Android设备中的传感器的功能并启用执行与传感器有关的各种任务。
如,确定当前Android手机支持的传感器类型,支持传感器硬件信息,测量范围,精度等,获取传感器数据并设置数据准确性传感器返回,保存和取消注册传感器事件记录。些耳机用于监控传感器的变化,传感器通常返回的数据必须使用这些耳机进行处理。

ASF Andrcnd传感器应用程序开发的主要类和接口通常使用以下类和接口[3]。SensorManager类SensorManager类是系统中所有传感器的管理类,它为传感器提供管理服务,包括访问和列出所有传感器,记录和取消传感器。录传感器服务等类的传感器的传感器类定义了传感器类型的服务,例如Sensor.TYPE_GRAVITY,重力传感器,Sensor.TYPE_TEMPERATURE,温度传感器和Sensor.TYPE_ORIENTATION方向传感器可以在编程过程中进行评估的。感器传输的数据类型。SensorEvent类SensorEvent类是传感器事件的描述,提供有关传感器事件的信息,例如传感器类型,传感器数据,数据准确性等。SensoriEventListener接口SensorEventListener接口用于向开发人员调用传感器数据,恒温阀芯这使他能够获得传感器数据的基本原理及其定位。感器属于位置传感器,传感器可以检测移动电话的地理坐标。对用户发表评论。
向传感器主要通过检测移动电话的方向变化,即移动电话沿X轴的旋转角度,恒温阀芯Y轴来捕获三个方向的参数。Z轴(见图2)[4-6]。后,您可以通过传感器类的size()和getName()方法获取支持的传感器总数和传感器设备名称,或使用getVendor获取传感器提供程序信息()和使用getVersion()的设备版本信息。册传感器服务通常,传感器服务会根据程序的状态而变化。这个例子中,在使用活动的执行程序接口,服务的传感器可以在替换的onResume()方法活化:空隙@Overrideprotected onResume0 {super.onResume0; Lister sensorsList = sManager.getSensorList(Sensor.TYPE_ORIENTATION);如果(sensorsList.size0> 0){sManager.registerListener(this,sensorsList.get(0),SensorManager.SENSOR DELAY_GAME); //保存方向传感器并设置SENSOR DELAY_GAME传感器采样模式}以降低功耗,退出应用程序。

服务处于锁定或锁定模式时,必须禁用发现服务。时,当活动处于暂停或停止状态时,可以断开服务。测服务在onPause0方法中断开,如下所示:@Overrideprotected void onPause(){super.onPause(); sManager .unregisterListener(本);}实现SensorEventListener接口和实现旋转要使用所述数据和所述传感器状态的信息的指示方向,必须实现使用SensorEventListener得到的接口其回调方法的参数。两种方法:public void onAccuracyChanged(传感器传感器;公空为onSensorChanged(SensorEvent同t);其中,第一种方法是当检测装置的精度改变时的召回:第二种方法是当数据改变时召回检测装置的数据。此示例程序的设计中,仅需要第二种方法,并且传感器状态信息和数据信息是通过SensorEvent类的事件参数获得的。用值event.values [0]和与罗盘图像对应的旋转角度获得沿Z轴的旋转角度。现的关键代码是[1]:@Overridepublic void onSensorChanged(SensorEvent event){int sensorType = event.sensor .getType(); //获取触发事件开关(sensorType){Sensor.TYPE框方位传感器的类型:tvl.setText(“沿Z轴的电话的旋转角度是:” 事件。
[0]); tv2 .setText(values [l]); tv3.setText(values [2]); “手机沿Y轴的旋转角度为:” 事件。手机沿X轴的旋转角度为:” event.float Degree = event.values [0]; ∥Obtenirz轴RotateAnimation RA的旋转角度=新RotateAnimation(currentDegree:度,Anirnation.RELATIVE__TO_SELF,0.5F,Animation.RELATIVE TO_SELF,0.5F); //携带旋转动画.setDuration(300); //动画的持续时间image.startAnimation(ra); currentDegree = -degree;打开;)}运行分析程序的结果当手机水平放置时,它是“正北”和“正南”。况如图3-4所示,因为罗盘需要确定方向数据并且只需要事件值。[0]。意“手机沿Z轴的旋转角度”;此外,传感器的采样速率较快,显示数据是非常敏感的,使得在屏幕截图中显示的值接近的值的“标准”,不是很精确; event.values [0 0的范围是360.因此,当显示350和359之间的值时,它也处于“Zhengbei”位置。他情况类似。

本文转载自
恒温阀芯 https://www.wisdom-thermostats.com
