Android 開發入門與實戰(第二版)
內容描述
《Android開發入門與實戰(第 2版)》讓不懂Android開發的人系統地快速掌握Android開發的知識。
《Android開發入門與實戰(第 2版)》主要內容為:Android開發環境搭建、Android SDK介紹、Android應用程序結構剖析,並對Android 中重要的組件Activity、Intents&Intent Filters&Broadcast receivers、Intent、Service、Content Providers進行了詳細的講解;然後對線程&進程、數據存儲、Widget、網絡通信和XML解析、多設備適配、Android UI Design(設計規範)等核心技術和讀者關心的流行技術結合實例進行了詳細講解;精選了6個真實的案例,如圖書信息查詢、eoe Wiki客戶端、廣告查查看看、手機信息小助手、土地瀏覽器、地圖追蹤,讓讀者把各種技術貫穿起來,達到學以致用的目的。
書中內容的安排循序漸進、由淺到深,跟隨本書的步調,一定可以學會Android開發。《Android開發入門與實戰(第 2版)》除了理論知識的介紹和演示外,還加入很多實戰經驗技巧和實戰案例剖析,讓大家在學習的時候能理論結合實戰,融會貫通,真正掌握Android的開發技術。
目錄大綱
第1章掀起你的蓋頭來——Android開發掃盲1
1.1 Android行業概述1
1.1.1 Android緣起1
1.1.2 Android市場發展軌跡2
1.1.3 Android SDK發布里程碑5
1.2 Android開發概述7
1.2.1 Android開發生態鏈7
1.2.2 Android國內開發者現況8
1.3 Android開發資源9
1.3.1 Android開發線上社區9
1.3.2 Android學習資料11
1.3.3 Android開發線下活動12
1.4本章小結13
第2章工欲善其事必先利其器——搭建環境Android 14
2.1開發Android應用前的準備14
2.1.1操作系統要求14
2.1.2 Android軟件開發包14
2.2 Windows開發環境搭建14
2.2.1安裝JDK 14
2.2.2安裝Eclipse 16
2.2.3安裝Android SDK 18
2.2.4安裝ADT 20
2.2.5真實體驗——創建Android虛擬設備(AVD) 22
2.3 Linux一族——Ubuntu開發環境搭建23
2.3.1安裝JDK 23
2.3.2安裝Eclipse 25
2.3.3安裝Android SDK 27
2.3.4安裝ADT 29
2.3.5創建Android虛擬設備(AVD) 31
2.4 Mac OS一族——蘋果開發環境搭建33
2.5本章小結33
第3章清點可用的資本——Android SDK介紹34
3.1 Android SDK概要34
3.2深入探索Android SDK的密秘34
3.2.1 Android SDK的目錄結構34
3.2.2 android.jar及其內部結構35
3.2.3 SDK文檔及閱讀技巧35
3.2.4先來熱身——Android SDK例子解析37
3.2.5 SDK提供的工具介紹40
3.3 Android典型包分析42
3.3.1開發基石——Android API核心開發包介紹42
3.3.2拓展開發外延——Android可選API介紹43
3.4本章小結43
第4章千里之行始於足下——Hello EoE 44
4.1 Hello EoE應用分析44
4.1.1新建一個Android項目44
4.1.2 Android項目目錄結構46
4.1.3運行項目46
4.2調試項目47
4.2.1設置斷點48
4.2.2 Debug項目48
4.2.3斷點調試49
4.3本章小結49
第5章良好的學習開端——Android應用程序架構分析50
5.1 Android系統架構50
5.1.1 Applications(應用程序層) 51
5.1.2 Application Framework(應用程序框架層) 51
5.1.3 Libraries Android Runtime(庫以及Android運行環境) 52
5.1.4 Linux Kernel(Linux內核) 52
5.2 Android應用程序工程結構分析53
5.2.1應用程序工程結構組成分析53
5.2.2 AndroidMainfest文件分析54
5.3本章小結56
第6章Android的核心——Activity 57
6.1什麼是Activity 57
6.2 Activity的生命週期57
6.3 Activity的監控範圍內的三個主要循環59
6.4 Activity擁有四個基本的狀態60
6.5 Task、棧以及加載模式60
6.6配置改變63
6.7如何保存和恢復Activity狀態63
6.8啟動Activity並得到結果64
6.9 Activity小實例65
6.10本章小結71
第7章我來“廣播”你的意圖——Intent & Intent Filters & Broadcast Receivers 72
7.1什麼是Intent 72
7.2 Intent結構72
7.3 Intent的兩種類型74
7.3.1顯式Intent 74
7.3.2隱式Intent 74
7.4什麼是Intent Filter 74
7.5什麼是Broadcast Receiver 75
7.6如何創建BroadcastReceiver 75
7.7 BroadcastReceiver生命週期76
7.8廣播類型76
7.9 Intent&BroadcastReceiver 76
7.10本章小結80
第8章一切為用戶服務——Service 81
8.1什麼是Service 81
8.2 Service的兩種形式81
8.3如何創建Service 82
8.3.1創建啟動形式Service 82
8.3.2創建綁定形式Service 83
8.4 Service的生命週期84
8.5 Service小實例85
8.5.1啟動形式Service 85
8.5.2綁定形式Service 89
8.6本章小結93
第9章提供數據的引擎——Content Providers 94
9.1什麼是ContentProviders 94
9.2什麼是ContentResolver 94
9.3如何調用系統的ContentProvider 95
9.4如何使用ContentResolver訪問自定義ContentProvider 96
9.5本章小結101
第10章我的美麗我做主——用戶界面(User Interface) 102
10.1佈局——Layout 102
10.1.1線性佈局——Linear Layout 103
10.1.2相對佈局——Relative Layout 105
10.2列表視圖107
10.2. 1列視圖——Listview 107
10.2.2表視圖——GridView 110
10.3輸入控件——Input Controls 113
10.3.1基本輸入控件113
10.3.2對話框控件——Dialog 121
10.4菜單——Menu 125
10.5活動欄——Action Bar 129
10.6通知——Notifications 132
10.7本章小結134
第11章循序漸進——線程&進程135
11.1線程(Thread)&進程(Process)概念135
11.2線程、進程與Android系統組件的關係135
11.3實現多線程的方式138
11.3. 1 Thread 139
11.3.2 AsyncTask 140
11.4本章小結141
第12章信息百寶箱——全面數據存儲142
12.1 SharedPreferences(分享愛好) 142
12.1.1相識SharedPreferences 142
12.1.2保存數據144
12.1.3刪除數據146
12.1. 4修改數據147
12.1.5查詢數據148
12.1.6監聽數據變化148
12.2流文件存儲149
12.2.1基本方法簡介149
12.2.2存儲流程圖150
12.2.3數據保存和查詢的實例150
12.3實戰db4o數據庫153
12.4 SQLite數據庫157
12.4.1什麼是SQLite數據庫157
12.4.2 Android中的SQLite 157
12.4.3 SQLiteOpenHelper 157
12.4.4創建或打開數據庫158
12.4.5關閉數據庫158
12.4.6創建數據表159
12.4.7刪除數據表159
12.4.8增加數據159
12.4.9查詢數據160
12.4 .10修改數據160
12.4.11刪除數據161
12.4.12事務161
12.4.13 SQLite可視化管理工具161
12.4.14圖片的保存和查詢163
12.5記事本實例166
12.5.1創建主界面167
12.5.2添加內容界面的創建168
12.5.3保存數據169
12.5.4以列表的形式查詢數據170
12.5.5選項的菜單171
12.5.6 “查看”選項的事件172
12.5.7 “修改”選項的事件172
12.5.8 “刪除”選項的事件173
12.6本章小結174
第13章不積跬步無以至千里——Widget 175
13.1認識Widget 175
13.2使用Widget 176
13.3 Widget生命週期180
13.4 Widget設計嚮導182
13.4.1添加配置頁面182
13.4.2 Widget設計嚮導186
13.5 Widget實例——eoeWikiRecent Widget 188
13.6本章小結197
第14章更上一層樓——網絡通信和XML解析198
14.1 Android網絡通信基礎198
14.1.1 Apache網絡接口199
14.1.2標準Java網絡接口199
14.1.3 Android網絡接口199
14.2基於HTTP協議的網絡通信199
14.2.1 HTTP介紹199
14.2.2使用Apache接口200
14.2.3使用標準Java接口202
14.2.4總結203
14.3基於Socket的網絡通信203
14.3.1 Socket介紹204
14.3.2 Android Socket編程205
14.4 XML解析技術介紹206
14.4.1 DOM方式207
14.4.2 SAX方式208
14.4.3 PULL方式210
14.5本章小結212
第15章靈活的應用213
15.1 Android自定義UI控件213
15.1.1 Android UI結構213
15.1.2 Android繪製View的原理214
15.1.3 Android自定義控件分析215
15.1.4 Android自定義控件小結216
15.2片段(Fragment)佈局217
15.2.1 Fragment簡介217
15.2.2 Fragment設計理念217
15.2.3創建一個Fragment 218
15.2.4添加用戶界面219
15.2.5向活動中添加一個片段220
15.2.6添加沒有UI的片段220
15.2.7管理片段221
15.2.8執行片段事務(Fragment Transaction) 221
15.2.9和活動進行通信222
15.2.10小結222
15.3畫布和畫筆222
15.3.1畫布簡介222
15.3.2畫筆簡介223
15.3.3例子224
15.4本章小結224
第16章萬變不離其宗——多設備適配225
16.1多屏幕適配225
16.1.1屏幕適配概述225
16.1.2屏幕的分類226
16.1.3如何支持多屏幕227
16.1.4從項目中怎麼適配多屏幕228
16.2多語言處理230
16.2.1多語言處理概述230
16.2.2多語言在程序中的實現230
16.3多版本處理231
16.3.1支持不同的版本231
16.3.2設備運行時檢查系統的版本231
第17章開發好應用——省電、佈局、快速響應、NFC、Android bean等好玩的應用233
17.1開發省電的應用233
17.1.1數據傳輸時避免浪費電量233
17.1.2電池續航時間優化237
17.2近距離無線通信——NFC 238
17.2.1近距離無線通信——NFC概述238
17.2.2近距離無線通信——NFC基礎238
17.2.3 Android對NFC的支持239
17.2.4 Android應用中實現NFC 241
17.3本章小結242
第18章沒有規矩不成方圓——Android UI設計規範243
18.1 UI設計概述243
18.1.1 Android UI設計概述243
18.1.2自成體系的風格設計244
18.2 UI設計原則(Design Principles) 246
18.2.1讓我著迷—Enchant Me 247
18.2.2簡化我的生活—Simplify My Life 248
18.2.3讓我感到驚奇—Make Me Amazing 250
18.3 UI設計規範252
18.3.1應用結構規範252
18.3.2導航規範253
18.3.3通知規範255
18.4本章小結257
第19章綜合案例一——圖書信息查詢258
19.1項目介紹258
19.2 ZXing 259
19.2.1 ZXing介紹259
19.2.2 ZXing調用流程259
19.3豆瓣圖書API 259
19.3.1豆瓣圖書API介紹259
19.3.2豆瓣圖書API調用流程259
19.4項目效果圖260
19.5項目編碼262
19.5.1實體類263
19.5.2歡迎界面266
19.5.3數據下載269
19.5.4數據解析271
19.5.5信息顯示界面273
19.6本章小結276
第20章綜合案例二——eoe Wiki客戶端277
20.1背景與簡介277
20.1.1 eoe Wiki網站277
20.1.2 eoe Wiki客戶端277
20.2項目設計278
20.2.1原型圖設計278
20.2.2流程圖設計279
20.3功能模塊280
20.3.1項目目錄結構281
20.3.2滑塊特效282
20.3. 3網絡交互290
20.3.4 JSON數據解析295
20.3.5數據庫與緩存299
20.4最終演示307
20.5本章小結309
第21章綜合案例三——廣告查查看看310
21.1產品開發背景310
21.2產品功能簡介311
21.3本章小結314
第22章綜合案例四——手機信息小助手315
22.1背景與簡介315
22.1.1應用背景與簡介315
22.1.2手機信息小助手功能規劃315
22.2手機信息小助手編碼實現316
22.2.1手機信息小助手主界面316
22.2.2系統信息320
22.2.3硬件信息325
22.2.4軟件信息329
22.2.5運行時信息331
22.2.6文件瀏覽器334
22.3項目細節完善337
22.4手機信息小助手功能展望338
22.5本章小結338
第23章綜合案例五——“土地瀏覽器”實例339
23.1土地瀏覽器簡介339
23.1.1為什麼要開發土地瀏覽器339
23.1.2土地瀏覽器的基本功能340
23.2土地瀏覽器的設計340
23.3土地瀏覽器的開發過程341
23.3.1啟動界面的開發341
23.3.2網址輸入欄的設計344
23.3.3網址輸入欄的觸屏彈出和收縮346
23.3.4網址的獲取347
23.3.5如何在本程序中打開瀏覽器349
23.3.6網站標題的獲取349
23.3.7網站圖標的獲取349
23.3.8網站打開進度的獲得350
23.3.9網頁網址的獲得350
23.3.10網頁的觸屏滑動翻頁350
23.3.11網頁縮放351
23.3.12書籤和歷史記錄351
23.3.13底部菜單355
23.3.14關於設置356
23.3.15皮膚358
23.3.16壁紙設置359
23.3.17主頁設置359
23.3.18設置360
23.3 .19緩存設置361
23.3.20緩存刪除361
23.3.21其他362
23.4本章小結362
第24章綜合案例六——地圖跟踪363
24.1百度地圖示例應用分析363
24.1.1百度地圖SDK開發準備363
24.1.2百度地圖示例程序講解364
24.2本章小結374
後記375
作者介紹
姚尚朗(@IceskYsl)80後,創業者,eoe聯合創始人,Google產品重度依賴者,對移動互聯網發展趨勢有獨特見解並以實踐積極探索之。
著《Google Android開發入門與實戰》,《Google API大全編程.開發.實例》,《It's Android TIME:Google Android創贏路線與產品開發實戰》,譯《The Rails Way》。
隨性,自由,喜歡背包去陌生的地方旅行,樂交朋友。
博客: http://www.iceskysl.com/ 微博: @Iceskysl