前言 ............................................................................. xv
第1 章 Android 概述 ..................................................... 1
1.1 Android 基本特點 ............................................................................................1
全麵 .................................................................................................................1
開源平颱 .........................................................................................................2
專為移動設備設計 ..........................................................................................2
1.2 曆史 .................................................................................................................3
榖歌的動機 .....................................................................................................3
Android 的兼容性 ............................................................................................4
開放手機聯盟 ..................................................................................................4
1.3 Android 的版本 ...............................................................................................5
1.4 Android 的風格 ...............................................................................................7
Android 開源項目 ............................................................................................7
製造商的加載項 ..............................................................................................7
1.5 總結 .................................................................................................................8
第2 章 Java 綜述 .......................................................... 9
2.1 注釋 ...............................................................................................................12
2.2 數據類型:基本數據類型和對象 ..................................................................13
2.3 修飾符 ...........................................................................................................14
2.4 數組 ...............................................................................................................15
2.5 運算符 ...........................................................................................................16
2.6 控製流語句 ...................................................................................................16
2.7 錯誤/ 異常處理 .............................................................................................19
2.8 復雜的示例 ...................................................................................................22
2.9 接口和繼承 ...................................................................................................26
2.10 集閤 .............................................................................................................27
2.11 泛型 .............................................................................................................28
2.12 綫程 .............................................................................................................28
2.13 總結 .............................................................................................................29
第3 章 Android 套件 .................................................... 31
3.1 套件概述 .......................................................................................................31
3.2 Linux .............................................................................................................31
Android 不等於Linux ...................................................................................33
3.3 本地層 ...........................................................................................................33
HAL...............................................................................................................34
本地庫 ...........................................................................................................34
本地守護進程 ................................................................................................35
本地工具 .......................................................................................................36
3.4 Dalvik ............................................................................................................36
Android 和Java .............................................................................................37
3.5 應用程序框架 ................................................................................................39
3.6 應用程序 .......................................................................................................40
Android 應用程序包(APK) .........................................................................40
應用程序簽名 ................................................................................................41
應用程序分發 ................................................................................................41
3.7 總結 ...............................................................................................................42
第4 章 安裝和開始使用Android 工具 ........................... 43
4.1 安裝Java 開發工具包 ...................................................................................43
4.2 安裝Android SDK ........................................................................................45
為工具設置PATH 環境變量 ..........................................................................45
安裝Eclipse ..................................................................................................46
Eclipse 工作區 ...............................................................................................46
設置Android 開發工具 .................................................................................46
4.3 Hello World! ..................................................................................................48
創建新項目 ...................................................................................................48
4.4 剖析一個Android 項目 .................................................................................51
Android 的清單文件 ......................................................................................51
字符串資源 ...................................................................................................54
布局XML 代碼 .............................................................................................55
4.5 可繪製資源 ...................................................................................................56
R 文件 ...........................................................................................................56
Java 源代碼 ...................................................................................................57
4.6 構建項目 .......................................................................................................58
4.7 Android 仿真器 .............................................................................................59
仿真器與真實手機對比 .................................................................................59
4.8 總結 ...............................................................................................................62
第5 章 主要構件 .......................................................... 63
5.1 一個實際的例子 ............................................................................................63
5.2 活動 ...............................................................................................................64
活動的生命周期 ............................................................................................64
5.3 意圖 ...............................................................................................................68
5.4 服務 ...............................................................................................................69
5.5 內容提供器 ...................................................................................................70
5.6 廣播接收器 ...................................................................................................72
5.7 應用程序上下文 ............................................................................................72
5.8 總結 ...............................................................................................................74
第6 章 Yamba 項目概況 .............................................. 75
6.1 Yamba 應用程序 ............................................................................................75
6.2 設計理念 .......................................................................................................79
6.3 項目設計 .......................................................................................................80
6.4 第1 部分:Android 用戶界麵 .......................................................................81
6.5 第2 部分:意圖、活動條及其他 ..................................................................82
6.6 第3 部分:Android 服務 ..............................................................................82
6.7 第4 部分:內容提供器 .................................................................................83
6.8 第5 部分:列錶和適配器 .............................................................................83
6.9 第6 部分:廣播接收器 .................................................................................84
6.10 第7 部分:應用程序控件 ...........................................................................84
6.11 第8 部分:聯網和Web(HTTP) ................................................................85
6.12 第9 部分:動態壁紙和處理程序 ................................................................85
6.13 總結 .............................................................................................................85
第7 章 Android 的用戶界麵 ......................................... 87
7.1 創建用戶界麵的兩種方法 .............................................................................87
聲明式用戶界麵 ............................................................................................87
編程式用戶界麵 ............................................................................................88
各取所長 .......................................................................................................88
7.2 視圖和布局 ...................................................................................................88
LinearLayout(綫性布局) .............................................................................89
TableLayout(錶格布局) ..............................................................................90
FrameLayout(幀布局) .................................................................................91
RelativeLayout(相對布局) ..........................................................................92
7.3 啓動Yamba 項目 ...........................................................................................93
7.4 StatusActivity 布局 ........................................................................................97
重要的控件屬性 .......................................................................................... 101
字符串資源 ................................................................................................. 103
7.5 StatusActivity Java 類 ................................................................................. 104
釋放XML 到Java ....................................................................................... 104
初始化對象 ................................................................................................. 106
處理用戶事件 .............................................................................................. 107
7.6 在Android 中記錄消息日誌 ........................................................................ 108
LogCat ......................................................................................................... 108
編譯代碼並構建項目:保存文件 ................................................................ 109
添加Twitter API 庫 ..................................................................................... 112
更新清單文件以獲取Internet 權限 ............................................................. 113
7.7 Android 中的綫程機製 ................................................................................ 114
單綫程 ......................................................................................................... 114
多綫程的執行 .............................................................................................. 115
AsyncTask(異步任務) ............................................................................... 116
7.8 其他UI 事件 ............................................................................................... 119
7.9 備用資源 ..................................................................................................... 124
7.10 總結 ........................................................................................................... 127
第8 章 片段 .............................................................. 129
8.1 片段示例 ..................................................................................................... 129
8.2 片段的生命周期 .......................................................................................... 136
8.3 動態添加片段 .............................................................................................. 137
8.4 總結 ............................................................................................................. 139
第9 章 意圖、活動條及其他 ....................................... 141
9.1 首選項 ......................................................................................................... 141
首選項資源 ................................................................................................. 142
SettingsActivity ........................................................................................... 145
更新清單文件 .............................................................................................. 147
9.2 活動條 ......................................................................................................... 148
創建一個空白主活動 ................................................................................... 149
菜單資源 ..................................................................................................... 150
Android 的係統資源 .................................................................................... 152
加載菜單 ..................................................................................................... 153
更新StatusActivity 來處理菜單事件 ........................................................... 154
9.3 共享首選項及更新消息片段 ....................................................................... 155
9.4 文件係統簡介 .............................................................................................. 157
訪問文件係統 .............................................................................................. 158
文件係統分區 .............................................................................................. 158
係統分區 ..................................................................................................... 158
SD 卡分區 ................................................................................................... 158
用戶數據分區 .............................................................................................. 160
文件係統安全 .............................................................................................. 161
9.5 總結 ............................................................................................................. 161
第10 章 服務 ............................................................ 163
10.1 示例服務:RefreshService ........................................................................ 164
創建RefreshService Java 類 ........................................................................ 164
介紹IntentService ....................................................................................... 166
更新清單文件 .............................................................................................. 167
添加菜單項 ................................................................................................. 168
更新選項菜單處理 ...................................................................................... 168
測試服務 ..................................................................................................... 169
10.2 從Yamba 提取數據 ................................................................................... 169
測試服務 ..................................................................................................... 172
10.3 總結 ...............................................................................................172
第11 章 內容提供器 .................................................. 175
11.1 Android 上的數據庫 .................................................................................. 175
關於SQLite ................................................................................................. 176
DbHelper ..................................................................................................... 176
數據庫模式及其創建 ................................................................................... 177
四個主要操作 .............................................................................................. 177
遊標 ............................................................................................................. 178
11.2 消息閤同類 ................................................................................................ 179
11.3 更新RefreshService .................................................................................. 181
測試服務 ..................................................................................................... 184
11.4 內容提供器 ................................................................................................ 186
11.5 創建一個內容提供器 ................................................................................. 187
定義URI ..................................................................................................... 187
獲取數據類型 .............................................................................................. 189
插入數據 ..................................................................................................... 191
更新數據 ..................................................................................................... 192
刪除數據 ..................................................................................................... 193
查詢數據 ..................................................................................................... 194
更新Android 清單文件 ............................................................................... 199
更新RefreshService .................................................................................... 200
11.6 總結 ........................................................................................................... 201
第12 章 列錶和適配器 ............................................... 203
12.1 主活動 ....................................................................................................... 203
12.2 基本的主活動 ............................................................................................ 203
12.3 時間錶片段 ............................................................................................... 205
創建列錶項布局 .......................................................................................... 206
12.4 關於適配器 ............................................................................................... 207
12.5 加載數據 ................................................................................................... 208
12.6 通過ViewBinder 定製邏輯 ....................................................................... 211
12.7 詳情視圖 ................................................................................................... 213
詳情片段 ..................................................................................................... 214
詳情活動 ..................................................................................................... 216
注冊到清單文件 .......................................................................................... 217
主活動,橫嚮視圖 ...................................................................................... 217
更新時間錶片段 .......................................................................................... 218
12.8 總結 ........................................................................................................... 221
第13 章 廣播接收器 .................................................. 223
13.1 關於廣播接收器 ........................................................................................ 223
13.2 開機接收器 ............................................................................................... 224
將BootReceiver 注冊到Android 清單文件 ................................................. 224
測試開機接收器 .......................................................................................... 225
13.3 警報和係統服務 ........................................................................................ 225
13.4 廣播意圖 ................................................................................................... 227
通知接收器 ................................................................................................. 230
13.5 總結 ........................................................................................................... 231
第14 章 應用程序控件 ............................................... 233
14.1 通過控件使用內容提供器 ......................................................................... 233
實現YambaWidget 類 ................................................................................. 234
創建XML 布局 ........................................................................................... 236
創建AppWidgetProviderInfo 文件 .............................................................. 238
更新清單文件 .............................................................................................. 238
測試控件 ..................................................................................................... 239
14.2 總結 ........................................................................................................... 239
第15 章 聯網和Web 概述 .......................................... 241
15.1 簡單的例子 ............................................................................................... 241
15.2 聯網基礎 ................................................................................................... 242
15.3 HTTP API .................................................................................................. 244
15.4 Apache HTTP 客戶端 ................................................................................ 245
15.5 HttpUrlConnection .................................................................................... 248
15.6 使用AsyncTask 和AsyncTaskLoader 在後颱聯網 .................................... 251
15.7 總結 ........................................................................................................... 251
第16 章 互動與動畫:動態壁紙和處理程序 ................ 253
16.1 動態壁紙 ................................................................................................... 253
16.2 處理程序 ................................................................................................... 260
16.3 總結 ........................................................................................................... 262
索引 ........................................................................... 263
· · · · · · (
收起)