第1章 Android計算平颱簡介 1
1.1 麵嚮新PC的全新平颱 1
1.2 Android的曆史 2
1.3 Dalvik VM剖析 4
1.4 比較Android與Java ME 5
1.5 理解Android軟件棧 8
1.6 使用Android SDK開發最終用戶應用程序 9
1.6.1 Android模擬器 9
1.6.2 Android UI 10
1.6.3 Android基礎組件 10
1.6.4 高級UI概念 11
1.6.5 Android Service組件 13
1.6.6 Android媒體和電話組件 13
1.6.7 Android Java包 15
1.7 利用Android源代碼 18
1.8 小結 19
第2章 初識Android 20
2.1 安裝環境 20
2.1.1 下載JDK 6 20
2.1.2 下載Eclipse 3.5 21
2.1.3 下載Android SDK 21
2.1.4 安裝ADT 22
2.2 瞭解基本組件 24
2.2.1 View 24
2.2.2 Activity 24
2.2.3 Intent 25
2.2.4 ContentProvider 25
2.2.5 Service 25
2.2.6 AndroidManifest.xml 25
2.2.7 AVD 26
2.3 Hello World! 26
2.4 AVD 30
2.5 剖析Android應用程序的結構 32
2.6 分析Notepad應用程序 33
2.6.1 加載和運行Notepad應用程序 34
2.6.2 分解應用程序 35
2.7 瞭解應用程序生命周期 41
2.8 調試應用程序 43
2.9 小結 44
第3章 使用資源、ContentProvider和Intent 45
3.1 資源 46
3.1.1 字符串資源 46
3.1.2 布局資源 48
3.1.3 資源引用語法 49
3.1.4 定義資源ID供以後使用 50
3.1.5 已編譯和未編譯的Android資源 51
3.1.6 Android關鍵資源 52
3.1.7 使用任意XML資源文件 58
3.1.8 使用原始資源 59
3.1.9 使用資産 60
3.1.10 瞭解資源目錄結構 60
3.2 ContentProvider 61
3.2.1 探索Android內置的ContentProvider 62
3.2.2 ContentProvider的架構 67
3.2.3 實現ContentProvider 78
3.3 Intent 88
3.3.1 Android中可用的Intent 89
3.3.2 Intent和數據URI 90
3.3.3 一般操作 91
3.3.4 使用extra信息 92
3.3.5 使用組件直接調用活動 93
3.3.6 組件設計人員最佳實踐 94
3.3.7 Intent類彆 95
3.3.8 將Intent解析為組件的規則 97
3.3.9 練習使用ACTION_PICK 97
3.3.10 練習使用GET_CONTENT操作 99
3.4 本章的更多資源 100
3.5 小結 101
第4章 構建用戶界麵和使用控件 102
4.1 Android中的UI開發 102
4.2 Android中的常見控件 107
4.2.1 文本控件 107
4.2.2 按鈕控件 110
4.2.3 列錶控件 116
4.2.4 網格控件 119
4.2.5 日期和時間控件 121
4.3 Android中其他有趣的控件 122
4.3.1 MapView控件 123
4.3.2 Gallery控件 123
4.3.3 Spinner控件 123
4.4 布局管理器 124
4.4.1 LinearLayout布局管理器 124
4.4.2 TableLayout布局管理器 127
4.4.3 RelativeLayout布局管理器 131
4.4.4 FrameLayout布局管理器 132
4.4.5 為各種設備配置自定義布局 134
4.5 適配器 136
4.5.1 SimpleCursorAdapter 137
4.5.2 瞭解ArrayAdapter 137
4.5.3 創建自定義適配器 138
4.6 使用Hierarchy Viewer調試和
優化布局 138
4.7 小結 141
第5章 使用菜單和對話框 142
5.1 Android菜單 142
5.1.1 創建菜單 143
5.1.2 使用菜單組 144
5.1.3 響應菜單項 145
5.1.4 創建測試工具來測試菜單 146
5.2 使用其他菜單類型 152
5.2.1 展開的菜單 152
5.2.2 使用圖標菜單 152
5.2.3 使用子菜單 153
5.2.4 配置係統菜單 154
5.2.5 使用上下文菜單 154
5.2.6 使用交替菜單 157
5.2.7 使用菜單響應數據變化 160
5.3 通過XML文件加載菜單 160
5.3.1 XML菜單資源文件的結構 160
5.3.2 填充XML菜單資源文件 161
5.3.3 響應基於XML的菜單項 161
5.3.4 其他XML菜單標記簡介 162
5.4 使用Android中的對話框 163
5.4.1 設計提醒對話框 164
5.4.2 設計提示對話框 166
5.4.3 Android對話框的特性 170
5.4.4 重新設計提示對話框 170
5.5 使用托管對話框 171
5.5.1 理解托管對話框協議 171
5.5.2 將非托管對話框轉換為托管
對話框 172
5.5.3 簡化托管對話框協議 173
5.6 小結 180
第6章 2D動畫揭秘 181
6.1 逐幀動畫 181
6.1.1 計劃逐幀動畫 182
6.1.2 創建活動 183
6.1.3 將動畫添加到活動 184
6.2 布局動畫 186
6.2.1 基本的補間動畫類型 187
6.2.2 計劃布局動畫測試工具 188
6.2.3 創建活動和ListView 188
6.2.4 將ListView製作成動畫 190
6.2.5 使用插值器 193
6.3 視圖動畫 195
6.3.1 理解視圖動畫 195
6.3.2 添加動畫 197
6.3.3 使用Camera實現2D圖像的
深度效果 200
6.3.4 探索AnimationListener類 201
6.3.5 關於變換矩陣的一些說明 202
6.4 小結 203
第7章 探索安全性和基於位置的服務 204
7.1 理解Android安全性模型 204
7.1.1 安全性概念概述 204
7.1.2 為部署簽名應用程序 205
7.2 執行運行時安全性檢查 209
7.2.1 進程邊界上的安全性 209
7.2.2 聲明和使用權限 209
7.2.3 理解和使用自定義權限 211
7.2.4 理解和使用URI權限 216
7.3 使用基於位置的服務 216
7.3.1 地圖包 216
7.3.2 位置包 226
7.4 小結 241
第8章 構建和使用服務 242
8.1 使用HTTP服務 242
8.1.1 將HttpClient用於HTTP GET
請求 242
8.1.2 將HttpClient用於HTTP POST請求 244
8.1.3 處理異常 247
8.1.4 解決多綫程問題 249
8.2 執行進程間通信 252
8.2.1 創建簡單服務 252
8.2.2 Android中的服務 253
8.2.3 本地服務 254
8.2.4 AIDL服務 258
8.2.5 在AIDL中定義服務接口 258
8.2.6 實現AIDL接口 261
8.2.7 從客戶端應用程序調用服務 262
8.2.8 嚮服務傳遞復雜的類型 266
8.3 小結 274
第9章 使用媒體框架和電話API 275
9.1 使用媒體API 275
9.1.1 瞭解和使用SD卡 275
9.1.2 播放音頻內容 278
9.1.3 setDataSource方法 281
9.1.4 播放視頻內容 282
9.1.5 MediaPlayer的一些注意事項 284
9.1.6 音頻錄製 284
9.1.7 視頻錄製 288
9.1.8 MediaStore類 293
9.1.9 將媒體內容添加到媒體存儲 297
9.2 使用電話API 299
9.2.1 使用SMS 299
9.2.2 使用電話管理器 305
9.3 小結 306
第10章 使用OpenGL進行3D圖形
編程 307
10.1 瞭解OpenGL的曆史和背景 308
10.1.1 OpenGL ES 308
10.1.2 OpenGL ES與Java ME 309
10.1.3 M3G:另一種Java ME 3D
圖形標準 310
10.2 OpenGL的基本原理 310
10.2.1 使用OpenGL ES進行基本
繪製 311
10.2.2 OpenGL照相機和坐標 315
10.3 在Android中使用OpenGL ES 318
10.3.1 使用GLSurfaceView和相關類 319
10.3.2 繪製三角形的簡單測試框架 320
10.3.3 更改照相機設置 324
10.3.4 使用索引添加另一個三角形 325
10.3.5 為簡單的OpenGL三角形
製作動畫 326
10.4 OpenGL的運用:形狀和紋理 329
10.4.1 演示中使用的簡單菜單技巧 329
10.4.2 繪製矩形 333
10.4.3 使用形狀 335
10.4.4 使用紋理 345
10.4.5 繪製多個圖形 349
10.4.6 OpenGL資源 352
10.5 小結 353
第11章 管理和組織首選項 354
11.1 探索首選項框架 354
11.1.1 ListPreference 354
11.1.2 以編程方式操作首選項 361
11.1.3 CheckBoxPreference 361
11.1.4 EditTextPreference 363
11.1.5 RingtonePreference 365
11.2 組織首選項 366
11.3 小結 368
第12章 活動文件夾 369
12.1 探索活動文件夾 369
12.1.1 用戶如何使用活動文件夾 370
12.1.2 構建活動文件夾 372
12.2 小結 382
第13章 主屏幕部件 383
13.1 主屏幕部件的架構 383
13.1.1 什麼是主屏幕部件 383
13.1.2 主屏幕部件的用戶體驗 384
13.1.3 部件的生命周期 386
13.2 示例部件應用程序 390
13.2.1 定義部件提供程序 391
13.2.2 定義部件尺寸 392
13.2.3 與部件布局相關的文件 394
13.2.4 實現部件提供程序 395
13.2.5 實現部件模型 397
13.2.6 實現部件配置活動 403
13.3 部件局限性和擴展 407
13.4 資源 407
13.5 小結 408
第14章 Android搜索 409
14.1 Android搜索體驗 409
14.1.1 探索Android全局搜索 410
14.1.2 為全局搜索啓用建議提供
程序 413
14.1.3 QSB與建議提供程序交互 415
14.2 活動與搜索鍵交互 416
14.2.1 常規活動上的搜索鍵行為 417
14.2.2 禁用瞭搜索的活動的行為 422
14.2.3 通過菜單調用搜索 423
14.2.4 本地搜索和相關活動 425
14.2.5 啓用鍵入搜索 429
14.3 實現簡單建議提供程序 430
14.3.1 計劃簡單建議提供程序 431
14.3.2 簡單建議提供程序實現文件 431
14.3.3 實現SimpleSuggestion- Provider類 431
14.3.4 簡單建議提供程序搜索活動 434
14.3.5 搜索調用方活動 438
14.3.6 簡單建議提供程序用戶體驗 439
14.4 實現自定義建議提供程序 441
14.4.1 計劃自定義建議提供程序 442
14.4.2 SuggestURLProvider項目
實現文件 442
14.4.3 實現SuggestUrlProvider類 443
14.4.4 實現自定義建議提供程序
的搜索活動 450
14.4.5 自定義建議提供程序描述
文件 454
14.4.6 自定義建議用戶體驗 455
14.5 使用操作鍵和應用程序特有的搜索數據 458
14.5.1 在Android搜索中使用
操作鍵 458
14.5.2 使用應用程序特定的搜索
上下文 460
14.6 資源 461
14.7 小結 462
第15章 文本到語音轉換和
翻譯API 463
15.1 Android中的文本到語音轉換 463
15.2 使用語段跟蹤語音 467
15.3 使用音頻文件代替話音 468
15.4 TTS引擎的高級功能 474
15.4.1 設置音頻流 475
15.4.2 使用耳標 475
15.4.3 播放靜音 476
15.4.4 使用語言方法 476
15.5 將文本翻譯為不同語言 477
15.6 小結 486
第16章 觸摸屏 487
16.1 瞭解MotionEvent 487
16.1.1 使用VelocityTracker 498
16.1.2 探索拖放操作 499
16.2 多點觸摸 502
16.3 觸摸地圖 508
16.4 手勢 510
16.5 小結 516
第17章 Titanium Mobile:基於WebKit
的Android開發方法 517
17.1 Titanium Mobile概述 518
17.1.1 架構 518
17.1.2 Titanium生態係統 521
17.1.3 下載和安裝Titanium
Developer 521
17.2 熟悉規則:第一個項目 528
17.2.1 創建Titanium Mobile項目 528
17.2.2 設計“Hello World” 530
17.2.3 配置應用程序以供調試 531
17.2.4 封裝應用程序 533
17.2.5 將.apk文件安裝到自己的
模擬器上 535
17.3 規劃真實的應用程序 536
17.3.1 JQuery必備知識 536
17.3.2 高級JavaScript的必備知識 539
17.3.3 理解微型模闆引擎 541
17.3.4 其他Titanium Mobile API 544
17.4 小結 544
第18章 使用Android Market 546
18.1 成為發布者 546
18.1.1 遵守規則 547
18.1.2 開發人員控製颱 548
18.2 準備銷售應用程序 549
18.2.1 針對不同設備進行測試 549
18.2.2 支持不同的屏幕尺寸 549
18.2.3 準備上傳
AndroidManifest.xml 550
18.2.4 本地化應用程序 550
18.2.5 準備應用程序圖標 551
18.2.6 付費應用程序考慮因素 551
18.2.7 將用戶引導至Market 552
18.2.8 準備上傳.apk文件 552
18.3 上傳應用程序 553
18.4 Android Market上的用戶體驗 554
18.5 小結 556
第19章 前景展望和資源 557
19.1 Android的最新狀態 557
19.1.1 基於Android的移動設備
製造商 557
19.1.2 Android應用程序商店 559
19.2 Android前景展望 560
19.2.1 移動操作係統概覽 560
19.2.2 對比Android與其他移動
操作係統 562
19.2.3 HTML 5支持及其意義 563
19.3 Android資源 564
19.3.1 核心Android資源 564
19.3.2 與Android新聞相關的資源 564
19.4 小結 565
· · · · · · (
收起)