本書系統(tǒng)全面地介紹了有關Android程序開發(fā)所涉及的各類知識。全書共分14章,內容包括Android簡介、Android開發(fā)環(huán)境、Android程序、Android生命周期、用戶界面設計、組件通信與廣播消息、Service應用、數(shù)據(jù)存儲與共享、圖像繪制技術、位置服務與地圖應用、網絡技術、Widget組件開發(fā)、綜合開發(fā)實例——個人理財通、課程設計——簡易打地鼠游戲。每章內容都與實例緊密結合,有助于學生理解知識、應用知識,從而達到學以致用的目的。
本書是慕課版教材,各章節(jié)主要內容配備了以二維碼為載體的微課,并在人郵學院平臺上提供了慕課。此外,本書還提供所有實例、上機指導、綜合案例和課程設計的源代碼,制作精良的電子課件PPT,自測試卷等內容,讀者也可在人郵學院下載。其中,源代碼全部經過精心測試,能夠在Windows 7和Windows 8系統(tǒng)下通過Android 5.0模擬器運行。
《Android移動開發(fā)(慕課版)》是一本Android程序設計互聯(lián)網教材,買書送名師,明日科技講師面對面授課。本課程依托人民郵電出版社自主開發(fā)的在線教育慕課平臺——人郵學院(www.rymooc.com),該平臺具有完備的在線“教、學、測”功能。人郵學院提供體系完整的50學時慕課教學視頻同步講解,即學即練的在線測試。書中附有126個微課視頻,掃一掃書中二維碼,便可隨時隨地學習。附贈300余道習題和自測題, PPT 課件、案例源代碼、自測試卷、拓展案例等豐富的配套資源。
第1章 Android簡介 1
1.1 手機操作系統(tǒng) 2
1.2 Android發(fā)展史 3
1.3 Android特征 4
1.4 Android平臺架構 5
小結 7
習題 7
第2章 Android開發(fā)環(huán)境 8
2.1 安裝Android開發(fā)環(huán)境 9
2.1.1 安裝與配置JDK 10
2.1.2 獲取Android SDK 12
2.1.3 Eclipse的安裝與啟動 18
2.1.4 安裝ADT插件 19
2.2 Android SDK 22
2.2.1 結構 22
2.2.2 示例程序 23
2.2.3 幫助文檔 23
2.2.4 開發(fā)工具 24
小結 26
習題 27
第3章 第一個Android程序 28
3.1 創(chuàng)建Android應用程序 29
實例:創(chuàng)建個人理財通項目
3.2 Android項目結構說明 32
3.2.1 src 32
3.2.2 gen 33
3.2.3 android.jar文件 34
3.2.4 libs 35
3.2.5 assets 35
3.2.6 res 35
3.2.7 AndroidManifest.xml文件 37
3.2.8 project.properties文件 38
3.3 管理Android模擬器 38
3.3.1 創(chuàng)建AVD并啟動Android模擬器 39
3.3.2 刪除AVD 44
3.4 運行項目 45
小結 46
上機指導 46
習題 47
第4章 Android生命周期 48
4.1 Android程序生命周期 49
4.2 Android程序的基本組件 50
4.2.1 Activity 50
4.2.2 Service 50
4.2.3 BroadcastReceiver 51
4.2.4 ContentProvider 51
4.3 Activity生命周期 51
4.3.1 Activity的4種狀態(tài) 51
4.3.2 Activity的事件回調方法 52
實例:重寫Activity不同狀態(tài)的回調方法
4.4 程序調試 56
4.4.1 在LogCat中輸出日志 57
實例:輸出不同等級的日志信息
4.4.2 Eclipse調試器調試 60
4.4.3 Android Lint調試 62
小結 63
上機指導 63
習題 64
第5章 用戶界面設計 65
5.1 用戶界面基礎 66
5.1.1 了解UI界面 66
5.1.2 UI設計相關的幾個概念 66
5.2 界面布局 69
5.2.1 相對布局 69
實例:設計個人理財通的系統(tǒng)設置頁面5.2.2 線性布局 73
實例:設計個人理財通的新增便簽頁面5.2.3 幀布局 77
實例:實現(xiàn)居中顯示層疊的正方形
5.2.4 表格布局 79
實例:應用表格布局設計用戶登錄頁面
5.2.5 網格布局 82
實例:實現(xiàn)QQ聊天信息列表頁面的布局
5.3 界面組件 86
5.3.1 Button和ImageButton 86
實例:添加普通按鈕和圖片按鈕
5.3.2 TextView和EditText 89
實例:實現(xiàn)為文本框中的E-mail地址添加超鏈接、顯示帶圖像的文本、顯不同顏色的單行文本和多行文本
實例:實現(xiàn)個人理財通項目的登錄頁面
5.3.3 RadioButton和CheckBox 93
實例:實現(xiàn)在屏幕上添加選擇性別的單選按鈕組
實例:實現(xiàn)在屏幕上添加選擇愛好的復選按鈕,并獲取選擇的值
5.3.4 ImageView 99
5.3.5 Spinner 100
實例:在個人理財通的新增收入頁面中使用Spinner選擇類別
5.3.6 ListView 102
實例:設計個人理財通的收入信息瀏覽頁面
實例:通過在Activity中繼承ListActivity實現(xiàn)列表
5.3.7 GridView 106
實例:實現(xiàn)個人理財通系統(tǒng)主窗體
5.3.8 AlertDialog對話框 109
5.4 Fragment 110
5.4.1 創(chuàng)建Fragment 111
5.4.2 Fragment與Activity通信 111
實例:應用Fragment顯示新聞
5.5 操作欄(Action Bar) 116
5.5.1 選項菜單 117
實例:在操作欄上顯示的選項菜單
5.5.2 實現(xiàn)層級式導航 120
實例:實現(xiàn)帶向上導航按鈕的操作欄
5.6 界面事件 123
5.6.1 按鍵事件 123
實例:屏蔽物理鍵盤中的后退鍵
5.6.2 觸摸事件 124
實例:處理按鈕觸摸事件
小結 125
上機指導 126
習題 128
第6章 組件通信與廣播消息 129
6.1 Intent簡介 130
6.1.1 創(chuàng)建并配置Activity 130
6.1.2 啟動Activity 132
實例:實現(xiàn)啟動顯示詳細信息的Activity
實例:實現(xiàn)使用Intent打開網頁功能
6.1.3 使用Bundle在Activity之間交換數(shù)據(jù) 137
實例:獲取填寫的用戶注冊信息
6.1.4 調用另一個Activity并返回結果 141
實例:實現(xiàn)用戶注冊中的返回上一步
6.2 Intent過濾器 143
實例:實現(xiàn)在Activity中使用包含預定義動作的隱式Intent啟動另外一個Activity
6.3 BroadcastReceiver使用 147
6.3.1 BroadcastReceiver簡介 147
6.3.2 BroadcastReceiver應用 148
實例:實現(xiàn)當接收到短信時給出提示信息
小結 149
上機指導 149
習題 153
第7章 Service應用 154
7.1 Service概述 155
7.1.1 Service簡介 155
7.1.2 Service生命周期 155
7.2 本地服務 157
7.2.1 使用線程 157
實例:通過線程實現(xiàn)持續(xù)產生隨機數(shù)
7.2.2 創(chuàng)建Started Service 163
實例:創(chuàng)建并配置Service
7.2.3 服務綁定 168
實例:以綁定方式使用Service
7.3 跨進程調用Service 171
7.3.1 AIDL簡介 171
實例:創(chuàng)建并綁定遠程服務
7.3.2 使用AIDL語言定義遠程服務接口 172
7.3.3 通過繼承Service類實現(xiàn)遠程服務 172
7.3.4 綁定和使用遠程服務 173
小結 175
上機指導 175
習題 178
第8章 數(shù)據(jù)存儲與共享 179
8.1 SharedPreferences存儲 180
8.1.1 SharedPreferences 180
8.1.2 使用SharedPreferences保存輸入的用戶名和密碼 181
實例:使用SharedPreferences保存輸入的信息
8.2 文件存儲 183
8.2.1 內部存儲 184
實例:使用內部存儲保存用戶輸入的用戶名和密碼
8.2.2 外部存儲 187
實例:實現(xiàn)在SD卡上創(chuàng)建文件的功能
8.2.3 資源文件 188
實例:讀取raw下的文本文件
實例:實現(xiàn)從保存客戶信息的XML文件中讀取客戶信息并顯示
8.3 數(shù)據(jù)庫存儲 191
8.3.1 手動建庫 191
8.3.2 代碼建庫 196
實例:通過代碼創(chuàng)建個人理財通的數(shù)據(jù)庫
8.3.3 數(shù)據(jù)操作 197
實例:向個人理財通的數(shù)據(jù)庫中添加、刪除、更新和查詢收入信息
8.4 數(shù)據(jù)共享 201
8.4.1 Content Provider概述 201
8.4.2 創(chuàng)建數(shù)據(jù)提供者 202
8.4.3 使用數(shù)據(jù)提供者 204
實例:查詢通信錄中全部聯(lián)系人的姓名和手機號碼
小結 208
上機指導 208
習題 211
第9章 圖像繪制技術 212
9.1 繪制2D圖像 213
9.1.1 常用繪圖類 213
實例:實現(xiàn)創(chuàng)建繪圖畫布功能
9.1.2 繪制幾何圖形 216
實例:繪制個人理財通的支出統(tǒng)計圖表
9.1.3 繪制文本 220
實例:在個人理財通的支出統(tǒng)計圖表上繪制說明文字
9.1.4 繪制路徑 221
9.1.5 繪制圖片 222
實例:在屏幕上繪制指定位圖
9.2 應用OpenGL實現(xiàn)3D圖形 224
9.2.1 OpenGL簡介 224
9.2.2 構建3D開發(fā)的基本框架 225
9.2.3 繪制一個模型 226
實例:繪制一個6個面采用不同顏色的立方體
9.2.4 應用紋理貼圖 231
實例:為繪制的立方體進行紋理貼圖
9.2.5 旋轉 233
實例:實現(xiàn)一個不斷旋轉的立方體
9.2.6 光照效果 234
實例:為旋轉的立方體添加光照效果
9.2.7 透明效果 235
實例:實現(xiàn)一個透明的、不斷旋轉的立方體
小結 236
上機指導 237
習題 239
第10章 位置服務與地圖應用 240
10.1 位置服務 241
10.1.1 獲得位置源 241
實例:獲得當前模擬器支持的全部位置源
10.1.2 查看位置源屬性 242
實例:獲得GPS位置源的精度和耗電量
10.1.3 監(jiān)聽位置變化事件 244
實例:獲得更新后的經緯度信息
10.2 百度地圖服務 245
10.2.1 獲得地圖API密鑰 246
10.2.2 下載SDK開發(fā)包 250
10.2.3 新建使用百度地圖API的Android項目 252
實例:實現(xiàn)在項目中顯示百度地圖
10.2.4 在地圖上使用覆蓋層 254
實例:在百度地圖上標記北京北站的位置
小結 255
上機指導 256
習題 258
第11章 網絡技術 259
11.1 通過HTTP訪問網絡 260
11.1.1 使用HttpURLConnection訪問網絡 260
實例:向服務器發(fā)送GET請求
實例:實現(xiàn)向服務器發(fā)送POST請求
11.1.2 使用HttpClient訪問網絡 268
實例:使用HttpClient向服務器發(fā)送GET請求
實例:應用HttpClient向服務器發(fā)送POST請求
11.2 使用WebView顯示網頁 273
11.2.1 使用WebView組件瀏覽網頁 273
實例:應用WebView組件瀏覽指定網頁
11.2.2 使用WebView加載HTML代碼 275
實例:實現(xiàn)個人理財通的幫助功能
11.2.3 讓WebView支持JavaScript 276
實例:控制WebView組件是否允許JavaScript
小結 278
上機指導 278
習題 283
第12章 Widget組件開發(fā) 284
12.1 Widget簡介 285
12.2 Widget基礎 286
12.2.1 設計原則 286
12.2.2 開發(fā)步驟 288
實例:實現(xiàn)開發(fā)第一個Widget組件
12.2.3 安裝及刪除 291
12.3 Widget配置 292
實例:實現(xiàn)一個配置Widget的示例
12.3.1 在Widget元數(shù)據(jù)文件中聲明Activity 292
12.3.2 創(chuàng)建配置Widget的Activity 293
12.3.3 獲取Widget的ID 294
12.3.4 更新Widget 294
12.3.5 設置返回信息并關閉Activity 295
12.4 Widget與Service 296
實例:實現(xiàn)一個定時更新的Widget
小結 299
上機指導 299
習題 303
第13章 綜合開發(fā)實例——個人理財通 304
13.1 系統(tǒng)分析 305
13.1.1 需求分析 305
13.1.2 可行性分析 305
13.1.3 編寫項目計劃書 306
13.2 系統(tǒng)設計 307
13.2.1 系統(tǒng)目標 307
13.2.2 系統(tǒng)功能結構 307
13.2.3 系統(tǒng)業(yè)務流程圖 308
13.2.4 系統(tǒng)編碼規(guī)范 308
13.3 系統(tǒng)開發(fā)及運行環(huán)境 310
13.4 數(shù)據(jù)庫與數(shù)據(jù)表設計 310
13.4.1 數(shù)據(jù)庫分析 310
13.4.2 創(chuàng)建數(shù)據(jù)庫 310
13.4.3 創(chuàng)建數(shù)據(jù)表 311
13.5 創(chuàng)建項目 312
13.6 系統(tǒng)文件夾組織結構 312
13.7 公共類設計 313
13.7.1 數(shù)據(jù)模型公共類 313
13.7.2 Dao公共類 314
13.8 登錄模塊設計 318
13.8.1 設計登錄布局文件 319
13.8.2 登錄功能的實現(xiàn) 320
13.8.3 退出登錄窗口 320
13.9 系統(tǒng)主窗體設計 321
13.9.1 設計系統(tǒng)主窗體布局文件 321
13.9.2 顯示各功能窗口 322
13.9.3 定義文本及圖片組件 324
13.9.4 定義功能圖標及說明文字 324
13.9.5 設置功能圖標及說明文字 324
13.10 收入管理模塊設計 325
13.10.1 設計新增收入布局文件 326
13.10.2 設置收入時間 329
13.10.3 添加收入信息 330
13.10.4 重置新增收入窗口中的各個控件 331
13.10.5 設計收入信息瀏覽布局文件 331
13.10.6 顯示所有的收入信息 332
13.10.7 單擊指定項時打開詳細信息 333
13.10.8 設計修改/刪除收入布局文件 333
13.10.9 顯示指定編號的收入信息 337
13.10.10 修改收入信息 338
13.10.11 刪除收入信息 339
13.10.12 收入信息匯總圖表 339
13.11 便簽管理模塊設計 343
13.11.1 設計新增便簽布局文件 343
13.11.2 添加便簽信息 344
13.11.3 清空便簽文本框 345
13.11.4 設計便簽信息瀏覽布局文件 345
13.11.5 顯示所有的便簽信息 347
13.11.6 單擊指定項時打開詳細信息 348
13.11.7 設計修改/刪除便簽布局文件 348
13.11.8 顯示指定編號的便簽信息 350
13.11.9 修改便簽信息 351
13.11.10 刪除便簽信息 351
13.12 系統(tǒng)設置模塊設計 351
13.12.1 設計系統(tǒng)設置布局文件 352
13.12.2 設置登錄密碼 353
13.12.3 重置密碼文本框 353
小結 354
第14章 課程設計——簡易打地鼠游戲 355
14.1 功能概述 356
14.2 設計思路 356
14.3 設計過程 356
14.3.1 搭建開發(fā)環(huán)境 357
14.3.2 準備資源 357
14.3.3 布局頁面 358
14.3.4 實現(xiàn)代碼 358
14.4 運行調試 359
14.5 課程設計總結 360