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