本書以一個完整的案例來講述移動應(yīng)用的開發(fā)過程, 并將其功能需求穿插到書中各章節(jié), 系統(tǒng)生動地闡述各個知識點, 最終引領(lǐng)讀者構(gòu)建一款完整的移動應(yīng)用產(chǎn)品。全書共分12章, 涵蓋Android開發(fā)基礎(chǔ)知識、基本原理、項目設(shè)計和Android新技術(shù)。內(nèi)容組織上由易到難, 由設(shè)計到研發(fā), 講述了一個完整的移動應(yīng)用項目, 層層遞進(jìn), 力圖使初學(xué)者能夠快速入門。
黃宏程 從2006年至今曾擔(dān)任《網(wǎng)絡(luò)軟件設(shè)計與開發(fā)》、《計算機接口與技術(shù)》、《通信信息網(wǎng)》、《軟件測試》、《網(wǎng)絡(luò)規(guī)劃與設(shè)計》、《通信軟件設(shè)計與開發(fā)》等課程的教學(xué),在通信軟件程序設(shè)計與開發(fā)領(lǐng)域積累了較為豐富的教學(xué)經(jīng)驗,了解學(xué)生的認(rèn)知、學(xué)習(xí)特點。同時在通信業(yè)務(wù)開發(fā)方面具有豐富的行業(yè)應(yīng)用經(jīng)驗,深刻把握行業(yè)對通信軟件開發(fā)、移動互聯(lián)網(wǎng)應(yīng)用等相關(guān)領(lǐng)域人才需求的現(xiàn)狀。
第1章 Android簡介 1
1.1 Android發(fā)展概述 1
1.2 配置開發(fā)環(huán)境 3
1.2.1 安裝JDK 3
1.2.2 安裝Android Studio 5
1.2.3 安裝SDK 5
1.3 本章小結(jié) 7
習(xí)題 7
第2章 Android項目 8
2.1 第一個應(yīng)用程序 8
2.1.1 創(chuàng)建Android項目 8
2.1.2 Android項目結(jié)構(gòu) 11
2.1.3 自動構(gòu)建工具Gradle 13
2.1.4 輔助工具介紹 15
2.2 綜合案例:靈客 16
2.2.1 靈客功能需求 16
2.2.2 靈客設(shè)計概要 18
2.3 本章小結(jié) 29
習(xí)題 29
第3章 Android基本原理 31
3.1 Android框架 31
3.1.1 Android體系結(jié)構(gòu) 31
3.1.2 Android運行原理 32
3.2 Android應(yīng)用程序核心組件 36
3.2.1 Activity介紹 36
3.2.2 Service介紹 37
3.2.3 BroadCastReceiver介紹 38
3.2.4 ContentProvider介紹 38
3.3 本章小結(jié) 39
習(xí)題 39
第4章 Activity、Fragment以及Intent通信機制 40
4.1 Activity生命周期 40
4.1.1 Activity交互機制 40
4.1.2 Activity狀態(tài) 40
4.1.3 Activity生命周期的事件回調(diào)函數(shù) 41
4.2 Fragment 49
4.2.1 Fragment簡介 49
4.2.2 Fragment的生命周期 50
4.2.3 Fragment的簡單使用 51
4.3 Intent 56
4.3.1 Intent屬性 57
4.3.2 Intent解析 59
4.3.3 Activity的跳轉(zhuǎn) 60
4.4 本章小結(jié) 63
習(xí)題 64
第5章 用戶界面設(shè)計 65
5.1 View 66
5.1.1 View簡介 66
5.1.2 TextView和EditText 66
5.1.3 Button 68
5.1.4 ImageView 69
5.2 Layout 72
5.2.1 LinearLayout 72
5.2.2 RelativeLayout 76
5.2.3 FrameLayout 81
5.2.4 TableLayout 81
5.2.5 AbsoluteLayout 84
5.3 對話框 84
5.3.1 提示對話框 85
5.3.2 單選對話框 86
5.3.3 復(fù)選對話框 87
5.3.4 列表對話框 88
5.3.5 進(jìn)度條對話框 89
5.3.6 日期選擇對話框 89
5.3.7 時間選擇對話框 90
5.3.8 拖動對話框 91
5.3.9 自定義對話框 92
5.4 菜單 93
5.4.1 上下文菜單 93
5.4.2 選項菜單 95
5.4.3 下拉菜單 96
5.5 Toast 98
5.5.1 常規(guī)Toast 98
5.5.2 自定義Toast 99
5.6 Notification 100
5.6.1 常規(guī)Notification 100
5.6.2 自定義Notification 102
5.7 列表 105
5.7.1 常用Adapter 105
5.7.2 自定義Adapter 107
5.8 AppWidget 111
5.9 本章小結(jié) 115
習(xí)題 115
第6章 服務(wù) 117
6.1 本地服務(wù) 117
6.1.1 兩種啟動方式 117
6.1.2 生命周期 121
6.2 遠(yuǎn)程服務(wù) 123
6.3 服務(wù)小實例 127
6.4 本章小結(jié) 133
習(xí)題 133
第7章 廣播 134
7.1 發(fā)送和接收廣播 134
7.1.1 發(fā)送廣播 134
7.1.2 接收廣播 135
7.1.3 聲明廣播 135
7.1.4 廣播的生命周期 136
7.1.5 常見廣播Action常量 138
7.2 廣播小實例 139
7.3 本章小結(jié) 140
習(xí)題 141
第8章 數(shù)據(jù)存儲和提供器 142
8.1 SharedPreference存儲 142
8.2 SQLite存儲 147
8.2.1 SQLite簡介 147
8.2.2 SQLite使用 147
8.3 ContentProvider存儲 155
8.4 文件存儲 165
8.5 本章小結(jié) 170
習(xí)題 171
第9章 Android網(wǎng)絡(luò)通信編程 172
9.1 網(wǎng)絡(luò)訪問方式 172
9.1.1 HTTP通信 172
9.1.2 Socket通信 177
9.1.3 HTTP連接與Socket連接的區(qū)別 178
9.1.4 案例分析 178
9.2 數(shù)據(jù)解析 183
9.2.1 JSON格式解析 183
9.2.2 SAX方式解析 185
9.2.3 案例分析 191
9.3 獲取網(wǎng)絡(luò)狀態(tài) 196
9.4 JavaScript與Java交互 197
9.4.1 WebView 197
9.4.2 在WebView中使用JavaScript 199
9.5 本章小結(jié) 202
習(xí)題 202
第10章 進(jìn)程與消息處理 203
10.1 進(jìn)程與線程 203
10.1.1 什么是進(jìn)程 203
10.1.2 進(jìn)程模型 203
10.1.3 Android中進(jìn)程的生命周期 205
10.1.4 Android進(jìn)程間的通信 206
10.1.5 什么是線程 206
10.1.6 Android的線程模型 206
10.1.7 進(jìn)程與線程 207
10.1.8 進(jìn)程與線程的重要性 207
10.2 Handler和AsynTask 207
10.2.1 Handler的基本概念 207
10.2.2 Android消息機制 207
10.2.3 Handler的具體使用場合 209
10.2.4 AsyncTask的介紹 209
10.2.5 AsyncTask的使用 209
10.2.6 為什么AsyncTask要在UI Thread中創(chuàng)建才能使用 210
10.2.7 Handler和AsyncTask 211
10.3 Application 211
10.4 本章小結(jié) 213
習(xí)題 213
第11章 綜合案例靈客詳解與部署 214
11.1 客戶端 215
11.1.1 代碼結(jié)構(gòu) 215
11.1.2 功能模塊 221
11.2 服務(wù)端 229
11.2.1 服務(wù)端功能結(jié)構(gòu) 229
11.2.2 數(shù)據(jù)解析和控制流程 231
11.3 測試環(huán)境搭建 232
11.3.1 服務(wù)端測試環(huán)境搭建 232
11.3.2 Android Studio發(fā)布客戶端工程 238
11.4 本章小節(jié) 239
習(xí)題 240
第12章 Android新技術(shù)與應(yīng)用 241
12.1 熱補丁 241
12.1.1 簡介 241
12.1.2 HotFixDemo 241
12.2 廣告攔截技術(shù) 250
12.3 Hybrid技術(shù) 253
12.4 手機應(yīng)用管理技術(shù) 257
12.4.1 垃圾清理 258
12.4.2 手機加速 262
12.4.3 安裝和卸載 265
12.5 本章小結(jié) 267
習(xí)題 267
參考文獻(xiàn) 268