第一部分 基礎知識
第1章 Android開發簡介 1
1.1 Android介紹 2
1.2 Android係統構架 2
1.3 Android應用程序框架 5
1.4 本章小結 7
第2章 Android開發環境的搭建 8
2.1 獲取Android源碼 9
2.1.1 在Linux係統中獲取Android源碼 9
2.1.2 在Windows平颱獲取Android源碼 10
2.1.3 編譯源碼 12
2.2 Android Studio應用開發 14
2.2.1 搭建Android Studio應用開發環境 15
2.2.2 創建第一個Android項目:HelloWorld 18
2.2.3 啓動模擬器 19
2.2.4 運行到模擬器 21
2.2.5 下載到真機 22
2.2.6 詳解項目中的資源 22
2.2.7 詳解build.gradle文件 25
2.2.8 導入外部項目和Eclipse開發的Android項目 29
2.2.9 添加外部庫 31
2.2.10 應用程序的調試 32
2.2.11 項目實戰:下載Android的各個版本 34
2.3 本章小結 35
第3章 Android界麵設計 36
3.1 用戶界麵基礎 37
3.2 Android的Activity 38
3.2.1 Activity的介紹 38
3.2.2 Activity的生命周期 40
3.2.3 創建一個Activity 42
3.2.4 創建和加載布局 43
3.2.5 銷毀一個Activity 46
3.2.6 使用Intent在Activity之間穿梭 46
3.2.7 Intent調用常見係統組件 51
3.3 常用控件的使用方法 53
3.3.1 TextView和EditText 53
3.3.2 Button、ToggleButton 和ImageView 54
3.3.3 Spinner 56
3.3.4 ListView 58
3.3.5 AlertDialog 64
3.3.6 ProgressBar 65
3.4 Android布局 67
3.4.1 綫性布局 69
3.4.2 相對布局 71
3.4.3 錶格布局 73
3.4.4 百分比布局 77
3.4.5 嵌套布局實現計算器界麵 79
3.5 樣式和主題 85
3.5.1 定義樣式 86
3.5.2 使用樣式 87
3.5.3 主題 87
3.6 新控件RecyclerView、CardView和Palette的使用 88
3.6.1 新控件的使用 90
3.6.2 實現縱嚮滾動和橫嚮滾動 95
3.6.3 RecyclerView的點擊事件 96
3.7 Android新控件 97
3.8 綜閤項目實戰:WebView實現監控界麵 99
3.9 本章小結 102
第4章 創建Android應用程序 103
4.1 概述 104
4.2 事件處理機製 105
4.2.1 基於監聽器的事件處理 106
4.2.2 基於迴調的事件處理 107
4.2.3 事件響應的實現 107
4.2.4 項目實戰:獲取屏幕觸點坐標 107
4.3 Android多綫程 110
4.3.1 綫程的基本用法 110
4.3.2 在子綫程更新UI 111
4.3.3 Android綫程池 114
4.3.4 Android四種綫程池實例 115
4.4 Android廣播組件 119
4.4.1 動態注冊廣播 120
4.4.2 靜態注冊廣播 122
4.4.3 自定義本地廣播 123
4.5 後颱服務(Service) 125
4.5.1 定義一個服務 125
4.5.2 啓動和停止服務 128
4.5.3 Service和Activity通信 130
4.6 Android實現多任務 132
4.6.1 多任務實現原理 133
4.6.2 用Handler實現多任務 134
4.6.3 項目實戰:Handler實現模擬下載 135
4.6.4 AsyncTask實現多任務 137
4.6.5 項目實戰:AsyncTask實現計時 138
4.7 本章小結 139
第5章 Android中數據的存儲和訪問 140
5.1 簡介 141
5.2 使用共同偏好的存取數據 141
5.2.1 存取共享偏好 141
5.2.2 Preference框架 145
5.3 文件讀取和保存 149
5.3.1 內部存儲 149
5.3.2 擴展存儲 150
5.4 存取結構化數據 150
5.4.1 SQLite簡介 151
5.4.2 創建SQLite數據庫 152
5.4.3 操作數據庫 153
5.5 使用LitePal操作數據庫 156
5.5.1 LitePal簡介 156
5.5.2 配置LitePal 156
5.5.3 創建和升級數據庫 158
5.5.4 SQLite命令調試 162
5.5.5 數據庫操作 163
5.6 網絡存儲 168
5.7 本章小結 169
第6章 ContentProvider 170
6.1 查詢記錄 171
6.2 修改記錄 172
6.3 添加記錄 172
6.4 刪除記錄 173
6.5 創建Content Provider 173
6.6 本章小結 177
第二部分 物聯網應用
第7章 移動智能終端訪問網絡攝像機 178
7.1 簡介 179
7.2 網絡攝像機 179
7.3 係統實現 180
7.3.1 介紹 181
7.3.2 網絡攝像機參數設置 182
7.3.3 智能手機端視頻監控軟件 183
7.4 本章小結 192
第8章 物聯網語音識彆開發 193
8.1 語音識彆技術概述 194
8.2 TTS語音識彆技術 194
8.2.1 TTS基礎 194
8.2.2 TTS開發流程 196
8.2.3 項目實戰:TTS文字識彆實例 197
8.3 Voice Recognition語言識彆 201
8.3.1 Voice Recognition技術基礎 201
8.3.2 項目實戰:Voice Recognition語音識彆 203
8.4 本章小結 206
第9章 在物聯網中媒體動畫的實現 207
9.1 Android多媒體係統架構基礎 208
9.2 Graphics類詳解 208
9.2.1 Graphics類基礎 209
9.2.2 Android圖形繪製類 209
9.2.3 繪製基本圖形 210
9.3 二維動畫 212
9.3.1 類Drawable 213
9.3.2 實現Tween動畫效果 214
9.3.3 Tween動畫的四種動畫效果 215
9.3.4 實現Frame動畫效果 219
9.4 項目實戰:物聯網環境控製動畫 221
9.5 OpenGL ES詳解 224
9.5.1 OpenGL ES基礎 224
9.5.2 Android中的OpenGL ES 226
9.5.3 Open GL的基本操作 226
9.5.4 項目實戰:利用OpenGL實現鏇轉的立方體 227
9.6 音頻實現 232
9.6.1 音頻接口類 232
9.6.2 AudioManager控製鈴聲 232
9.6.3 錄音詳解 233
9.6.4 項目實戰:使用MediaPlay播放音樂 235
9.7 二維碼的識彆 238
9.7.1 二維碼介紹 238
9.7.2 項目實戰:Android實現二維碼識彆 241
9.8 本章小結 247
第10章 Android網絡開發 248
10.1 Android Socket網絡傳輸 249
10.1.1 什麼是Socket 249
10.1.2 Socket的分類 249
10.1.3 Socket基本實現原理 249
10.1.4 Android實現Socket簡單通信 250
10.1.5 Android客戶端和PC服務器端通信 253
10.2 Android HTTP網絡傳輸 258
10.2.1 HttpURLConnection接口 258
10.2.2 項目實戰:HttpURLConnection獲取信息 260
10.2.3 使用OkHttp 263
10.2.4 項目實戰:OkHttp獲取信息 265
10.3 Android應用程序的權限 267
10.3.1 Android權限機製詳解 267
10.3.2 在程序運行時申請權限 270
10.4 解析XML格式數據 274
10.4.1 Pull解析方式 274
10.4.2 SAX解析方式 276
10.5 解析JSON格式數據 279
10.5.1 使用JSONObject 280
10.5.2 使用GSON 281
10.6 本章小結 284
第11章 Android無綫通信 285
11.1 Android藍牙傳輸數據 286
11.1.1 藍牙介紹 286
11.1.2 藍牙體係結構 287
11.1.3 藍牙軟件的實現 289
11.1.4 Android的藍牙接口類 292
11.1.5 Android藍牙開發步驟 295
11.1.6 項目實戰:查找藍牙設備 300
11.1.7 項目實戰:Android手機藍牙控製智能小車 308
11.2 Android係統中的NFC 321
11.2.1 近場通信技術基礎 322
11.2.2 在Android係統中使用NFC 322
11.2.3 項目實戰:在Android中使用NFC讀取MifareClassic卡 326
11.3 本章小結 331
第12章 Android訪問智能電錶或智能插座 332
12.1 簡介 333
12.1.1 RS-485接口智能插座 335
12.1.2 無綫智能插座 339
12.1.3 智能電錶 340
12.2 使用智能手機訪問智能電錶或智能插座 344
12.2.1 使用智能手機訪問智能電錶或智能插座的方案 344
12.2.2 使用智能手機訪問Wi-Fi型智能插座或智能電錶的方案 345
12.3 使用Android訪問智能電錶或智能插座 346
12.3.1 智能手機和Pad之間的數據通信 347
12.3.2 藍牙通信實現 349
12.3.3 訪問智能電錶或智能插座的命令格式 354
12.4 本章小結 354
第三部分 綜閤實戰
第13章 UI新體驗——Material Design 355
13.1 什麼是Material Design 356
13.2 Design Support庫的使用 356
13.3 DrawerLayout和Navigation View 357
13.4 Material Design開源項目 363
13.5 本章小結 366
第14章 綜閤項目:Cool Weather 367
14.1 項目分析 368
14.2 創建數據庫和錶 369
14.3 遍曆全國省、市、縣數據 371
14.4 設計天氣信息界麵 374
14.5 省、市、縣數據界麵處理 374
14.6 處理返迴的JSON數據 379
14.7 將天氣信息顯示到界麵上 381
14.8 後颱自動更新天氣 384
第15章 Android應用程序托管和發布 387
15.1 Git版本控製工具 388
15.1.1 安裝Git 388
15.1.2 創建代碼倉庫 389
15.1.3 提交本地代碼 391
15.2 GitHub 392
15.2.1 在GitHub注冊創建版本庫 392
15.2.2 將代碼托管到GitHub 395
15.3 將應用程序發布到360應用商店 398
15.3.1 生成正式簽名的APK文件 398
15.3.2 申請360開發賬號 400
15.3.3 發布應用程序 401
15.3.4 嵌入廣告 403
15.4 本章小結 407
參考文獻 408
· · · · · · (
收起)