《Android物聯網開發從入門到實戰》是2015年出版的圖書,作者是孫光宇、張玲玲。
基本介紹
- 書名:Android物聯網開發從入門到實戰
- 作者:孫光宇、張玲玲
- ISBN:9787302400844
- 類別:工具書
- 定價:89.80
- 出版時間:2015.07.01
- 裝幀:平裝
圖書信息,內容簡介,圖書目錄,
圖書信息
作者:孫光宇、張玲玲
定價:89.80元
印次:1-3
ISBN:9787302400844
出版日期:2015.07.01
印刷日期:2016.04.14
定價:89.80元
印次:1-3
ISBN:9787302400844
出版日期:2015.07.01
印刷日期:2016.04.14
內容簡介
本書內容分為 5篇,總計 17章,循序漸進地講解了 Android物聯網開發的基本知識。本書從獲取源碼和搭建套用開發環境開始講起,依次講解了基礎知識篇、數據傳輸篇、信息識別篇、感測器套用篇和技術提高篇這 5大部分內容。在講解每一個知識時,都遵循了理論聯繫實際的講解方式,從核心分析到接口 API實現,再到實戰演練,最後到綜合實例演練,徹底剖析了物聯網項目開發的完整實現流程。
本書幾乎涵蓋了當下Android物聯網開發的絕大多數內容,講解方法通俗易懂並且詳細,不但適合套用高手們學習,也特別便於初學者學習和理解。
本書適合Android驅動開發者、Linux開發人員、Android物聯網開發人員、Android愛好者、Android源碼分析人員、Android套用開發人員、Android感測器開發人員、Android智慧型家居開發人員、Android可穿戴設備人員的學習,也可以作為相關培訓學校和大專院校相關專業的教學用書。
圖書目錄
第1篇 基礎知識篇
第1章 Android系統介紹 2
1.1 縱覽智慧型設備系統 2
1.1.1 Symbian(塞班) 2
1.1.2 Android(安卓) 2
1.1.3 iOS(蘋果系統) 3
1.1.4 Windows Phone(微軟系統) 4
1.1.5 BlackBerry OS(黑莓) 4
1.2 分析Android成功的秘訣 5
1.2.1 強有力的業界支持 5
1.2.2 研發陣容強大 6
1.2.3 為開發人員“精心定製” 6
1.2.4 開源 6
1.3 剖析Android系統架構 7
1.3.1 底層作業系統層(OS) 7
1.3.2 各種庫(Libraries)和Android
運行環境(RunTime) 8
1.3.3 Application Framework
(應用程式框架) 9
1.3.4 頂層應用程式(Application) 9
1.4 核心組件 9
1.4.1 Activity界面 9
1.4.2 Intent和Intent Filters 10
1.4.3 Service服務 10
1.4.4 Broadcast Receiver傳送廣播 11
1.4.5 用Content Provider存儲數據 11
1.5 進程和執行緒 12
1.5.1 什麼是進程 12
1.5.2 什麼是執行緒 12
1.6 物聯網技術改變未來 13
1.6.1 什麼是物聯網 13
1.6.2 發展歷程 13
1.6.3Android正在成為物聯網標準作業系統 14
1.7智慧型設備兇猛來襲 15
1.7.1常見的Android智慧型設備 15
1.7.2新興熱點——可穿戴設備 17
1.7.3可穿戴設備的發展前景分析 19
1.7.4Android對穿戴設備的支持——
AndroidWear 120
第2章搭建Android開發環境 21
2.1在Linux系統獲取Android源碼 21
2.2在Windows平台獲取Android源碼 22
2.3編譯源碼 24
2.3.1搭建編譯環境 25
2.3.2開始編譯 26
2.3.3在模擬器中運行 27
2.3.4常見的錯誤分析 27
2.3.5實踐演練——演示兩種編譯Android
程式的方法 28
2.4編譯AndroidKernel 32
2.4.1獲取Goldfish核心代碼 34
2.4.2獲取MSM核心代碼 34
2.4.3獲取OMAP核心代碼 34
2.4.4編譯Android的Linux核心 34
2.5搭建Android套用開發環境 36
2.5.1安裝JDK 37
2.5.2獲取並安裝Eclipse和AndroidSDK 39
2.5.3快速安裝SDK 42
2.5.4安裝ADT 43
2.5.5驗證設定 45
2.5.6創建Android虛擬設備(AVD) 46
2.5.7啟動AVD模擬器 48
第2篇 數據傳輸篇
第3章基本數據通信 52
3.1HTTP通信 52
3.1.1Android中的HTTP 52
3.1.2使用Apache接口 53
3.1.3在Android中使用java.net 57
3.1.4使用Android網路接口 59
3.1.5實戰演練——在螢幕中傳遞HTTP參數 60
3.1.6實戰演練——在戶外運動過程中訪問
HTTP地圖 64
3.2使用Socket實現數據通信 67
3.2.1基於Socket的Java網路編程 67
3.2.2使用TCP協定傳輸數據 68
3.3下載數據 72
3.3.1實戰演練——下載遠程伺服器中的圖片 72
3.3.2實戰演練——下載網路中的JSON信息 73
3.3.3實戰演練——下載並播放網路MP3 78
3.4上傳數據 84
3.4.1實戰演練——上傳檔案到遠程伺服器 84
3.4.2實戰演練——使用GET方式上傳數據 87
3.4.3實戰演練——使用POST方式上傳數據 91
3.5處理XML數據 94
3.5.1XML的概述 95
3.5.2XML的語法 95
3.5.3獲取XML文檔 96
3.5.4SAX常用的接口和類 98
3.5.5實戰演練——使用SAX解析XML數據 100
3.5.6實戰演練——使用DOM解析XML
數據 103
第4章藍牙技術詳解 106
4.1短距離無線通信技術概覽 106
4.1.1ZigBee——低功耗、自組網 106
4.1.2WiFi——大頻寬支持家庭互聯 107
4.1.3藍牙——4.0進入低功耗時代 107
4.1.4NFC——必將逐漸遠離歷史舞台 108
4.2低功耗藍牙基礎 108
4.2.1低功耗藍牙的架構 109
4.2.2低功耗藍牙分類 109
4.2.3低功耗藍牙的集成方式 110
4.2.4低功耗藍牙的特點 111
4.2.5BLE和傳統藍牙BR/EDR技術的對比 111
4.3藍牙4.0BLE基礎 112
4.3.1低功耗是最大特點 112
4.3.2推動了可穿戴設備的興起 112
4.4藍牙規範 113
- 4.4.1Bluetooth常用規範 114
- 4.4.2藍牙協定體系結構 114
- 4.4.3低功耗(BLE)藍牙協定 116
- 4.4.4基於GATT的協定/服務 116
- 4.4.5雙模協定棧和單模協定棧 117
- 4.5低功耗藍牙協定棧詳解 118
- 4.5.1什麼是藍牙協定棧 118
- 4.5.2藍牙協定體系中的協定 119
- 4.6TI公司的低功耗藍牙 121
- 4.6.1獲取藍牙協定棧 121
- 4.6.2BLE藍牙協定棧結構 123
- 4.6.3BLE低功耗藍牙系統架構 124
- 4.6.4硬體抽象層HAL和BLE低功耗藍牙
- 協定棧 125
- 4.7實戰演練——使用藍牙控制電風扇 129
- 第5章Android藍牙系統詳解 142
- 5.1Android系統中的藍牙模組 142
- 5.2分析藍牙模組的源碼 143
- 5.2.1初始化藍牙晶片 144
- 5.2.2藍牙服務 144
- 5.2.3管理藍牙電源 145
- 5.3和藍牙相關的類 145
- 5.3.1BluetoothSocket類 145
- 5.3.2BluetoothServerSocket類 147
- 5.3.3BluetoothAdapter類 147
- 5.3.4BluetoothClass.Service類 154
- 5.3.5BluetoothClass.Device類 154
- 5.4AndroidBlueDroid架構詳解 155
- 5.4.1Android系統中BlueDroid的架構 155
- 5.4.2ApplicationFramework層分析 155
- 5.4.3分析BluetoothSystemService層 163
- 5.4.4JNI層詳解 163
- 5.4.5HAL層詳解 168
- 5.5Android中的低功耗藍牙協定棧 168
- 5.5.1低功耗藍牙協定棧基礎 169
- 5.5.2低功耗藍牙API詳解 169
- 第3篇 信息識別篇
- 第6章語音識別技術詳解 216
- 6.1語音識別技術基礎 216
- 6.1.1語音識別的發展歷史 216
- 6.1.2語音識別技術的發展歷程 217
- 6.2Text-To-Speech技術 217
- 6.2.1Text-To-Speech基礎 217
- 6.2.2Text-To-Speech的實現流程 218
- 6.2.3實戰演練——使用Text-To-Speech實現
- 語音識別 221
- 6.2.4實戰演練——藉助開源項目實現中文
- 語音識別 222
- 6.3VoiceRecognition技術詳解 227
- 6.3.1VoiceRecognition技術基礎 228
- 6.3.2實戰演練——使用VoiceRecognition
- 實現語音識別 230
- 6.4實戰演練——為設備中所有的APP
- 實現語音提醒功能 233
- 第7章手勢識別實戰 261
- 7.1Android中的事件監聽機制 261
- 7.1.1Android系統中的監聽事件 261
- 7.1.2Android事件監聽器的回調方法 262
- 7.1.3Android事件處理的兩種模型 263
- 7.1.4基於自定義監聽器的事件處理流程 264
- 7.2手勢識別技術介紹 266
- 7.2.1手勢識別類GestureDetector 266
- 7.2.2手勢檢測器類GestureDetector 267
- 7.2.3手勢識別處理事件和方法 270
- 7.3實戰演練——通過點擊的方式移動
- 圖片 271
- 7.4實戰演練——實現各種手勢識別 274
- 7.4.1布局檔案main.xml 274
- 7.4.2隱藏螢幕頂部的電池等圖示和標題
- 內容 274
- 7.4.3監聽觸控螢幕幕中各種常用的手勢 275
- 7.4.4根據監聽到的用戶手勢創建視圖 276
- 7.5實戰演練——實現手勢翻頁效果 278
- 7.5.1布局檔案main.xml 278
- 7.5.2監聽手勢 278
- 第8章在物聯網設備中處理多媒體數據 284
- 8.1Android多媒體系統架構基礎 284
- 8.1.1OpenMax框架介紹 285
- 8.1.2OpenCore框架介紹 286
- 8.1.3StageFright框架介紹 287
- 8.2Graphics類詳解 288
- 8.2.1Graphics類基礎 288
- 8.2.2使用Graphics類 288
- 8.3二維動畫 293
- 8.3.1類Drawable 293
- 8.3.2實現Tween動畫效果 294
- 8.3.3實現Frame動畫效果 296
- 8.4OpenGLES詳解 301
- 8.4.1OpenGLES基礎 301
- 8.4.2Android用到OpenGLES 301
- 8.4.3OpenGLES的基本操作 302
- 8.4.4繪製圖形 308
- 8.5音頻開發 312
- 8.5.1音頻接口類 312
- 8.5.2AudioManager控制鈴聲 313
- 8.6錄音詳解 321
- 8.6.1使用MediaRecorder接口錄製音頻 321
- 8.6.2使用AudioRecord接口錄音 324
- 8.7在物聯網設備中播放音樂 327
- 8.7.1使用AudioTrack播放音頻 327
- 8.7.2使用MediaPlayer播放音頻 328
- 8.7.3使用SoundPool播放音頻 328
- 8.8為物聯網設備實現振動功能 329
- 8.9實戰鬧鐘功能 330
- 第9章GPS地圖定位 331
- 9.1位置服務 331
- 9.1.1類location詳解 331
- 9.1.2實現定位服務功能 332
- 9.1.3實戰演練——在Android設備中實現
- GPS定位 334
- 9.2隨時更新位置信息 336
- 9.2.1庫Maps中的類 337
- 9.2.2使用LocationManager監聽位置 337
- 9.2.3實戰演練——監聽當前設備的坐標和
- 海拔 339
- 9.3在設備中使用地圖 348
- 9.3.1添加GoogleMap密鑰 348
- 9.3.2使用MapAPI密鑰 351
- 9.3.3實戰演練——在Android設備中使用
- 谷歌地圖實現定位 353
- 9.4接近警報 357
- 9.4.1類Geocoder基礎 357
- 9.4.2Geocoder的公共構造器和公共方法 359
- 9.4.3實戰演練——接近某個位置時實現自動
- 提醒 361
- 第4篇 感測器套用篇
- 第10章Android感測器系統架構詳解 376
- 10.1Android感測器系統概述 376
- 10.2Java層詳解 377
- 10.3Frameworks層詳解 383
- 10.3.1監聽感測器的變化 383
- 10.3.2註冊監聽 384
- 10.4JNI層詳解 395
- 10.4.1實現本地函式 396
- 10.4.2處理客戶端數據 400
- 10.4.3處理服務端數據 403
- 10.4.4封裝HAL層的代碼 417
- 10.4.5訊息佇列處理 421
- 10.5HAL層詳解 424
- 10.6Android感測器套用開發基礎 432
- 10.6.1查看包含的感測器 432
- 10.6.2模擬器測試工具——SensorSimulator 434
- 10.6.3實戰演練——檢測當前設備支持的
- 感測器 437
- 第11章光線感測器和磁場感測器 439
- 11.1光線感測器詳解 439
- 11.1.1光線感測器介紹 439
- 11.1.2使用光線感測器的方法 440
- 11.1.3實戰演練——獲取設備中光線
- 感測器的值 441
- 11.1.4實戰演練——顯示設備中光線感測器
- 的強度 443
- 11.2磁場感測器詳解 445
- 11.2.1什麼是磁場感測器 445
- 11.2.2磁場感測器的分類 446
- 11.2.3Android系統中的磁場感測器 446
- 11.2.4實戰演練——獲取磁場感測器的3個
- 分量 447
- 11.2.5實戰演練——演示常用感測器的基本
- 用法 448
- 第12章加速度感測器、方向感測器和
- 陀螺儀感測器 458
- 12.1加速度感測器詳解 458
- 12.1.1加速度感測器的分類 458
- 12.1.2加速度感測器的主要套用領域 459
- 12.1.3線性加速度感測器的原理 460
- 12.1.4Android系統中的加速度感測器 461
- 12.1.5實戰演練——獲取X、Y、Z軸的
- 加速度值 462
- 12.1.6實戰演練——實現仿微信“搖一搖”
- 效果 464
- 12.2方向感測器詳解 471
- 12.2.1方向感測器基礎 471
- 12.2.2Android中的方向感測器 472
- 12.2.3實戰演練——測試當前設備的3個
- 方向值 473
- 12.2.4實戰演練——開發一個指南針程式 475
- 12.3陀螺儀感測器詳解 477
- 12.3.1陀螺儀感測器基礎 477
- 12.3.2Android中的陀螺儀感測器 478
- 12.4實戰演練——聯合使用加速度感測器和
- 陀螺儀感測器 481
- 12.4.1系統介紹界面 481
- 12.4.2系統主界面 484
- 第13章旋轉向量感測器、距離感測器和
- 氣壓感測器 504
- 13.1旋轉向量感測器詳解 504
- 13.1.1Android中的旋轉向量感測器 504
- 13.1.2實戰演練——確定設備當前的方向 505
- 13.2距離感測器詳解 516
- 13.2.1距離感測器介紹 516
- 13.2.2Android系統中的距離感測器 517
- 13.2.3實戰演練——實現自動鎖屏功能 519
- 13.3氣壓感測器詳解 525
- 13.3.1氣壓感測器基礎 526
- 13.3.2氣壓感測器在智慧型手機中的套用 526
- 13.3.3實戰演練——開發一個Android
- 氣壓計 526
- 第14章溫度感測器和濕度感測器 536
- 14.1溫度感測器詳解 536
- 14.1.1溫度感測器介紹 536
- 14.1.2Android系統中的溫度感測器 537
- 14.1.3實戰演練——開發一個Android
- 溫度計 539
- 14.1.4實戰演練——測試電池的溫度 541
- 14.2濕度感測器詳解 553
- 14.2.1Android系統中的濕度感測器 553
- 14.2.2實戰演練——獲取遠程濕度感測器的
- 數據 554
- 第5篇 技術提高篇
- 第15章條形碼解析技術詳解 562
- 15.1Android拍照系統結構基礎 562
- 15.2底層程式詳解 564
- 15.2.1V4L2API 564
- 15.2.2操作V4L2的流程 565
- 15.2.3V4L2驅動框架 567
- 15.2.4實現Video核心層 568
- 15.3拍照系統的硬體抽象層 571
- 15.3.1Andorid2.1及其以前的版本 571
- 15.3.2Andorid2.2及其以後的版本 572
- 15.3.3實現Camera硬體抽象層 574
- 15.4拍照系統的Java部分 575
- 15.5開發拍照應用程式 581
- 15.5.1通過Intent調用系統的照相機Activity 581
- 15.5.2調用CameraAPI拍照 582
- 15.5.3總結Camera拍照的流程 583
- 15.6解析二維碼 585
- 15.6.1QRCode碼的特點 585
- 15.6.2實戰演練——使用Android相機解析
- 二維碼 585
- 第16章NFC近場通信技術詳解 594
- 16.1近場通信技術基礎 594
- 16.1.1NFC技術的特點 594
- 16.1.2NFC的工作模式 594
- 16.1.3NFC和藍牙的對比 595
- 16.2射頻識別技術詳解 595
- 16.2.1RFID技術簡介 596
- 16.2.2RFID技術的組成 596
- 16.2.3RFID技術的特點 597
- 16.2.4RFID技術的工作原理 597
- 16.3Android系統中的NFC 598
- 16.3.1分析Java層 599
- 16.3.2分析JNI部分 614
- 16.3.3分析底層 619
- 16.4在Android系統編寫NFCAPP的
- 方法 619
- 16.5實戰演練——使用NFC傳送
- 訊息 622
- 第17章GoogleNow和AndroidWear
- 詳解 627
- 17.1GoogleNow介紹 627
- 17.1.1搜尋引擎的升級——GoogleNow 627
- 17.1.2GoogleNow的用法 628
- 17.2AndroidWear詳解 629
- 17.2.1什麼是AndroidWear 629
- 17.2.2搭建AndroidWear開發環境 630
- 17.3開發AndroidWear程式 634
- 17.3.1創建通知 634
- 17.3.2創建聲音 637
- 17.3.3給通知添加頁面 639
- 17.3.4通知堆 640
- 17.3.5通知語法介紹 641
- 17.4實戰演練——開發一個AndroidWear
- 程式 642
- 17.5實戰演練——實現手機和Android
- Wear的互動 649
- 仿小米錄音機 DVD
- 一個音樂播放器 DVD
- 跟蹤定位系統 DVD
- 仿陌陌交友系統 DVD
- 手勢音樂播放器 DVD
- 智慧型家居系統 DVD
- 濕度測試儀 DVD
- 象棋遊戲 DVD
- iPad搶灘登入 DVD
- OpenSudoku九宮格數獨遊戲 DVD
- 健康飲食 DVD
- 倉庫管理系統 DVD
- 個人財務系統 DVD
- 高仿去哪兒酒店預定 DVD
- 仿開心網客戶端 DVD