基於Android的物聯網應用開發

基於Android的物聯網應用開發

作者: 廖忠智 王華 高曉惠 萬傑 劉建峰 沈志華 馬祥 方武 洪順利 周勝利 彭坤容 魏美琴 蔡敏 黃非娜 鄒宗冰 葉寧 彭海玲
出版社: 清華大學
出版在: 2021-06-01
ISBN-13: 9787302583028
ISBN-10: 7302583021
裝訂格式: 平裝
總頁數: 339 頁





內容描述


《基於Android的物聯網應用開發》編者總結了 10 多年的物聯網專業教學和指導學生參加競賽的經驗,精心選擇物聯網方面典型的項目展開分析,根據項目需求設計工作任務,採用任務式結構編寫,通過引導讀者完成不同的物聯網程序任務,對Android物聯網應用程序開發的各方面知識進行講解。全書共11個項目,包括智慧園區系統項目概述、第一個Android應用程序、智慧園區界面的實現、界面顯示與切換、數據存儲的實現、線程與消息處理、服務與廣播、媒體動畫的實現、室內環境採集系統和園區監控系統的實現、網絡與定位技術的使用、園區環境實時監測系統,建議課時為120學時。 《基於Android的物聯網應用開發》既可以作為高等院校本科和高職物聯網工程及相關專業學生的教材,又可以作為物聯網相關從業者和愛好者的參考書。


目錄大綱


目錄
項目1  智慧園區系統項目概述 1
【需求描述】 1
1. 室內環境採集 1
2. 園區監控 1
3. 園區環境實時監測系統 1
【需求分析】 2
1. 室內環境採集系統 2
2. 園區監控系統 3
3. 園區環境實時監測系統 4
【運行效果】 5
【技術選型】 9
【設備選型】 10
【知識前提】 10
項目2  第一個Android應用程序 11
【項目描述】 11
【學習目標】 11
任務1  認識Android 12
【任務描述】 12
【知識解析】 12
1.  Andoird概述 12
2.  Andoird系統架構 13
3.  Android與物聯網 14
任務2  搭建Android開發環境 15
【任務描述】 15
【任務實施】 16
任務3  創建第一個Android項目 20
【任務描述】 20
【任務實施】 20
任務4  日誌工具的使用 32
【任務描述】 32
【知識解析】 32
【任務實施】 33
項目總結 34
思考與練習 34
項目3  智慧園區界面的實現 35
【項目描述】 35
【學習目標】 35
任務1  登錄界面開發 36
【任務描述】 36
【知識解析】 36
1.  LinearLayout的使用 36
2.  TextView的使用 38
3.  EditText(輸入框)的使用 39
4.  Button的使用 40
5.  ImageView的使用 43
6.  RadioButton的使用 44
7.  CheckBox的使用 45
8. 邊距的使用 46
【任務實施】 47
任務2  監控系統界面開發 49
【任務描述】 49
【知識解析】 49
1.  RelativeLayout(相對佈局)的使用 49
2.  FrameLayout(幀佈局)的使用 52
3.  ConstraintLayout(約束佈局)的
   使用 52
【任務實施】 58
任務3  環境採集系統閾值設置對話框開發 61
【任務描述】 61
【知識解析】 62
1. 常見對話框的簡單使用 62
2.  ProgressBar(進度條)的使用 68
3.  SeekBar(拖動條)的使用 69
【任務實施】 70
任務4  圖片預覽界面開發 74
【任務描述】 74
【知識解析】 74
【任務實施】 78
項目總結 81
思考與練習 81
項目4  界面顯示與切換 83
【項目描述】 83
【學習目標】 84
任務1  Activity詳解 84
【任務描述】 84
【知識解析】 84
1. 創建Activity 84
2.  Activity的跳轉 86
3.  Intent傳遞數據 88
4.  Activity的生命週期 91
【任務實施】 94
任務2  引導頁的實現 97
【任務描述】 97
【知識解析】 97
【任務實施】 98
任務3  側滑菜單的實現 102
【任務描述】 102
【知識解析】 103
1.  Fragment介紹 103
2.  Fragment實現頁面切換 104
3.  DrawerLayout簡介 107
【任務實施】 107
任務4  標題欄的實現 111
【任務描述】 111
【知識解析】 112
1.  Toolbar簡介 112
2.  Toolbar的使用 112
【任務實施】 114
項目總結 119
思考與練習 119
 
項目5  數據存儲的實現 121
【項目描述】 121
【學習目標】 122
任務1  記住密碼 122
【任務描述】 122
【知識解析】 122
1. 用SharedPreferences存數據 122
2. 取SharedPreferences中的數據 123
【任務實施】 124
任務2  監控截圖 128
【任務描述】 128
【拓撲圖】 128
【知識解析】 128
1. 用openFileOutput保存數據 129
2. 用openFileInput讀數據 130
3.  SD卡的數據存儲 130
4. 運行時權限 132
【任務實施】 134
任務3  登錄註冊功能 146
【任務描述】 146
【知識解析】 146
1. 創建數據庫 146
2. 更新數據庫版本 149
3. 添加數據 150
4. 更新數據 151
5. 刪除數據 151
6. 查詢數據 152
【任務實施】 153
項目總結 159
思考與練習 159
項目6  線程與消息處理 161
【項目描述】 161
【學習目標】 162
任務1  簡易計時器 162
【任務描述】 162
【知識解析】 162
1.  UI線程 162
2. 不能在主線程中執行耗時操作 163
3. 線程的創建和啟動 164
4. 不能在子線程中更新UI 165
5. 使用runOnUiThread()方法更新UI 166
6.  Timer和TimerTask 166
【任務實施】 167
任務2  相冊輪播 168
【任務描述】 168
【知識解析】 169
1. 異步消息處理機制 169
2. 消息機制的工作流程 169
【任務實施】 170
任務3  後臺下載 172
【任務描述】 172
【知識解析】 172
1.  AsyncTask異步任務的3個參數 172
2.  AsyncTask異步任務的4個方法 173
3. 執行AsyncTask異步任務 174
【任務實施】 174
任務4  傳感器數據的實時更新 178
【任務描述】 178
【拓撲圖】 178
【知識解析】 179
【任務實施】 181
項目總結 186
思考與練習 186
項目7  服務與廣播 187
【項目描述】 187
【學習目標】 188
任務1  使用服務監測微動開關 188
【任務描述】 188
【拓撲圖】 188
【知識解析】 189
1. 服務的概念 189
2. 定義一個服務 189
3.  Service的兩種啟動方式 191
【任務實施】 197
任務2  使用廣播觸發三色燈狀態的實時改變 200
【任務描述】 200
【拓撲圖】 200
【知識解析】 200
1. 廣播的類型 200
2. 發送標準廣播和有序廣播 201
3. 廣播的靜態註冊和動態註冊及其優先級 204
【任務實施】 206
項目總結 210
思考與練習 210
項目8  媒體動畫的實現 211
【項目描述】 211
【學習目標】 212
任務1  實現智能溫控預警 212
【任務描述】 212
【拓撲圖】 212
【知識解析】 213
1. 播放音頻 213
2. 播放視頻 220
【任務實施】 222
任務2  推送通知 227
【任務描述】 227
【知識解析】 227
1. 通知管理器 227
2.  Notification對象 228
3. 發送通知 228
4. 更新與移除通知 228
5. 通知的單擊效果 228
6. 通知渠道 229
7. 通知渠道的適配 230
8. 通知渠道的使用 230
【任務實施】 231
任務3  製作圓形頭像 235
【任務描述】 235
【知識解析】 235
1. 調用系統照相機的Intent 235
2. 獲取拍照回傳的圖片 236
3. 調用圖庫的Intent 236
4. 獲取圖庫回傳的圖片 237
【任務實施】 237
任務4  降溫風扇的動畫實現 245
【任務描述】 245
【拓撲圖】 245
【知識解析】 246
1. 逐幀動畫 246
2. 補間動畫 248
【任務實施】 252
項目總結 254
思考與練習 254
 
項目9  室內環境採集系統和園區監控系統的實現 255
【項目描述】 255
【學習目標】 256
任務1  室內環境採集系統的實現 256
【任務描述】 256
【拓撲圖】 256
【任務實施】 257
任務2  園區監控系統的實現 261
【任務描述】 261
【拓撲圖】 263
【任務實施】 263
項目總結 268
思考與練習 268
 
項目10  網絡與定位技術的使用 269
【項目描述】 269
【學習目標】 270
任務1  使用WebView訪問網頁 271
【任務描述】 271
【知識解析】 271
【任務實施】 272
任務2  使用HttpURLConnection連接網絡
   和獲取數據 273
【任務描述】 273
【知識解析】 274
1.  HTTP協議 274
2. 添加網絡安全策略允許當前應用
   使用htttp明文請求 275
【任務實施】 276
任務3  使用OkHttp登錄物聯網雲平臺 279
【任務描述】 279
【知識解析】 279
1.  RESTfulAPI簡介 279
2. 解析JSON格式的數據 279
3.  OkHttp發送GET和POST
   請求 283
【任務實施】 284
任務4  使用北鬥定位模塊和高德SDK實現定位 287
【任務描述】 287
【拓撲圖】 288
【知識解析】 288
1. 北鬥導航系統簡介 288
2. GPS/北鬥定位模塊簡介 289
【任務實施】 289
項目總結 308
思考與練習 308
項目11  園區環境實時監測系統 309
【項目描述】 309
【學習目標】 311
【項目實施】 312
1. 連接設備並進行調試 312
2. 搭建物聯網雲平臺項目 312
3. 雲平臺API在線調試工具的使用 318
4. 實時監測園區環境的功能實現 321
5. 運行結果 337
參考文獻 340


作者介紹


萬杰,重慶工程職業技術學院教研室主任,副教授,現從事專業物聯網應用技術,主授課程:C語言 軟件工程 單片機 物聯網綜合實踐




相關書籍

Android 移動開發案例課堂

作者 劉玉紅 蒲娟

2021-06-01

Modularizing Legacy Projects Using TDD: Test-Driven Development with XCTest for iOS

作者 El-Morabea Khaled El-Garem Hassaan

2021-06-01

iOS開發基礎教程

作者 黃海

2021-06-01