WEB开发网
开发学院手机开发Android 开发 深入探讨 Android 传感器 阅读

深入探讨 Android 传感器

 2010-07-21 01:10:00 来源:WEB开发网   
核心提示:TextView 小部件的引用,您需要使用传感器数据值更新这些小部件,深入探讨 Android 传感器(6),onResume() 方法使用对 SensorManager 的引用通过 registerListener 方法注册传感器更新:第一个参数是实现 SensorListener 接第二个参数是所需传感器的位掩码,
TextView 小部件的引用,您需要使用传感器数据值更新这些小部件。

onResume() 方法使用对 SensorManager 的引用通过 registerListener 方法注册传感器更新:

第一个参数是实现 SensorListener 接

第二个参数是所需传感器的位掩码。在本例中,应用程序从 SENSOR_ORIENTATION 和 SENSOR_ACCELEROMETER 请求数据。

第三个参数是一个系统提示,指出应用程序更新传感器值所需的速度。

应用程序(活动)暂停后,需要注销侦听器,这样以后就不会再收到传感器更新。这通过 SensorManager 的 unregisterListener 方法实现。惟一的参数是 SensorListener 的实例。

在 registerListener 和 unregisterListener 方法调用中,应用程序使用关键字 this。注意类定义中的 implements 关键字,其中声明了该类实现 SensorListener 接口。这就是要将它传递到 registerListener 和 unregisterListener 的原因。

SensorListener 必须实现两个方法 onSensorChange 和 onAccuracyChanged。示例应用程序不关心传感器的准确度,但关注传感器当前的 X、Y 和 Z 值。onAccuracyChanged 方法实质上不执行任何操作;它只在每次调用时添加一个日志项。

似乎经常需要调用 onSensorChanged 方法,因为加速表和方向传感器正在快速发送数据。查看第一个参数确定哪个传感器在发送数据。确认了发送数据的传感器之后,将使用方法第二个参数传递的浮点值数组中所包含的数据更新相应的 UI 元素。该示例只是显示这些值,但在更加高级的应用程序中,还可以分析这些值,比较原来的值,或者设置某种模式识别算法来确定用户(或外部环境)的行为。

现在您已经了解了传感器子系统,接下来的部分将回顾一个在 Android 手机上录制音频的代码样例。该样例运行在 DEV1 开发设备上。

使用 MediaRecorder

android.media 包包含与媒体子系统交互的类。使用 android.media.MediaRecorder 类进行媒体采样,包括音频和视频。MediaRecorder 作为状态机运行。您需要设置不同的参数,比如源设备和格式。设置后,可执行任何时间长度的录制,直到用户停止。

清单 2 包含的代码在 Android 设备上录制音频。显示的代码不包括应用程序的 UI 元素。

清单 2. 录制音频片段

view plaincopy to clipboardprint?MediaRecorder mrec ; File audiofile =

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:深入 探讨 Android

编辑录入:coldstar [复制链接] [打 印]
赞助商链接