新聞中心
Android 是一個靈活、有吸引力的平臺,Google的Android 領域發(fā)展迅速,并且越來越發(fā)展的強大,下面的文章進行全面的介紹Android傳感器和報告系統(tǒng)有關的應用程序架構。

在吳忠等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站設計制作、成都網(wǎng)站建設 網(wǎng)站設計制作按需定制制作,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站建設,網(wǎng)絡營銷推廣,外貿(mào)網(wǎng)站制作,吳忠網(wǎng)站建設費用合理。
應用程序(活動)暫停后,需要注銷偵聽器,這樣以后就不會再收到傳感器更新。這通過 SensorManager 的 unregisterListener 方法實現(xiàn)。惟一的參數(shù)是 SensorListener 的實例。在 registerListener 和 unregisterListener 方法調(diào)用中,應用程序使用關鍵字 this。注意類定義中的 implements 關鍵字。
其中聲明了該類實現(xiàn) SensorListener 接口。這就是要將它傳遞到 registerListener 和 unregisterListener 的原因。SensorListener 必須實現(xiàn)兩個方法 onSensorChange 和onAccuracyChanged。示例應用程序不關心傳感器的準確度。
但關注傳感器當前的 X、Y 和 Z 值。onAccuracyChanged 方法實質(zhì)上不執(zhí)行任何操作;它只在每次調(diào)用時添加一個日志項。似乎經(jīng)常需要調(diào)用 onSensorChanged 方法,因為加速表和方向傳感器正在快速發(fā)送數(shù)據(jù)。查看***個參數(shù)確定哪個傳感器在發(fā)送數(shù)據(jù)。
確認了發(fā)送數(shù)據(jù)的傳感器之后,將使用方法第二個參數(shù)傳遞的浮點值數(shù)組中所包含的數(shù)據(jù)更新相應的 UI 元素。該示例只是顯示這些值,但在更加高級的應用程序中,還可以分析這些值,比較原來的值,或者設置某種模式識別算法來確定用戶(或外部環(huán)境)的行為。
現(xiàn)在您已經(jīng)了解了傳感器子系統(tǒng),接下來的部分將回顧一個在Android傳感器上錄制音頻的代碼樣例。該樣例運行在 DEV1 開發(fā)設備上。android.media 包包含與媒體子系統(tǒng)交互的類。使用 android.media.MediaRecorder 類進行媒體采樣,包括音頻和視頻。MediaRecorder 作為狀態(tài)機運行。
您需要設置不同的參數(shù),比如源設備和格式。設置后,可執(zhí)行任何時間長度的錄制,直到用戶停止。清單 2 包含的代碼在 Android 設備上錄制音頻。顯示的代碼不包括應用程序的 UI 元素(完整源代碼見 下載)。在 startRecording 方法中,實例化并初始化 MediaRecorder 的實例:
輸入源被設置為麥克風(MIC)。輸出格式被設置為 3GPP(*.3gp 文件),這是移動設備專用的媒體格式。編碼器被設置為 AMR_NB,這是音頻格式,采樣率為 8 KHz。NB 表示窄頻。SDK 文檔 解釋了不同的數(shù)據(jù)格式和可用的編碼器。
音頻文件存儲在存儲卡而不是內(nèi)存中。External.getExternalStorageDirectory() 返回存儲卡位置的名稱,在該目錄中將創(chuàng)建一個臨時文件名。然后,通過調(diào)用 setOutputFile 方法將文件關聯(lián)到 MediaRecorder 實例。音頻數(shù)據(jù)將存儲到該文件中。調(diào)用 prepare 方法完成 MediaRecorder 的初始化。
準備開始錄制流程時,將調(diào)用 start 方法。在調(diào)用 stop 方法之前,將對存儲卡上的文件進行錄制。release 方法將釋放分配給 MediaRecorder 實例的資源。在該代碼樣例中,processaudiofile 方法將音頻添加到媒體庫。使用 Intent 通知設備上的媒體應用程序有新內(nèi)容可用。
關于該代碼片段***要注意的是:如果您試用,它一開始不會錄制音頻。您將看到創(chuàng)建的文件,但是沒有任何音頻。您需要向 AndroidManifest.xml 文件添加權限?,F(xiàn)在,您已經(jīng)學了一點關于與 Android 傳感器和錄制音頻相關的內(nèi)容。下一節(jié)將更全面的介紹與數(shù)據(jù)采集和報告系統(tǒng)有關的應用程序架構。
該架構很靈活;應用程序邏輯可以劃分為本地 Android 設備和服務器端資源(可以實現(xiàn)更大的數(shù)據(jù)庫和計算功能)。例如,本地 Android 設備上錄制的音軌可以 POST 到 Web 服務器,其中將根據(jù)音頻模式數(shù)據(jù)庫比較數(shù)據(jù)。很明顯,這僅僅是冰山一角。希望您能更深入地研究,讓 Android 平臺超越移動電話的范疇。
該架構很靈活;應用程序邏輯可以劃分為本地 Android 設備和服務器端資源(可以實現(xiàn)更大的數(shù)據(jù)庫和計算功能)。例如,本地 Android 設備上錄制的音軌可以 POST 到 Web 服務器,其中將根據(jù)音頻模式數(shù)據(jù)庫比較數(shù)據(jù)。很明顯,這僅僅是冰山一角。希望您能更深入地研究,讓Android傳感器超越移動電話的范疇。
【編輯推薦】
- Android應用程序組建原理深入剖析
- Android SMS短信服務相關概念簡述
- PythonAndroid數(shù)據(jù)庫相關代碼解讀
- PythonAndroid安裝卸載程序具體操作方法解析
- Android應用程序的四個關鍵點
網(wǎng)站欄目:對Android傳感器系統(tǒng)全解析
本文鏈接:http://m.fisionsoft.com.cn/article/cdopjdi.html


咨詢
建站咨詢
