现在您已经了解了传感器子系统,接下来的部分将回顾一个在 Android 手机上录制音频的代码样例,该样例运行在 Android设备上,onAccuracyChanged 方法实质上不执行任何操作,它只在每次调用时添加一个日志项。
Android 是一个面向应用程序开发的富平台,它拥有许多具有吸引力的用户界面元素和数据管理功能。Android 还提供了一组丰富的接口选项。在本文中,学习如何配合使用 Android 的各种传感器选项监控您的环境。
想构建自己的婴儿监视器吗?想用声音来接听电话或者打开房门吗?请学习如何利用配备有 Android 的设备的硬件功能。对于 Java开发人员来说,Android 平台是通过使用硬件传感器创建创新应用程序的理想平台。
我们将学习一些可用于 Android 应用程序的接口连接选项,包括使用传感器子系统和录制音频片段。利用配备 Android设备的硬件功能可以构建哪些应用程序呢?任何需要电子监视和监听的应用程序都可以构建。婴儿监视器、安全系统,甚至地震仪都可以。
理论上讲,您不能同时出现在两个地方,但 Android 可以利用一些可行的方法实现这一点。纵观本文始末,您必须记住。使用的 Android设备不仅仅局限于 “手机”,还可以是部署在固定位置、具有无线网络连接的设备,比如 EDGE 或 WiFi。下载 本文示例的源文件。
使用 Android 平台有一个很新颖的地方,那就是您可以在设备内部访问一些 “好工具”。过去,访问设备底层硬件的能力一度让移动开发人员感到非常棘手。尽管 Android Java 环境的角色仍然是您和设备的桥梁,但 Android 开发团队让许多硬件功能浮出了水面。该平台是一个开源平台,因此您可以自由地编写代码实现您的任务。
如果尚未安装 Android,您可以 下载 Android SDK。您还可以 浏览 android.hardware 包的内容并参考本文的示例。android.media 包 包含了一些提供有用和新颖功能的类。Android SDK 中包含的一些面向硬件的功能描述如下,SensorListener 接口是传感器应用程序的中心。它包括两个必需方法:
onSensorChanged(int sensor,float values[]) 方法在传感器值更改时调用。该方法只对受此应用程序监视的传感器调用(更多内容见下文)。该方法的参数包括:一个整数,指示更改的传感器;一个浮点值数组,表示传感器数据本身。有些传感器只提供一个数据值,另一些则提供三个浮点值。
方向和加速表传感器都提供三个数据值。当传感器的准确性更改时,将调用 onAccuracyChanged(int sensor,int accuracy) 方法。参数包括两个整数:一个表示传感器,另一个表示该传感器新的准确值。
使用Android设备和 Android Developer Tools 插件创建的应用程序。(关于使用 Eclipse 开发 Android 应用程序的信息,请参见 参考资料。)清单 1 展示了该应用程序的代码。
【编辑推荐】