第一部分 Android概述
第1章 Android簡介 2
1.1 Android簡介 2
1.1.1 Android平臺 3
1.1.2 Android的市場 4
1.1.3 Android許可 7
1.2 Android的棧組成 8
1.3 開始Android開發(fā) 11
1.3.1 Android的Intent 11
1.3.2 激活Android 14
1.3.3 AndroidManifest.xml 20
1.3.4 將應用程序映射到進程 22
1.4 一個Android應用程序 22
1.5 小結 26
第2章 開發(fā)環(huán)境 27
2.1 Android SDK 27
2.1.1 應用程序編程接口 28
2.1.2 核心Android包 28
2.1.3 可選包 29
2.2 完美契合 29
2.2.1 Java透視圖 30
2.2.2 DDMS透視圖 32
2.2.3 命令行工具 34
2.3 在Eclipse中構建Android應用程序 36
2.3.1 Android Project Wizard 37
2.3.2 Android示例應用程序代碼 37
2.3.3 生成應用程序 42
2.4 Android Emulator 43
2.4.1 皮膚 44
2.4.2 網絡速度 44
2.4.3 模擬器配置文件 46
2.5 調試 47
2.6 小結 48
第二部分 Android SDK實戰(zhàn)
第3章 用戶界面 50
3.1 創(chuàng)建活動 51
3.1.1 創(chuàng)建Activity類 52
3.1.2 探討活動的生命周期 57
3.2 使用視圖 60
3.2.1 通用視圖 60
3.2.2 使用ListView 63
3.2.3 利用Handler和Message實現多任務 66
3.2.4 創(chuàng)建自定義視圖 67
3.2.5 理解布局 69
3.2.6 處理焦點 71
3.2.7 掌握事件 72
3.3 使用資源 73
3.3.1 支持的資源類型 73
3.3.2 在Java中引用資源 74
3.3.3 通過XML資源定義視圖和布局 76
3.3.4 值的外化 78
3.3.5 提供動畫 81
3.4 理解AndroidManifest文件 81
3.5 小結 84
第4章 Intent與服務 85
4.1 使用Intent類 86
4.1.1 定義Intent 86
4.1.2 解析Intent 89
4.1.3 匹配自定義URI 92
4.1.4 使用Android提供的活動 96
4.2 使用廣播接收器進行偵聽 97
4.2.1 擴展Intent概念 97
4.2.2 創(chuàng)建接收器 98
4.3 構建服務 99
4.3.1 服務的兩用性 100
4.3.2 創(chuàng)建可運行后臺任務的服務 100
4.4 實現進程間通信 103
4.4.1 Android接口定義語言 104
4.4.2 公開遠程接口 106
4.4.3 綁定到服務 106
4.4.4 啟動服務與綁定服務 108
4.4.5 服務的生命周期 109
4.4.6 Binder類和Parcelable接口 110
4.5 小結 111
第5章 存儲和檢索數據 112
5.1 使用首選項 112
5.1.1 使用SharedPreferences 113
5.1.2 首選項訪問權限 116
5.2 使用文件系統(tǒng) 119
5.2.1 創(chuàng)建文件 119
5.2.2 訪問文件 120
5.2.3 作為原始資源的文件 121
5.2.4 XML文件資源 122
5.2.5 通過SD卡實現外部存儲 124
5.3 將數據持久存儲到數據庫中 127
5.3.1 構建和訪問數據庫 128
5.3.2 使用sqlite3工具 132
5.4 使用ContentProvider類 133
5.4.1 理解URI表示和操作記錄 135
5.4.2 創(chuàng)建ContentProvider 142
5.5 小結 148
第6章 聯網與Web服務 150
6.1 聯網概述 152
6.1.1 聯網基礎知識 152
6.1.2 客戶端與服務器 153
6.2 檢查網絡狀態(tài) 154
6.3 使用服務器套接字進行通信 155
6.4 使用HTTP 158
6.4.1 簡單HTTP和Java.net 158
6.4.2 使用HttpClient的健壯HTTP 160
6.4.3 創(chuàng)建HTTP和HTTPS幫助類 161
6.5 Web服務 167
6.5.1 POX——將它與HTTP和XML結合在一起 168
6.5.2 REST 170
6.5.3 用還是不用SOAP,這是個問題 173
6.6 小結 174
第7章 電話技術 175
7.1 電話技術背景與術語 176
7.2 訪問電話技術信息 177
7.2.1 獲取電話技術屬性 177
7.2.2 獲取電話狀態(tài)信息 179
7.3 與電話交互 181
7.3.1 使用Intent打電話 181
7.3.2 有用的電話號碼相關實用工具 182
7.3.3 攔截電話 184
7.4 處理消息傳遞:SMS 185
7.4.1 發(fā)送SMS消息 185
7.4.2 接收SMS消息 187
7.5 小結 188
第8章 通知與提醒 189
8.1 Toast簡介 189
8.2 通知簡介 192
8.3 提醒 195
8.4 小結 201
第9章 圖形與動畫 202
9.1 在Android中繪制圖形 202
9.2 動畫 206
9.2.1 以編程方式創(chuàng)建動畫 209
9.2.2 面向嵌入式系統(tǒng)的OpenGL簡介 213
9.3 小結 224
第10章 多媒體 225
10.1 多媒體與OpenCORE簡介 225
10.2 播放音頻 226
10.3 播放視頻 228
10.4 捕捉媒體 230
10.4.1 了解相機 230
10.4.2 捕捉音頻 235
10.5 小結 238
第11章 位置服務 239
11.1 在模擬器中模擬位置 241
11.1.1 使用DDMS工具發(fā)送坐標 241
11.1.2 GPS交換格式 243
11.1.3 Google Earth Keyhole標記語言 245
11.2 使用LocationManager和LocationProvider 246
11.2.1 使用LocationManager 訪問位置數據 247
11.2.2 使用LocationProvider 249
11.2.3 使用LocationListener 接收位置更新 250
11.3 處理地圖 253
11.3.1 擴展MapActivity 253
11.3.2 使用MapView 254
11.3.3 使用Overlay將數據放在地圖上 256
11.4 使用Geocoder轉換位置和地址 259
11.5 小結 262
第三部分 Android應用程序
第12章 全面應用:Field Service Application 264
12.1 Field Service Application的需求 265
12.1.1 基本需求 265
12.1.2 數據模型 266
12.1.3 應用程序架構與集成 267
12.2 Android應用程序之旅 268
12.2.1 應用程序流 268
12.2.2 代碼路線圖 269
12.2.3 AndroidManifest.xml 271
12.3 Android代碼 271
12.3.1 Splash Activity 271
12.3.2 FieldService Activity,第1部分 273
12.3.3 FieldService Activity,第2部分 275
12.3.4 設置 276
12.3.5 數據結構 278
12.4 深入剖析代碼 286
12.4.1 RefreshJobs 286
12.4.2 ManageJobs 289
12.4.3 ShowJob 292
12.4.4 CloseJob 296
12.5 服務器代碼 302
12.5.1 調度程序用戶界面 302
12.5.2 數據庫 303
12.5.3 PHP調度程序代碼 303
12.5.4 PHP移動集成代碼 304
12.6 小結 305
第13章 Android高級編程 306
13.1 Android/Linux:接合 306
13.1.1 工具鏈 307
13.1.2 構建應用程序 307
13.1.3 安裝和運行應用程序 308
13.1.4 構建腳本 310
13.2 更好的方法 311
13.2.1 static標記 311
13.2.2 鏈接 313
13.2.3 退出,而不是返回 314
13.2.4 啟動代碼 315
13.3 現在幾點了 317
13.3.1 Daytime Server應用程序 318
13.3.2 daytime.c 318
13.3.3 SQLite數據庫 320
13.3.4 編譯并運行Daytime Server 322
13.4 Daytime Client 324
13.4.1 活動 324
13.4.2 套接字客戶機 325
13.4.3 測試Daytime Client 326
13.5 小結 327
附錄A 安裝Android SDK 329
附錄B 在Android設備上簽名和安裝
應用程序 336