《Android智能穿戴設備開發從入門到精通(含盤)》循序漸進地講解了在Android系統中開發穿戴設備的各種必備知識及其應用。書中幾乎涵蓋了Android穿戴設備應用開發方面的所有重點內容。全書共分14章,依次講解了Android開發技術基礎,Android技術核心框架分析,HTTP數據通信,使用Socket實現數據通信,下載遠程數據,上傳數據,傳感器技術,人工智能技術,語音識別和手勢識別,藍牙技術基礎,Android藍牙模塊詳解,藍牙4.0 BLE詳解,以及智能心率計和計步器的設計全過程。
《Android智能穿戴設備開發從入門到精通(含盤)》適用于Android初學者、Android應用開發、Android穿戴設備開發、Android底層開發人員和Android源碼分析人員學習,也可作為培訓學校和大中專院校相關專業的教學用書。
編排科學:通過基本理論、實例分析、綜合實戰等內容,引領讀者在實踐中掌握所學知識
內容全面:全面、深入講解傳感器開發、藍牙技術、數據傳輸等核心技術
實用性強:通過實例詳細講解實際開發項目經驗和技巧,內容更貼近實戰
2007年11月5日,谷歌公司發布了Android系統的第一個版本。Android是一款基于Linux平臺的開源手機操作系統的名稱,由整個操作系統、中間件、用戶界面和應用軟件組成。Android系統一經推出便受到了通信業巨頭和手機制造商的青睞,并且被全世界的開發者所接受。根據國際數據公司(IDC)公布的統計數據,截至2014年1月31日,手機市場上Android占有率從2013年的68.8%上升到78.9%。而iOS則從2013年的19.4%下降到15.5%,Windows Phone系統從原來的2.7%小幅上升到3.6%。從數據上看,Android平臺占據了手機市場的主導地位,繼續稱當老大的角色。78.9%,這是一個具有明顯優勢的比重,足以令后面的追趕著汗顏。我們有理由相信,至少在未來一段時間內,Android依舊能夠牢牢地占據著智能手機操作系統第一的這個寶座。
穿戴設備的發展歷程
自從谷歌推出Google眼鏡產品之后,可穿戴計算設備便成為當今科技界的火熱話題之一。在CES 2013和CES 2014(國際電子展),也有不少公司推出了眼鏡、腕帶等各種可穿戴計算設備,從此可穿戴設備開始流行起來。
為了更好地使人們了解可穿戴設備,FierceMobileIT特意整理了可穿戴設備的發展簡史,幫助人們了解這類產品的發展狀況。從中不難看出,如果能夠廣泛普及,像谷歌眼鏡這樣的設備有可能在將來會改變人們的生活和工作方式。
可穿戴設備的發展最早可以追溯到1762年,當時,約翰?哈里森(John Harrison)發明了懷表。但我們還是決定將這一技術的起始時間定在1975年,也就是Hamilton Watch推出Pulsar計算器手表的那一年。那款產品一時間成為男性時尚的代名詞,甚至連時任美國總統的杰拉爾德?福特(Gerald Ford)也想要一塊這樣的手表。
可穿戴設備簡史如下。
● 1975年:Hamilton Watch推出Pulsar計算器手表。
● 1977年:CC Collins為盲人開發了一款可穿戴設備,使用頭戴式攝像頭將圖像轉換成背心上的觸覺網格。
● 1979年:索尼推出Walkman卡帶隨身聽。
……
● 2011年:Jawbone推出UP健身腕帶,可以追蹤睡眠、運動、飲食狀況,并與智能手機應用關聯,零售價為130美元。
● 2012年:索尼推出SmartWatch,使用藍牙與Android手機相連,零售價為150美元。
Pebble發布Pebble Watch,提供健身及健康追蹤、上網和語音導航等功能?梢允褂盟{牙技術與智能手機應用相連,零售價為250美元。
● 2013年:谷歌向部分用戶推出測試版谷歌眼鏡。谷歌眼鏡是一款固定在眼鏡上的光學頭戴顯示器,可以進行語音控制,而且能夠利用Wi-Fi網絡上網。
全球第一大Android智能手機制造商三星發布Galaxy Gear智能手表,可以使用藍牙與Android智能手機相連。日本汽車制造商日產發布Nismo智能手表,可以為駕駛員提供平均時速、油耗和駕駛員心率等信息,零售價為120美元。
● 2014年:有關蘋果iWatch,據稱,這可能是一款能夠通過Wi-Fi上網的智能手表。
本書的內容
本書詳細講解了Android開發技術基礎,Android技術核心框架分析,HTTP數據通信,使用Socket實現數據通信,下載遠程數據,上傳數據,傳感器技術,人工智能技術,語音識別和手勢識別,藍牙系統應用,智能心率計設計,計步器設計等知識。內容幾乎涵蓋了Android穿戴設備應用開發方面的所有主要技術,并且全書內容言簡意賅,講解方法通俗易懂,不但適合應用高手的學習,也特別適用于初學者學習。
本書的版本
Android系統自2008年9月發布第一個版本1.1以來,截至2013年11月發布最新版本4.4,一共存在十多個版本。由此可見,Android系統升級頻率較快,一年之中最少有兩個新版本誕生。如果過于追求新版本,會造成力不從心的結果;因此在此建議廣大讀者:“不必追求最新的版本,我們只需關注最流行的版本即可。”據官方統計,截至2013年11月25日,占據前三位的系統版本分別是Android 4.3、Android 4.2和Android 4.1,其實這三個版本的區別并不大,只是在某些領域的細節上進行了更新。因此,本書以Android 4.3為基礎,詳細講解了Android系統安全方面的基本知識。
本書特色
本書內容十分豐富,講解細致、全面。我們的目標是通過一本圖書,提供多本圖書的價值,讀者可以根據自己的需要進行有選擇的閱讀。在內容的編寫上,本書具有以下特色:
(1)結構合理
從用戶的實際需要出發,科學安排知識結構,內容由淺入深,敘述清楚。全書詳細地講解了和Android穿戴設備應用開發有關的知識,內容循序漸進,由淺入深。
。2)遵循“理論介紹—演示實例—綜合演練”這一主線
為了使廣大讀者徹底弄清楚Android穿戴設備應用開發的每一個知識點,在講解時依次剖析了基本理論、演示實例分析、綜合實戰演練等內容。遵循了從理論到實踐,實現了實踐教學這一目標。
。3)易學易懂
本書內容條理清晰、語言簡潔,可以幫助讀者快速掌握每個知識點,使讀者既可以按照本書編排的章節順序進行學習,也可以根據自己的需求對某一章節進行針對性的學習,并且和傳統的計算機書籍相比,閱讀本書會為你帶來更大的樂趣。
。4)實用性強
本書徹底摒棄枯燥的理論和簡單的操作,注重實用性和可操作性,詳細講解了Android穿戴設備應用開發各個知識點的基本知識。
。5)內容全面
本書可以稱為“內容最全面的一本Android穿戴設備應用開發書”,無論是開發環境搭建,還是傳感器開發、數據傳輸、藍牙技術等,在本書中讀者都能找到解決問題的答案。
讀者對象
● 初學Android編程的自學者
● Android應用開發人員
● Android源碼愛好者
● Android穿戴設備開發人員
● 畢業設計的學生
● Android編程愛好者
● 相關培訓機構的老師和學員
● 從事Android開發的程序員
在此,特別感謝我的家人,他們在編者寫作時給予了巨大支持。由于編者水平有限,再加上Android系統更新較快,書中如有紕漏和錯誤之處,懇請讀者批評指正。
編 者
2014年9月
前 言
2007年11月5日,谷歌公司發布了Android系統的第一個版本。Android是一款基于Linux平臺的開源手機操作系統的名稱,由整個操作系統、中間件、用戶界面和應用軟件組成。Android系統一經推出便受到了通信業巨頭和手機制造商的青睞,并且被全世界的開發者所接受。根據國際數據公司(IDC)公布的統計數據,截至2014年1月31日,手機市場上Android占有率從2013年的68.8%上升到78.9%。而iOS則從2013年的19.4%下降到15.5%,Windows Phone系統從原來的2.7%小幅上升到3.6%。從數據上看,Android平臺占據了手機市場的主導地位,繼續稱當老大的角色。78.9%,這是一個具有明顯優勢的比重,足以令后面的追趕著汗顏。我們有理由相信,至少在未來一段時間內,Android依舊能夠牢牢地占據著智能手機操作系統第一的這個寶座。
穿戴設備的發展歷程
自從谷歌推出Google眼鏡產品之后,可穿戴計算設備便成為當今科技界的火熱話題之一。在CES 2013和CES 2014(國際電子展),也有不少公司推出了眼鏡、腕帶等各種可穿戴計算設備,從此可穿戴設備開始流行起來。
為了更好地使人們了解可穿戴設備,FierceMobileIT特意整理了可穿戴設備的發展簡史,幫助人們了解這類產品的發展狀況。從中不難看出,如果能夠廣泛普及,像谷歌眼鏡這樣的設備有可能在將來會改變人們的生活和工作方式。
可穿戴設備的發展最早可以追溯到1762年,當時,約翰?哈里森(John Harrison)發明了懷表。但我們還是決定將這一技術的起始時間定在1975年,也就是Hamilton Watch推出Pulsar計算器手表的那一年。那款產品一時間成為男性時尚的代名詞,甚至連時任美國總統的杰拉爾德?福特(Gerald Ford)也想要一塊這樣的手表。
可穿戴設備簡史如下。
● 1975年:Hamilton Watch推出Pulsar計算器手表。
● 1977年:CC Collins為盲人開發了一款可穿戴設備,使用頭戴式攝像頭將圖像轉換成背心上的觸覺網格。
● 1979年:索尼推出Walkman卡帶隨身聽。
……
● 2011年:Jawbone推出UP健身腕帶,可以追蹤睡眠、運動、飲食狀況,并與智能手機應用關聯,零售價為130美元。
● 2012年:索尼推出SmartWatch,使用藍牙與Android手機相連,零售價為150美元。
Pebble發布Pebble Watch,提供健身及健康追蹤、上網和語音導航等功能?梢允褂盟{牙技術與智能手機應用相連,零售價為250美元。
● 2013年:谷歌向部分用戶推出測試版谷歌眼鏡。谷歌眼鏡是一款固定在眼鏡上的光學頭戴顯示器,可以進行語音控制,而且能夠利用Wi-Fi網絡上網。
全球第一大Android智能手機制造商三星發布Galaxy Gear智能手表,可以使用藍牙與Android智能手機相連。日本汽車制造商日產發布Nismo智能手表,可以為駕駛員提供平均時速、油耗和駕駛員心率等信息,零售價為120美元。
● 2014年:有關蘋果iWatch,據稱,這可能是一款能夠通過Wi-Fi上網的智能手表。
本書的內容
本書詳細講解了Android開發技術基礎,Android技術核心框架分析,HTTP數據通信,使用Socket實現數據通信,下載遠程數據,上傳數據,傳感器技術,人工智能技術,語音識別和手勢識別,藍牙系統應用,智能心率計設計,計步器設計等知識。內容幾乎涵蓋了Android穿戴設備應用開發方面的所有主要技術,并且全書內容言簡意賅,講解方法通俗易懂,不但適合應用高手的學習,也特別適用于初學者學習。
本書的版本
Android系統自2008年9月發布第一個版本1.1以來,截至2013年11月發布最新版本4.4,一共存在十多個版本。由此可見,Android系統升級頻率較快,一年之中最少有兩個新版本誕生。如果過于追求新版本,會造成力不從心的結果;因此在此建議廣大讀者:“不必追求最新的版本,我們只需關注最流行的版本即可!睋俜浇y計,截至2013年11月25日,占據前三位的系統版本分別是Android 4.3、Android 4.2和Android 4.1,其實這三個版本的區別并不大,只是在某些領域的細節上進行了更新。因此,本書以Android 4.3為基礎,詳細講解了Android系統安全方面的基本知識。
本書特色
本書內容十分豐富,講解細致、全面。我們的目標是通過一本圖書,提供多本圖書的價值,讀者可以根據自己的需要進行有選擇的閱讀。在內容的編寫上,本書具有以下特色:
(1)結構合理
從用戶的實際需要出發,科學安排知識結構,內容由淺入深,敘述清楚。全書詳細地講解了和Android穿戴設備應用開發有關的知識,內容循序漸進,由淺入深。
。2)遵循“理論介紹—演示實例—綜合演練”這一主線
為了使廣大讀者徹底弄清楚Android穿戴設備應用開發的每一個知識點,在講解時依次剖析了基本理論、演示實例分析、綜合實戰演練等內容。遵循了從理論到實踐,實現了實踐教學這一目標。
(3)易學易懂
本書內容條理清晰、語言簡潔,可以幫助讀者快速掌握每個知識點,使讀者既可以按照本書編排的章節順序進行學習,也可以根據自己的需求對某一章節進行針對性的學習,并且和傳統的計算機書籍相比,閱讀本書會為你帶來更大的樂趣。
。4)實用性強
本書徹底摒棄枯燥的理論和簡單的操作,注重實用性和可操作性,詳細講解了Android穿戴設備應用開發各個知識點的基本知識。
(5)內容全面
本書可以稱為“內容最全面的一本Android穿戴設備應用開發書”,無論是開發環境搭建,還是傳感器開發、數據傳輸、藍牙技術等,在本書中讀者都能找到解決問題的答案。
讀者對象
● 初學Android編程的自學者
● Android應用開發人員
● Android源碼愛好者
● Android穿戴設備開發人員
● 畢業設計的學生
● Android編程愛好者
● 相關培訓機構的老師和學員
● 從事Android開發的程序員
孫嬌,資深Android開發工程師,精通Android、iOS移動應用開發和底層嵌入式開發,精通XMPP協議和企業級云端系統的構建,長期從事移動互聯網系統的框架設計和研發工作。張明星,碩士,精通Android、iOS移動應用開發和底層嵌入式開發,精通C、C++和Java語言。現就職于山東物聯網研究室,專門研究和物聯網有關的藍牙和紅外通信技術。
Chapter1Android開發技術基礎1
1.1智能手機系統介紹
1.1.1何謂智能手機
1.1.2主流智能手機系統介紹
1.2Android的巨大優勢
1.2.1優點一——系出名門
1.2.2優點二——強大的開發團隊
1.2.3優點三——誘人的獎勵機制
1.2.4優點四——開源
1.3搭建Android應用開發環境
1.3.1安裝AndroidSDK的系統要求
1.3.2安裝JDK
1.3.3獲取并安裝Eclipse和AndroidSDK
1.3.4安裝ADT
1.3.5設定AndroidSDKHome
1.3.6驗證開發環境
1.3.7創建Android虛擬設備(AVD)
1.3.8啟動AVD模擬器
1.4穿戴設備的前世今生
1.4.1發展歷程
1.4.2現狀介紹
1.4.3發展前景分析
1.4.4Android的支持
Chapter2Android技術核心框架分析
2.1分析Android的系統架構
2.1.1Android體系結構介紹
2.1.2Android應用工程文件組成
2.2簡述五大組件
2.2.1用Activity來表現界面
2.2.2用Intent和IntentFilters實現切換
2.2.3Service為用戶服務
2.2.4用BroadcastIntentReceiver發送廣播
2.2.5用ContentProvider存儲數據
2.3進程和線程
2.3.1先看進程
2.3.2再看線程
2.3.3應用程序的生命周期
2.4分析Android源碼結構
2.5Android和Linux的關系
2.5.1Android繼承于Linux
2.5.2Android和Linux內核的區別
2.6第一段Android程序
Chapter3HTTP數據通信
3.1HTTP基礎
3.1.1HTTP概述
3.1.2HTTP協議的功能
3.1.3Android中的HTTP
3.2使用Apache接口
3.2.1Apache接口基礎
3.2.2Apache應用要點
3.2.3Apache應用要點
3.3使用標準的Java接口
3.3.1IP地址
3.3.2URL地址
3.3.3套接字Socket類
3.3.4URLConncetion類
3.3.5在Android中使用java.net
3.4使用Android網絡接口
3.5實戰演練
3.5.1實戰演練——在手機屏幕中傳遞HTTP參數
3.5.2實戰演練——在Android手機中通過ApacheHTTP訪問HTTP資源
Chapter4使用Socket實現數據通信
4.1Socket編程初步
4.1.1TCP/IP協議基礎
4.1.2UDP協議
4.1.3基于Socket的Java網絡編程
4.2TCP編程詳解
4.2.1使用ServletSocket
4.2.2使用Socket
4.2.3TCP中的多線程
4.2.4實現非阻塞Socket通信
4.3UDP編程
4.3.1使用DatagramSocket
4.3.2使用MulticastSocket
4.4實戰演練——在Android中使用Socket實現數據傳輸
Chapter5下載遠程數據
5.1下載網絡中的圖片數據
5.2下載網絡中的JSON數據
5.2.1JSON基礎
5.2.2實戰演練——遠程下載服務器中的JSON數據
5.3下載某個網頁的源碼
5.4遠程獲取多媒體文件
5.4.1實戰演練——下載并播放網絡中的MP3
5.4.2實戰演練——下載在線鈴聲
5.5多線程下載
5.5.1多線程下載文件的過程
5.5.2實戰演練——在Android系統中實現多線程下載
5.6遠程下載并安裝APK文件
5.6.1APK基礎
5.6.2實戰演練——在Android系統中下載并安裝APK文件
Chapter6上傳數據
6.1Android上傳數據技術
6.1.1使用HTTP協議上傳數據
6.1.2使用TCP協議上傳數據
6.2實戰演練——上傳文件到遠程服務器
6.3使用GET方式上傳數據
6.4使用POST方式上傳數據
6.5使用HTTP協議實現上傳
6.5.1一段演示代碼
6.5.2實戰演練——HTTP協議實現文件上傳
Chapter7傳感器技術
7.1Android傳感器系統概述
7.2使用SensorSimulator
7.3使用傳感器
7.3.1光線傳感器
7.3.2磁場傳感器
7.3.3加速度傳感器
7.3.4姿態傳感器
7.3.5溫度傳感器
Chapter8人工智能技術
8.1人工智能基礎
8.1.1人工智能概述
8.1.2兩種實現人工智能的方法
8.2圖搜索在人工智能中的應用
8.2.1深度優先搜索(DFS)
8.2.2廣度優先搜索(BFS)
8.2.3戴克斯特拉算法(Dijkstra)
8.2.4A-Star算法
8.3實戰演練——各種AI圖搜索算法在Android游戲中的用法
8.3.1搭建路徑搜索框架
8.3.2實現深度優先算法
8.3.3實現廣度優先算法
8.3.4實現Dijkstra算法
8.3.5實現廣度優先A*算法
8.3.6實現DijkstraA*算法
Chapter9語音識別和手勢識別
9.1語音識別技術
9.1.1Text-To-Speech技術
9.1.2谷歌的VoiceRecognition技術
9.2手勢識別
9.2.1類GestureDetector基礎
9.2.2使用類GestureDetector
9.2.3通過點擊的方式移動圖片
Chapter10藍牙技術基礎
10.1藍牙概述
10.1.1藍牙技術的發展歷程
10.1.2藍牙的特點
10.2低功耗藍牙基礎
10.2.1低功耗藍牙的架構
10.2.2低功耗藍牙分類
10.2.3集成方式
10.2.4低功耗藍牙的特點
10.2.5BLE和傳統藍牙BR/EDR技術的對比
10.3藍牙規范
10.3.1Bluetooth系統中的常用規范
10.3.2藍牙協議體系結構
10.3.3低功耗(BLE)藍牙協議
10.3.4現有的基于GATT的協議/服務
10.3.5雙模協議棧
10.3.6單模協議棧
10.4低功耗藍牙協議棧詳解
10.4.1低功耗藍牙協議;A
10.4.2藍牙協議體系中的協議
10.5TI公司的低功耗藍牙
10.5.1獲取TI公司的低功耗藍牙協議棧
10.5.2分析TI公司的低功耗藍牙協議棧
Chapter11Android藍牙模塊詳解
11.1Android系統中的藍牙模塊
11.2分析藍牙模塊的源碼
11.2.1初始化藍牙芯片
11.2.2藍牙服務
11.2.3管理藍牙電源
11.3和藍牙相關的類
11.3.1BluetoothSocket類
11.3.2BluetoothServerSocket類
11.3.3BluetoothAdapter類
11.3.4BluetoothClass.Service類
11.3.5BluetoothClass.Device類
11.4在Android平臺開發藍牙應用程序
11.4.1開發Android藍牙應用程序的基本步驟
11.4.2開發一個控制玩具車的藍牙遙控器
11.5在穿戴設備中開發一個藍牙控制器
11.5.1界面布局
11.5.2響應單擊按鈕
11.5.3和指定的服務器建立連接
11.5.4搜索附近的藍牙設備
11.5.5建立和OBEX服務器的數據傳輸
11.5.6實現藍牙服務器端的數據處理
Chapter12藍牙4.0BLE詳解
12.1短距離無線通信技術概覽
12.1.1ZigBee——低功耗、自組網
12.1.2WiFi——大帶寬支持家庭互聯
12.1.3藍牙——4.0進入低功耗時代
12.1.4NFC——必將逐漸遠離歷史舞臺
12.2藍牙4.0BLE基礎
12.2.1藍牙4.0的最杰出表現是低功耗
12.2.2藍牙4.0的優勢
12.2.3Bluetooth4.0BLE推動了可穿戴設備的興起
12.2.4BLE推動了Android可穿戴設備的發展
12.3低功耗藍牙協議棧詳解
12.3.1低功耗藍牙協議棧基礎
12.3.2低功耗藍牙API詳解
Chapter13項目實戰——開發智能心率計
13.1什么是心率
13.2什么是心率表
13.3開發一個Android版測試心率系統
13.3.1系統主界面
13.3.2繪制心率表
Chapter14項目實戰——開發計步器
14.1系統功能模塊介紹
14.2系統主界面
14.2.1布局文件
14.2.2系統主Activity
14.3系統設置模塊
14.3.1系統設置Activity
14.3.2獲取各個設置值
14.3.3系統服務設置
14.3.4獲取并顯示熱量
14.3.5顯示行走距離
14.3.6獲取并顯示步伐速率
14.3.7獲取并顯示行走速率