漫談Android設備選項
現(xiàn)在您已經(jīng)了解了傳感器子系統(tǒng),接下來的部分將回顧一個在 Android 手機上錄制音頻的代碼樣例,該樣例運行在 Android設備上,onAccuracyChanged 方法實質(zhì)上不執(zhí)行任何操作,它只在每次調(diào)用時添加一個日志項。
Android 是一個面向應用程序開發(fā)的富平臺,它擁有許多具有吸引力的用戶界面元素和數(shù)據(jù)管理功能。Android 還提供了一組豐富的接口選項。在本文中,學習如何配合使用 Android 的各種傳感器選項監(jiān)控您的環(huán)境。
想構建自己的嬰兒監(jiān)視器嗎?想用聲音來接聽電話或者打開房門嗎?請學習如何利用配備有 Android 的設備的硬件功能。對于 Java開發(fā)人員來說,Android 平臺是通過使用硬件傳感器創(chuàng)建創(chuàng)新應用程序的理想平臺。
我們將學習一些可用于 Android 應用程序的接口連接選項,包括使用傳感器子系統(tǒng)和錄制音頻片段。利用配備 Android設備的硬件功能可以構建哪些應用程序呢?任何需要電子監(jiān)視和監(jiān)聽的應用程序都可以構建。嬰兒監(jiān)視器、安全系統(tǒng),甚至地震儀都可以。
理論上講,您不能同時出現(xiàn)在兩個地方,但 Android 可以利用一些可行的方法實現(xiàn)這一點??v觀本文始末,您必須記住。使用的 Android設備不僅僅局限于 “手機”,還可以是部署在固定位置、具有無線網(wǎng)絡連接的設備,比如 EDGE 或 WiFi。下載 本文示例的源文件。
使用 Android 平臺有一個很新穎的地方,那就是您可以在設備內(nèi)部訪問一些 “好工具”。過去,訪問設備底層硬件的能力一度讓移動開發(fā)人員感到非常棘手。盡管 Android Java 環(huán)境的角色仍然是您和設備的橋梁,但 Android 開發(fā)團隊讓許多硬件功能浮出了水面。該平臺是一個開源平臺,因此您可以自由地編寫代碼實現(xiàn)您的任務。
如果尚未安裝 Android,您可以 下載 Android SDK。您還可以 瀏覽 android.hardware 包的內(nèi)容并參考本文的示例。android.media 包 包含了一些提供有用和新穎功能的類。Android SDK 中包含的一些面向硬件的功能描述如下,SensorListener 接口是傳感器應用程序的中心。它包括兩個必需方法:
onSensorChanged(int sensor,float values[]) 方法在傳感器值更改時調(diào)用。該方法只對受此應用程序監(jiān)視的傳感器調(diào)用(更多內(nèi)容見下文)。該方法的參數(shù)包括:一個整數(shù),指示更改的傳感器;一個浮點值數(shù)組,表示傳感器數(shù)據(jù)本身。有些傳感器只提供一個數(shù)據(jù)值,另一些則提供三個浮點值。
方向和加速表傳感器都提供三個數(shù)據(jù)值。當傳感器的準確性更改時,將調(diào)用 onAccuracyChanged(int sensor,int accuracy) 方法。參數(shù)包括兩個整數(shù):一個表示傳感器,另一個表示該傳感器新的準確值。
使用Android設備和 Android Developer Tools 插件創(chuàng)建的應用程序。(關于使用 Eclipse 開發(fā) Android 應用程序的信息,請參見 參考資料。)清單 1 展示了該應用程序的代碼。
【編輯推薦】