本書用輕松易懂的語(yǔ)言和生動(dòng)活潑的形式,介紹了Android App的開(kāi)發(fā)技巧,主要內(nèi)容包括:開(kāi)發(fā)環(huán)境建置與基本使用、基本程序運(yùn)行原理與應(yīng)用、基本用戶界面與事件觸發(fā)、對(duì)話框與通知事件處理、進(jìn)階程序運(yùn)行原理與應(yīng)用、菜單與動(dòng)作列處理、自定義View與Surface View、數(shù)據(jù)存取、因特網(wǎng)相關(guān)、影音多媒體與相機(jī)、地圖與衛(wèi)星定位系統(tǒng)、感應(yīng)器運(yùn)行原理及應(yīng)用、資源與國(guó)際化、系統(tǒng)功能與裝置控制、實(shí)際項(xiàng)目開(kāi)發(fā)、App發(fā)布等。
本書內(nèi)容起點(diǎn)低、容易上手,范例經(jīng)典,源代碼步步解析,圖文并茂,幫助初學(xué)者快速入門!本書非常適合Android App開(kāi)發(fā)初學(xué)者、技術(shù)人員以及業(yè)余愛(ài)好者閱讀使用。
很多初學(xué)者想要快速學(xué)習(xí)Android App的開(kāi)發(fā),卻往往適得其反,雖然相關(guān)的學(xué)習(xí)資料有很多,但是大部分都是片段的技術(shù)資料,不知道該如何應(yīng)用,這樣的資料是不適合初學(xué)者學(xué)習(xí)的!禔ndroid App開(kāi)發(fā)者必修16堂課》一書就從項(xiàng)目建立出發(fā),幫助讀者建立正確的開(kāi)發(fā)概念,而不僅僅是提供片段的秘訣而已,使讀者清楚程序的每一行都在做什么,進(jìn)而以不變應(yīng)萬(wàn)變,做出各式各樣的App。
《Android App開(kāi)發(fā)者必修16堂課》一書特點(diǎn)如下:
1.名家解說(shuō)一看就懂!幫助初學(xué)者迅速進(jìn)入狀況;
2.真正實(shí)例參照!程序設(shè)計(jì)者馬上取得想要的功能模塊;
3.別再?gòu)?fù)制粘貼了!學(xué)習(xí)完整的開(kāi)發(fā)概念,開(kāi)發(fā)各種App項(xiàng)目;
4.絕不藏私!程序原始代碼大公開(kāi),讓你邊玩邊解析。
第1課 開(kāi)發(fā)環(huán)境建置與基本使用 1
1-1 學(xué)習(xí)開(kāi)發(fā)的基本概念 2
1-1-1 Java語(yǔ)言的角色 2
1-1-2 Unix/Linux的文件系統(tǒng) 2
1-1-3 學(xué)習(xí)目標(biāo) 3
1-2 安裝JDK 3
1-3 安裝Eclipse 4
1-4 設(shè)定Eclipse 5
1-5 安裝設(shè)定Android SDK 8
1-5-1 在Eclipse外掛ADT 8
1-5-2 建立及使用仿真器 10
第2課 基本程序運(yùn)行原理與應(yīng)用 13
2-1 “Hello,World?Hello,Lottery!” 14
2-1-1 建立新項(xiàng)目 14
2-1-2 版面配置 17
2-1-3 開(kāi)發(fā)程序 20
2-1-4 安裝執(zhí)行測(cè)試 22
2-2 “BMI? Lottery!” 23
2-2-1 存取控制元件 23
2-2-2 按鈕事件處理模式 24
2-2-3 開(kāi)發(fā)設(shè)計(jì)功能 26
2-2-4 修改程序 27
2-3 寫完了,然后呢? 28
2-3-1 加上歡迎界面 28
2-3-2 調(diào)整啟動(dòng)程序 31
2-4 Activity的生命周期 34
2-4-1 生命周期的觀念 34
2-4-2 測(cè)試實(shí)作 36
2-4-3 開(kāi)始觀察 39
2-5 Activity切換Activity 40
2-5-1 僅作啟動(dòng)切換 40
2-5-2 傳遞數(shù)據(jù)過(guò)去 40
2-5-3 切換之后回來(lái)確認(rèn) 41
2-5-4 將數(shù)據(jù)傳遞回來(lái) 42
2-6 Service的運(yùn)行應(yīng)用 44
2-6-1 生命周期實(shí)測(cè) 44
2-6-2 與線程共舞 48
2-6-3 通過(guò)Broadcast發(fā)送數(shù)據(jù)給前臺(tái) 49
第3課 基本用戶界面與事件觸發(fā) 53
3-1 條列顯示元件ListView 54
3-1-1 基本格式 54
3-1-2 進(jìn)階格式 57
3-2 線性配置LinearLayout 59
3-3 相對(duì)配置RelativeLayout 63
3-4 表格配置TableLayout 68
3-5 網(wǎng)格顯示GridView 71
3-6 滑動(dòng)顯示ViewFlipper 75
第4課 對(duì)話框與通知事件處理 83
4-1 AlertDialog對(duì)話框的使用 84
4-1-1 建立AlertDialog對(duì)象 84
4-1-2 消息對(duì)話框 84
4-1-3 確認(rèn)對(duì)話框 87
4-1-4 選擇式對(duì)話框 89
4-1-5 進(jìn)階選擇式對(duì)話框 92
4-2 自定義對(duì)話框(Dialog)與日期時(shí)間對(duì)話框 95
4-2-1 自定義對(duì)話框 95
4-2-2 日期選擇對(duì)話框 99
4-2-3 時(shí)間選擇對(duì)話框 101
4-3 Toast及自定義Toast 103
4-3-1 一般的Toast 103
4-3-2 自定義Toast 104
4-4 進(jìn)度顯示對(duì)話框 107
4-5 通知列處理模式 110
4-5-1 版本差異 110
4-5-2 API Level 11 之前 111
4-5-3 API Level 11+ 111
4-5-4 應(yīng)用場(chǎng)合 114
第5課 進(jìn)階程序運(yùn)行原理與應(yīng)用 115
5-1 多重線程Thread 116
5-1-1 開(kāi)發(fā)重點(diǎn)觀念 116
5-1-2 存取View組件 119
5-1-3 提早結(jié)束線程的生命周期 120
5-1-4 另外一種開(kāi)發(fā)方式 121
5-2 定時(shí)及周期任務(wù)(Timer & TimerTask) 123
5-3 同步任務(wù)AsyncTask 126
5-3-1 使用觀念 126
5-3-2 生命周期 126
5-3-3 定義泛型參數(shù) 128
5-3-4 基本開(kāi)發(fā)程序 129
5-3-5 程序架構(gòu) 129
5-4 倒數(shù)定時(shí)器 133
5-4-1 開(kāi)發(fā)模式 133
5-4-2 直接實(shí)作練習(xí) 133
第6課 菜單與動(dòng)作列處理 137
6-1 菜單Menu 138
6-1-1 Options menu選項(xiàng)菜單(硬件菜單鍵) 138
6-1-2 Context menu內(nèi)容菜單 141
6-1-3 Popup menu彈出式菜單 145
6-2 動(dòng)作列Action Bar 147
第7課 自定義View與SurfaceView 155
7-1 自定義View:繼承View 156
7-2 自定義View與觸控手勢(shì)事件處理 165
7-2-1 一般觸控事件偵測(cè)處理 165
7-2-2 手勢(shì)偵測(cè)事件處理 166
7-3 自定義SurfaceView:繼承SurfaceView 170
7-4 以自定義View來(lái)實(shí)現(xiàn)手寫簽名App范例實(shí)作 174
7-4-1 前期準(zhǔn)備 175
7-4-2 開(kāi)始處理簽名的手勢(shì)偵測(cè)處理 177
7-4-3 處理外部功能 182
第8課 數(shù)據(jù)存取 185
8-1 偏好設(shè)定 186
8-1-1 處理方式 186
8-1-2 基本處理程序 186
8-1-3 范例說(shuō)明 186
8-1-4 完整范例 189
8-2 內(nèi)部文件存取機(jī)制 191
8-2-1 使用觀念 191
8-2-2 寫出基本程序 191
8-2-3 讀入基本程序 193
8-3 外部文件存取 195
8-3-1 SDCard文件系統(tǒng)基本概念 195
8-3-2 判斷SDCard的掛載點(diǎn)(Mount Point) 196
8-3-3 應(yīng)用程序文件應(yīng)該在哪里 196
8-3-4 開(kāi)啟寫出數(shù)據(jù)的權(quán)限 196
8-3-5 開(kāi)始進(jìn)行程序開(kāi)發(fā) 198
8-3-6 寫出數(shù)據(jù)文件 198
8-3-7 讀入數(shù)據(jù)文件 199
8-4 移動(dòng)裝置數(shù)據(jù)庫(kù)處理機(jī)制SQLite 200
8-4-1 建立數(shù)據(jù)庫(kù)的輔助類別對(duì)象 200
8-4-2 預(yù)先處理模式 200
8-4-3 簡(jiǎn)單查詢數(shù)據(jù) 202
8-4-4 新增數(shù)據(jù) 203
8-4-5 刪除數(shù)據(jù) 203
8-4-6 修改數(shù)據(jù) 204
8-4-7 進(jìn)一步了解查詢方式 204
8-5 應(yīng)用App資源中的數(shù)據(jù)存取數(shù)據(jù):以游戲關(guān)卡數(shù)據(jù)處理為例 205
8-5-1 定義數(shù)據(jù) 206
8-5-2 讀取數(shù)據(jù)文件 207
8-5-3 程序中讀取方式 207
第9課 因特網(wǎng)相關(guān) 209
9-1 網(wǎng)絡(luò)接口及IP Address 210
9-1-1 裝置的網(wǎng)絡(luò)狀態(tài) 210
9-1-2 網(wǎng)絡(luò)接口的IP Address 210
9-1-3 取得裝置聯(lián)機(jī)IP Address 212
9-1-4 建構(gòu)IP Address對(duì)象實(shí)體 213
9-2 UDP 通信協(xié)議的數(shù)據(jù)存取 214
9-2-1 處理模式 214
9-2-2 實(shí)作測(cè)試 214
9-3 TCP通信協(xié)議的數(shù)據(jù)存取 220
9-3-1 處理模式 220
9-3-2 實(shí)作測(cè)試 220
9-4 Http通信協(xié)議的數(shù)據(jù)存取 225
9-4-1 以AndroidHttpClient及DefaultHttpClient實(shí)作 225
9-4-2 以java.net.HttpURLConnection實(shí)作 228
9-5 WebView使用 229
9-5-1 基本的處理方式——直接放進(jìn)Activity中 229
9-5-2 基本的處理方式——以版面配置方式處理 230
9-5-3 進(jìn)一步設(shè)定WebView功能 236
第10課 影音多媒體與相機(jī) 243
10-1 播放音樂(lè) 244
10-1-1 基本概念 244
10-1-2 SDCard上的音樂(lè)播放 245
10-1-3 播放項(xiàng)目資源中音樂(lè)文件 247
10-1-4 播放URL的音樂(lè)文件 247
10-1-5 暫停繼續(xù)播放 248
10-1-6 停止播放 248
10-2 音效處理 249
10-2-1 建構(gòu)SoundPool對(duì)象實(shí)體 249
10-2-2 實(shí)時(shí)播放音效 250
10-3 錄音處理 250
10-3-1 調(diào)用其他錄音程序 251
10-3-2 自定義錄音處理程序 252
10-4 錄像放映 254
10-4-1 錄像 254
10-4-2 調(diào)用其他錄像程序 254
10-4-3 自定義錄像程序 256
10-4-4 播放影片 258
10-5 相機(jī) 259
10-5-1 調(diào)用其他照相程序 259
10-5-2 自定義相機(jī)程序 261
第11課 地圖與衛(wèi)星定位系統(tǒng) 267
11-1 GPS定位 268
11-1-1 開(kāi)始基本實(shí)作 268
11-1-2 較佳位置取得 270
11-2 基本Google Map 275
11-2-1 開(kāi)發(fā)前期作業(yè) 276
11-2-2 Hello,Map 277
11-2-3 在Android上開(kāi)發(fā)的應(yīng)用 279
11-3 進(jìn)階Google Map 280
11-3-1 JavaScript處理說(shuō)明 280
11-3-2 JavaScript數(shù)據(jù)傳回Android 282
11-3-3 以Android傳遞數(shù)據(jù)給JavaScript 283
第12課 傳感器運(yùn)行原理及應(yīng)用 285
12-1 傳感器運(yùn)行原理與應(yīng)用 286
12-1-1 基本概念 286
12-1-2 處理原則 286
12-1-3 實(shí)作開(kāi)發(fā) 287
12-1-4 用戶裝置支持處理 288
12-2 三軸加速傳感器 289
12-3 重力加速度傳感器 293
12-4 磁極方向傳感器 296
12-5 光線/溫度/濕度/壓力傳感器 300
第13課 資源與國(guó)際化 305
13-1 提供資源內(nèi)容 307
13-1-1 預(yù)設(shè)資源內(nèi)容及架構(gòu) 307
13-1-2 替代選擇性資源內(nèi)容 309
13-2 存取資源內(nèi)容 311
13-2-1 程序代碼中存取資源內(nèi)容 312
13-2-2 XML中存取資源內(nèi)容 313
13-3 應(yīng)用程序執(zhí)行中的改變 314
設(shè)計(jì)一個(gè)保留及回存對(duì)象 314
13-4 資源內(nèi)容的區(qū)域化 314
13-4-1 支持的區(qū)域國(guó)別(地區(qū)) 315
13-4-2 進(jìn)一步認(rèn)識(shí)項(xiàng)目資源 316
13-4-3 資源類型 322
13-4-4 區(qū)域化確認(rèn)檢查 323
第14課 系統(tǒng)功能與裝置控制 325
14-1 移動(dòng)裝置相關(guān)辨識(shí) 326
14-2 移動(dòng)電話通話狀態(tài) 328
14-3 移動(dòng)電話用戶相關(guān)數(shù)據(jù) 330
14-3-1 用戶賬號(hào) 330
14-3-2 取得聯(lián)系人姓名 331
14-3-3 用戶的相簿 332
14-4 開(kāi)發(fā)者基本道德 332
第15課 實(shí)際項(xiàng)目開(kāi)發(fā) 335
15-1 彈指磚塊王(Bricks Fighter) 336
15-1-1 App簡(jiǎn)易架構(gòu) 337
15-1-2 歡迎頁(yè)面 337
15-1-3 游戲關(guān)卡菜單 339
15-1-4 游戲主頁(yè) 344
15-2 掏金沙(Lode Runner) 353
15-2-1 開(kāi)發(fā)動(dòng)機(jī) 353
15-2-2 著手規(guī)劃 354
15-2-3 游戲架構(gòu) 355
15-2-4 關(guān)卡菜單 358
15-2-5 游戲畫面 359
15-2-6 關(guān)卡地圖 362
15-2-7 敏感爭(zhēng)議 371
15-3 炸彈超人(Bomb King) 371
15-4 其他應(yīng)用程序開(kāi)發(fā)項(xiàng)目 374
15-4-1 個(gè)性簽名產(chǎn)生器 374
15-4-2 開(kāi)發(fā)觀念原則 386
第16課 App發(fā)布 387
16-1 包裝發(fā)布到Google Play 388
16-1-1 包裝成為APK 388
16-1-2 首次注冊(cè)開(kāi)發(fā)者 390
16-1-3 發(fā)布APK到Google Play 392
16-2 App創(chuàng)意開(kāi)發(fā)與比賽經(jīng)驗(yàn)心得分享 393