Android感測器高級編程

Android感測器高級編程

《Android感測器高級編程》利用你所需的知識和代碼來武裝你,幫助你很好地利用Android中的感測器。從確定智慧型手機的位置和解釋物理感測器,到處理圖像、音頻和識別語音,你將學會如何有效地調用感測器相關的API。使用這些信息,不僅能在開發過程中節省時間,而且還能創建融合了新層次的互動和自動化的特色套用。

基本介紹

  • 書名:Android感測器高級編程
  • 作者:米內特 (Greg Milette) 斯川德 (Adam Stroud)
  • 出版社:清華大學出版社
  • 頁數:481頁
  • 開本:16
  • 定價:79.80
  • 外文名:Professional Android Sensor Programming
  • 類型:Android
  • 出版日期:2013年12月1日
  • 語種:簡體中文
  • ISBN:7302340773, 9787302340775
  • 品牌:清華大學出版社
基本介紹,內容簡介,作者簡介,圖書目錄,文摘,

基本介紹

內容簡介

《Android感測器高級編程》由清華大學出版社出版。

作者簡介

作者:(美國)米內特(Greg Milette) (美國)斯川德(Adam Stroud) 譯者:裴佳迪

圖書目錄

第1部分位置服務
第1章Android位置服務簡介
1.1用於確定位置的方法
1.1.1GPS提供者
1.1.2網路提供者
(Network Provider)
1.2小結
第2章確定設備當前位置
2.1了解你的工具
2.1.1LocationManager
2.1.2 Location Provider
2.1.3 Location
2.1.4 Crite血
2.1.5LocationListener
2.2設定Android清單
2.3確定合適的位置提供者
2.3.1GPS位置提供者
2.3.2網路位置提供者
2.3.3被動位置提供者
2.3.4精確度與電池壽命
2.4獲取位置更新
2.4.1使用LocationListener獲取位置更新
2.4.2使用廣播Intent來獲取位置更新
2.5實現示例套用
2.5.1實現LocationListener
2.5.2獲取LocationManager的句柄
2.5.3請求位置更新
2.5.4自行清理
2.5.5啟動位置設定活動
2.6小結
第3章跟蹤設備的移動
3.1收集位置數據
3.1.1使用廣播接收器獲取位置更新
3.1.2使用服務
3.2查看跟蹤數據
3.3過濾位置數據
3.4持續的位置跟蹤和電池壽命
3 .4.1減少位置更新頻率
3.4.2限制位置提供者
3.5小結
第4章接近警報
4.1套用結構
4.1.1地理編碼
4.1.2設定接近警報
4.1.3對接近警報做出回響
4.2接近警報的局限性
4.2.1電池壽命
4.2.2許可權
4.3更有效的接近警報
4.4小結
第n部分推斷來自物理感測器的信息
第5章物理感測器概述
5.1定義
5.2 Android感測器API
5.2.1 SensorManager
5.2.2SenSOr
5.2.3感測器速率
5.2.4感測器範圍和解析度
5.2.5SensorEventListener
5.2.6SensorEvent
5.2.7 Sensor LiSt
5.3感知環境
5.3.1Sensor.TYPELIGHT
5.3.2 Sensor.TYPE_PROXIMITY
5.3.3 Sensor.TYPE._ PRESSURE
5.3.4Sensor.TYPE RELATIVEHUMIDITY
5.3.5Sensor.TYPE.AMBIENTTEMPERATURE
5.3.6Sensor.TYPETEMPERATURE
5.4感知設備方向和移動
5.4.1坐標系
5.4.2全局坐標系
5.4.3設備坐標系
5.4.4角度
5.4.5 Sensor.TYPE ACCELEROME-TER、TYPE GRAVITY以及TYPE LINEARACCELERATION
5.4.6 Sensor.TYPEGYROSCOPE
5.4.7 Sensor.TYPE_MAGNETICFIELD
5.4.8 Sensor.TYPE ROTATIONVECTOR
5.4.9 SensorManagergetOrientation()
5.4.10 SensorManager.getInclination()
5.4.11感測器融合方案
5.5小結
第6章誤差及感測器信號處理
6.1定義
6.1.1準確度和精確度
6.1.2誤差類型
6.1.3修正誤差的技術
6.2濾波器
6.2.1低通濾波
6.2.2高通濾波
6.2.3帶通濾波
6.2.4Kalman濾波器的介紹
6.3使用感測器融合技術更好地確定方向
6.4小結
第7章確定設備方向
7.1預覽示例套用
7.2確定設備方向
7.2.1重力感測器
7.2.2加速計和磁強計
7.2.3重力感測器和磁強計
7.2.4旋轉矢量
7.2.5詳細實現
7.3 NorthFinder
7.4小結
第8章檢測運動
8.1加速度數據
8.1.1加速計數據
8.1.2線性加速度感測器數據
8.1.3設備運動時的數據
8.1.4總加速度
8.2代碼實現
8.2.1 DetermineMovementActivity
8.2.2 AccelerationEventListener
8.3小結
第9章感知環境
9.1氣壓計與GPS
9.2示例套用概述
9.2.1詳細實現
9.2.2相對海拔高度
9.3小結
第10章Android開放外設
10.1概述AOA的歷史
10.1.1USB主機與USB外設
10.1.2電源要求
10.1.3支持的Android設備
10.2 Android開發包(ADK)
10.2.1硬體組件
10.2.2軟體組件
10.3 AOA感測器與設備本地感測器
10.4感測器之外的AOA
10.5AOA的局限性
10.6 AOA和溫度感知
10.7將Android外設放至消費者市場
10.8小結
第Ⅲ部分感知增強的、模式豐富的外部世界
第11章近場通信(NFC)
11.1 RFID
11.2NFC
11.2.1 NDEF數據格式
11.2.2如何以及從哪裡購買NFC標籤
11.2.3 NFC的優點和缺點
11.3構建一個庫存跟蹤系統
11.3.1場景
11.3.2 NFC庫存演示套用
11.3.3在設定中啟用NFC
11.3.4通過套用調試標籤
11.4 AndroidAPI
11.4.1AndroidManifest.xml檔案
11.4.2主Activtity類
11.4.3整合
11.5未來的構想
11.5.1 NFC N-Mark
11.5.2點對點NFC共享
11.5.3點對點Android API
11.6 NFC的新套用
11.7小結
第12章使用攝像頭
12.1使用攝像頭ActiVity
12.1.1使用Activity控制
攝像頭
12.1.2控制攝像頭
12.2創建一個簡單的條形碼讀取器
12.2.1了解條形碼
12.2.2自動對焦
12.2.3檢測條形碼
12.3小結
第13章圖像處理技術
13.1圖像處理程式的結構
13.1.1圖像處理管道
13.1.2常用的圖像處理操作
13.1.3 JJIL
13.1.4 JnL與檢測Android logo
13.2人臉探測
13.3圖像處理資源
13.4小結
第14章使用麥克風
14.1介紹Android聲控開關
14.2使用MediaRecorder分析最大振幅
14.2.1錄製最大振幅
14.2.2異步音頻錄製
14.3實現聲控開關
14.4分析原始音頻
14.4.1設定音頻輸入參數
14.4.2準備AudioRecord
14.4.3錄製音頻
14.4.4使用OnRecordPosition-UpdateLiStener
14.5使用巨響檢測
14.6使用一致的頻率檢測
14.6.1預測頻率
14.6.2實現樂音聲控開關
14.7小結
第Ⅳ部分與Android對話
第15章設計帶語音功能的套用
15.1了解你的工具
15.2用戶界面螢幕流
15.3語音操作類型
15.4語音用戶界面設計
15.4.1決定適合語音操作的任務
15.4.2設計套用和用戶所說的內容
15.4.3設計完成之後
15.5測試設計
15.6小結
15.7參考文獻
第16章使用語音識別和文本轉語音API
16.1文本轉語音
16.1.1初始化
16.1.2朗讀
16.2語音識別
16.2.1初始化
16.2.2使用Recognizer Intent
16.2.3使用SpeechRecognizer的直接語音識別
16.3小結
第17章匹配所說的話
17.1語音命令的各個部分
17.2單詞識別
17.3匹配持久化存儲中的
命令單詞
17.3.1 SQLite全文本搜尋
17.3.2使用Lucene進行單詞搜尋
17.4多部分命令
17.4.1忽略潛在的衝突
17.4.2考慮順序
17.5使用語法
17.6小結
第18章執行語音操作
18.1食物對話VUI設計
18.2定義和執行語音操作
18.3執行VoiceActionCommand
18.4為語音操作實現AlertDialog
18.5實現多輪次語音操作
18.5.1實現多輪次AddFood
18.5.2實現多輪次RemoveFood
18.6做出最佳猜測
18.6.1放寬匹配的嚴格度
18.6.2放寬命令之間的嚴格度
18.6.3做出有根據的猜測
18.7在識別失敗時做出回響
18.7.1確定不是命令
18.7.2確定不準確的識別
18.7.3沒有理解
18.8小結
第19章實現語音激活
19.1實現語音激活
19.1.1啟動語音識別
19.1.2在Activity中實現語音激活
19.1.3使用移動檢測激活語音識別
19.1.4使用麥克風激活語音識別
19.1.5使用持續的語音識別激活語音識別
19.1.6使用NFC激活語音識別
19.2實現持久的語音激活
19.3小結

文摘

著作權頁:



2.4.1使用LocationListener獲取位置更新
實現了LocationListener的對象會通過對其onLocationChanged()方法的調用而收到位置更新通知。這個將會收到位置更新的LcoationListener實例是通過LocationManager註冊的。當LocationManager有一個新的位置要提供時,它調用每個監聽器的onLocationChanged()方法。關於LocationListener的進一步討論延後到2.5.1節,在這一節中會講解示例套用的Java代碼。
2.4.2使用廣播Intent來獲取位置更新
在套用需要多個套用組件都能獲取更新的情況下,有一個含有位置更新的Intent廣播可以提供更高的靈活性。為了使用廣播Intent,套用需要實現BroadcastReceiver,並且註冊它以獲取位置更新的Intent。這可以在Android清單中完成,也可以在運行時完成。第4章創建的示例套用中將包含廣播Intent的用法。
2.5實現示例套用
本節提供把所有的定位API集中起來並開始獲取位置數據的詳細實現。
示例套用有一個活動,叫做CurrentLocationActivity,用來展示當前的位置,而且包含了一個按鈕,允許用戶可以啟用/停用位置提供者。一旦套用得到一個位置,就會在螢幕上顯示位置的洋細信息。這可以讓用戶在實際設備上看到位置服務的工作,並且讓用戶開始感受不同位置提供者之間精確度以及TTFF值的差別。這對於理解精確度和TTFF的細節,
以及在開發套用的過程中對於如何關聯到不同提供者的決策,是非常重要的。
  

相關詞條

熱門詞條

聯絡我們