-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

精通Android

( 簡體 字)
作者:[印] Satya Komatineni [美] Dave 類別:1. -> 程式設計 -> 手機程式 -> Android
譯者:
出版社:人民郵電出版社精通Android 3dWoo書號: 34605
詢問書籍請說出此書號!

有庫存
NT售價: 595

出版日:1/1/2013
頁數:744
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115297150
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

《精通Android》在上一版的基礎上進行了全面改進,不僅在結構上有了相應的調整,內容上更是與時俱進,增加了Android內部構件的相關知識,介紹了線程、進程、長期運行的服務、廣播接收程序、鬧鐘管理器、設備配置變化和異步任務。關于碎片、碎片對話框、ActionBar和拖放等全新內容更是映入大家的眼簾。此外,《精通Android》對服務和傳感器的相關章節做了大幅改進。
《精通Android》囊括了Android開發人員所需的一切知識,既可為Android開發人員夯實基礎,又能提高Android開發人員的技能。

目錄:

第1章 Android計算平臺簡介 1
1.1 面向新PC的全新平臺 1
1.2 Android的歷史 2
1.3 Dalvik VM剖析 4
1.4 理解Android軟件棧 5
1.5 使用Android SDK開發最終用戶應用程序 6
1.5.1 Android模擬器 6
1.5.2 Android UI 7
1.5.3 Android基礎組件 7
1.5.4 高級UI概念 8
1.5.5 Android Service組件 10
1.5.6 Android媒體和電話組件 10
1.5.7 Android Java包 11
1.6 利用Android源代碼 14
1.6.1 在線瀏覽Android源代碼 14
1.6.2 使用Git下載Android源代碼 15
1.7 本書的示例項目 16
1.8 小結 16

第2章 設置開發環境 17
2.1 設置環境 17
2.1.1 下載JDK 6 18
2.1.2 下載Eclipse 3.6 19
2.1.3 下載Android SDK 19
2.1.4 命令行窗口 20
2.1.5 安裝ADT 21
2.2 了解基本組件 23
2.2.1 View 23
2.2.2 Activity 23
2.2.3 Fragment 24
2.2.4 Intent 24
2.2.5 ContentProvider 24
2.2.6 Service 24
2.2.7 AndroidManifest.xml 24
2.2.8 AVD 25
2.3 Hello World! 25
2.4 AVD 29
2.5 在真實設備上運行 30
2.6 剖析Android應用程序的結構 31
2.7 了解應用程序生命周期 33
2.8 簡單調試 35
2.9 參考資料 37
2.10 小結 37
2.11 面試問題 37

第3章 使用Android資源 39
3.1 資源 39
3.1.1 字符串資源 39
3.1.2 布局資源 41
3.1.3 資源引用語法 43
3.1.4 定義資源ID供以后使用 44
3.1.5 已編譯和未編譯的Android資源 45
3.2 Android關鍵資源 46
3.3 使用任意XML資源文件 54
3.4 使用原始資源 55
3.5 使用資產 56
3.6 了解資源目錄結構 56
3.7 資源和配置更改 56
3.8 參考資料URL 59
3.9 小結 60
3.10 面試問題 60

第4章 ContentProvider 62
4.1 探索Android內置的ContentProvider 63
4.1.1 在模擬器和可用設備上利用數據庫 63
4.1.2 快速了解SQLite 66
4.2 ContentProvider的架構 66
4.2.1 Android內容URI的結構 68
4.2.2 Android MIME類型的結構 68
4.2.3 使用URI讀取數據 70
4.2.4 使用游標 71
4.2.5 使用where子句 72
4.2.6 插入記錄 74
4.2.7 將文件添加到ContentProvider中 75
4.2.8 更新和刪除 76
4.3 實現ContentProvider 76
4.3.1 計劃數據庫 76
4.3.2 擴展ContentProvider 78
4.3.3 履行MIME類型契約 83
4.3.4 實現query方法 83
4.3.5 實現insert方法 83
4.3.6 實現update方法 84
4.3.7 實現delete方法 84
4.3.8 使用UriMatcher來解析URI 84
4.3.9 使用投影映射 85
4.3.10 注冊提供程序 86
4.4 練習圖書提供程序 86
4.4.1 添加圖書 86
4.4.2 刪除圖書 87
4.4.3 獲取圖書數量 87
4.4.4 顯示圖書列表 87
4.5 資源 88
4.6 小結 89
4.7 面試問題 89

第5章 Intent 90
5.1 Android Intent基礎知識 90
5.2 Android中可用的Intent 91
5.3 Intent的組成 93
5.3.1 Intent和數據URI 93
5.3.2 一般操作 94
5.3.3 使用extra信息 95
5.3.4 使用組件直接調用活動 96
5.3.5 Intent類別 97
5.3.6 將Intent解析為組件的規則 99
5.4 練習使用ACTION_PICK 101
5.5 練習使用GET_CONTENT操作 103
5.6 掛起的Intent 104
5.7 資源 105
5.8 小結 106
5.9 面試問題 106

第6章 構建用戶界面和使用控件 107
6.1 Android中的UI開發 107
6.1.1 完全利用代碼來構建UI 108
6.1.2 完全使用XML構建UI 110
6.1.3 使用XML結合代碼構建UI 111
6.2 Android中的常見控件 113
6.2.1 文本控件 113
6.2.2 按鈕控件 116
6.2.3 ImageView控件 123
6.2.4 日期和時間控件 124
6.2.5 MapView控件 127
6.3 適配器 127
6.3.1 SimpleCursorAdapter 128
6.3.2 了解ArrayAdapter 129
6.4 結合使用適配器和AdapterView 131
6.4.1 基本的列表控件:ListView 131
6.4.2 GridView控件 138
6.4.3 Spinner控件 140
6.4.4 Gallery控件 141
6.4.5 創建自定義適配器 142
6.4.6 Android中的其他控件 146
6.5 樣式和主題 147
6.5.1 使用樣式 147
6.5.2 使用主題 149
6.6 布局管理器 150
6.6.1 LinearLayout布局管理器 150
6.6.2 TableLayout布局管理器 153
6.6.3 RelativeLayout布局管理器 156
6.6.4 FrameLayout布局管理器 157
6.6.5 GridLayout布局管理器 159
6.6.6 為各種設備配置自定義布局 160
6.7 參考資料 161
6.8 小結 161
6.9 面試問題 161

第7章 使用菜單 163
7.1 Android菜單 163
7.1.1 創建菜單 164
7.1.2 使用菜單組 165
7.1.3 響應菜單項 166
7.2 使用其他菜單類型 168
7.2.1 展開的菜單 168
7.2.2 使用圖標菜單 169
7.2.3 使用子菜單 169
7.2.4 使用上下文菜單 170
7.2.5 使用交替菜單 173
7.2.6 動態菜單 175
7.3 通過XML文件加載菜單 175
7.3.1 XML菜單資源文件的結構 176
7.3.2 填充XML菜單資源文件 177
7.3.3 響應基于XML的菜單項 177
7.3.4 4.0版本中的彈出式菜單 178
7.3.5 其他XML菜單標記簡介 179
7.4 資源 181
7.5 小結 181
7.6 面試問題 181

第8章 多用途的碎片 183
8.1 什么是碎片 183
8.1.1 何時使用碎片 184
8.1.2 碎片的結構 185
8.1.3 碎片的生命周期 186
8.1.4 展示生命周期的示例碎片應用程序 189
8.2 FragmentTransactions和碎片后退棧 194
8.3 FragmentManager 196
8.3.1 引用碎片時的注意事項 197
8.3.2 保存片段狀態 198
8.3.3 ListFragments和fragment 198
8.3.4 在需要時調用獨立的活動 200
8.3.5 碎片的持久化 201
8.4 碎片之間的通信方式 202
8.5 使用ObjectAnimator自定義動畫 203
8.6 參考資料 205
8.7 小結 205
8.8 面試問題 206

第9章 對話框 207
9.1 使用Android對話框 207
9.2 對話框碎片 207
9.2.1 DialogFragment的基礎知識 208
9.2.2 構建對話框碎片 208
9.2.3 DialogFragment示例應用程序 212
9.3 使用Toast 220
9.4 舊版本Android的對話框碎片 221
9.5 參考資料 221
9.6 小結 222
9.7 面試問題 222

第10章 ActionBar 223
10.1 ActionBar剖析 223
10.2 選項卡導航操作欄活動 225
10.2.1 實現基礎活動類 225
10.2.2 為ActionBar分配統一的行為 227
10.2.3 實現選項卡監聽器 229
10.2.4 實現選項卡操作欄活動 230
10.2.5 可滾動的調試文本視圖布局 232
10.2.6 操作欄和菜單交互 233
10.2.7 Android描述文件 235
10.2.8 測試選項卡操作欄活動 235
10.3 列表導航操作欄活動 236
10.3.1 創建SpinnerAdapter 236
10.3.2 創建列表監聽器 237
10.3.3 設置列表操作欄 237
10.3.4 更改BaseActionBar-Activity 238
10.3.5 更改AndroidManifest.xml 238
10.3.6 測試列表操作欄活動 239
10.4 標準導航操作欄活動 240
10.4.1 設置標準導航操作欄活動 240
10.4.2 更改BaseActionBar-Activity 241
10.4.3 更改AndroidManifest.xml 242
10.4.4 測試標準操作欄活動 242
10.5 工具欄與搜索視圖 243
10.5.1 將搜索視圖部件定義為菜單項 244
10.5.2 配置搜索結果活動 244
10.5.3 通過可搜索XML文件自定義搜索 245
10.5.4 在配置清單文件中定義搜索結果活動 245
10.5.5 確定搜索視圖部件的搜索目標 245
10.6 操作欄和碎片 246
10.7 參考資料 246
10.8 小結 247
10.9 面試問題 247

第11章 高級調試與分析 249
11.1 啟用高級調試 249
11.2 Debug透視圖 249
11.3 DDMS透視圖 250
11.4 Hierarchy View透視圖 252
11.5 Traceview 253
11.6 adb命令 254
11.7 模擬器控制臺 255
11.8 StrictMode 255
11.8.1 StrictMode策略 255
11.8.2 關閉StrictMode 256
11.8.3 在舊版本Android上使用StrictMode 257
11.8.4 StrictMode練習 258
11.9 參考資料 259
11.10 小結 259
11.11 面試問題 259

第12章 響應配置變化 261
12.1 配置變化過程 261
12.1.1 活動的銷毀/創建過程 262
12.1.2 碎片的銷毀/創建過程 263
12.1.3 使用FragmentManager保存碎片狀態 264
12.1.4 使用碎片的setRetain-Instance 264
12.2 棄用的配置變化方法 264
12.3 參考資料 265
12.4 小結 265
12.5 面試問題 265

第13章 首選項及保存狀態 266
13.1 探索首選項框架 266
13.1.1 ListPreference 266
13.1.2 CheckBoxPreference 273
13.1.3 EditTextPreference 275
13.1.4 RingtonePreference及MultiSelectListPreference 276
13.2 組織首選項 276
13.2.1 使用PreferenceCategory 276
13.2.2 創建依賴的子首選項 279
13.2.3 帶標題的首選項 279
13.3 以編程方式操作首選項 281
13.3.1 使用首選項保存狀態 281
13.3.2 使用DialogPreference 282
13.4 參考資料 283
13.5 小結 283
13.6 面試問題 283

第14章 探索安全性和權限 284
14.1 理解Android安全性模型 284
14.1.1 安全性概念概述 284
14.1.2 為部署簽名應用程序 285
14.2 執行運行時安全性檢查 290
14.2.1 進程邊界上的安全性 290
14.2.2 聲明和使用權限 290
14.2.3 理解和使用自定義權限 292
14.2.4 理解和使用URI權限 297
14.3 參考資料 298
14.4 小結 298
14.5 面試問題 299

第15章 構建和使用服務 300
15.1 使用HTTP服務 300
15.1.1 將HttpClient用于HTTP GET請求 300
15.1.2 將HttpClient用于HTTP POST請求(多部分POST請求示例) 302
15.1.3 SOAP、JSON和XML分析程序 304
15.1.4 處理異常 305
15.1.5 解決多線程問題 307
15.1.6 有趣的超時 309
15.1.7 使用HttpURLConnection 310
15.1.8 使用AndroidHttpClient 310
15.1.9 使用后臺線程(AsyncTask) 311
15.1.10 使用DownloadManager獲取文件 316
15.2 使用Android服務 321
15.2.1 Android中的服務 322
15.2.2 本地服務 323
15.2.3 AIDL服務 329
15.2.4 在AIDL中定義服務接口 329
15.2.5 實現AIDL接口 331
15.2.6 從客戶端應用程序調用服務 333
15.2.7 向服務傳遞復雜的類型 336
15.3 參考資料 345
15.4 小結 345
15.5 面試問題 346

第16章 包 347
16.1 包和進程 347
16.1.1 包規范的細節 347
16.1.2 將包名稱轉換為進程名稱 347
16.1.3 列出安裝的包 348
16.1.4 通過包瀏覽器刪除包 348
16.2 包簽名過程回顧 349
16.2.1 理解數字簽名:場景1 349
16.2.2 理解數字簽名:場景2 350
16.2.3 一種理解數字簽名的模式 350
16.2.4 數字簽名執行方式 350
16.2.5 簽名過程的影響 350
16.3 在包之間共享數據 351
16.3.1 共享用戶ID的性質 351
16.3.2 共享數據的代碼模式 352
16.4 庫項目 353
16.4.1 庫項目的概念 353
16.4.2 庫項目的性質 353
16.4.3 創建庫項目 355
16.4.4 創建使用庫的Android項目 358
16.4.5 使用庫項目的注意事項 365
16.5 參考資料 365
16.6 小結 366
16.7 面試問題 366

第17章 處理程序 368
17.1 Android組件和線程 368
17.1.1 活動在主線程上運行 369
17.1.2 廣播接收程序在主線程上運行 369
17.1.3 服務在主線程上運行 369
17.1.4 ContentProvider在主線程上運行 370
17.1.5 單一主線程的影響 370
17.1.6 線程池、ContentProvider及外部服務組件 370
17.1.7 線程實用程序:發現線程 370
17.2 處理程序 371
17.2.1 持有主線程的影響 372
17.2.2 使用處理程序延遲主線程上的工作 373
17.2.3 延遲工作的處理程序源代碼示例 373
17.2.4 構造合適的Message對象 375
17.2.5 將Message對象發送給隊列 375
17.2.6 響應handleMessage回調 376
17.3 使用工作線程 376
17.3.1 從菜單調用工作線程 376
17.3.2 在工作線程與主線程之間通信 377
17.4 組件和進程壽命 380
17.4.1 活動生命周期 380
17.4.2 服務生命周期 381
17.4.3 接收程序生命周期 381
17.4.4 提供程序生命周期 382
17.5 參考資料 382
17.6 小結 382
17.7 面試問題 383

第18章 AsyncTask詳解 384
18.1 實現一個簡單的AsyncTask 385
18.1.1 實現AsyncTask的泛型 385
18.1.2 創建AsyncTask子類 386
18.1.3 實現第一個AsyncTask 386
18.1.4 調用一個AsyncTask 388
18.1.5 onPreExecute()回調方法和進度對話框 388
18.1.6 doInBackground()方法 389
18.1.7 觸發onProgressUpdate() 389
18.1.8 onPostExecute()方法 390
18.1.9 升級為確定性進度對話框 390
18.2 AsyncTask的性質 392
18.3 設備旋轉與AsyncTask 393
18.4 生命周期方法與AsyncTask 393
18.5 參考資料 393
18.6 小結 394
18.7 面試問題 394

第19章 廣播接收程序和長期運行的服務 395
19.1 廣播接收程序 395
19.1.1 發送廣播 395
19.1.2 編寫簡單的接收程序:示例代碼 396
19.1.3 在描述文件中注冊接收程序 396
19.1.4 容納多個接收程序 397
19.1.5 進程外接收程序項目 399
19.2 從接收程序使用通知 399
19.2.1 通過通知管理器監控通知 400
19.2.2 發送通知 401
19.2.3 在廣播接收程序中啟用活動 404
19.3 長期運行的接收程序和服務 404
19.3.1 長期運行的廣播接收程序協議 404
19.3.2 IntentService 405
19.3.3 IntentService源代碼 406
19.4 為廣播接收程序擴展IntentService 407
19.4.1 長期運行的廣播服務抽象 408
19.4.2 長期運行的接收程序 409
19.4.3 使用LightedGreenRoom抽象喚醒鎖 411
19.5 長期運行的服務的實現 416
19.5.1 非粘滯性服務的細節 417
19.5.2 粘滯性服務的細節 417
19.5.3 非粘滯性的變體:重傳送(redeliver)Intent 418
19.5.4 在onStartCommand中指定服務標志 418
19.5.5 挑選合適的粘滯性 418
19.5.6 從兩個位置控制喚醒鎖 418
19.5.7 長期運行的服務的實現 419
19.5.8 測試長期運行的服務 420
19.5.9 開發者的職責 420
19.5.10 框架的職責 421
19.6 關于項目下載文件的一些說明 421
19.7 參考資料 422
19.8 小結 422
19.9 面試問題 422

第20章 鬧鐘管理器 424
20.1 鬧鐘管理器基本知識:設置一個簡單的鬧鐘 424
20.1.1 獲取鬧鐘管理器人的訪問權限 424
20.1.2 設置鬧鐘時間 424
20.1.3 創建鬧鐘接收程序 425
20.1.4 創建適合鬧鐘的PendingIntent 426
20.1.5 設置鬧鐘 427
20.1.6 測試項目 427
20.2 探索其他鬧鐘管理器場景 428
20.2.1 設置重復鬧鐘 428
20.2.2 取消鬧鐘 429
20.2.3 使用多個鬧鐘 430
20.2.4 Intent在設置鬧鐘時的首要職責 432
20.2.5 鬧鐘的持久化 434
20.3 鬧鐘管理器事實 434
20.4 參考資料 434
20.5 小結 435
20.6 面試問題 435

第21章 2D動畫揭秘 436
21.1 逐幀動畫 436
21.1.1 計劃逐幀動畫 436
21.1.2 創建活動 438
21.1.3 將動畫添加到活動 439
21.2 布局動畫 441
21.2.1 基本的補間動畫類型 442
21.2.2 計劃布局動畫測試工具 442
21.2.3 創建活動和ListView 443
21.2.4 將ListView制作成動畫 445
21.2.5 使用插值器 447
21.3 視圖動畫 449
21.3.1 理解視圖動畫 449
21.3.2 添加動畫 451
21.3.3 使用Camera實現2D圖像的深度效果 454
21.3.4 探索AnimationListener類 455
21.3.5 關于變換矩陣的一些說明 456
21.4 屬性動畫:新動畫API 457
21.4.1 屬性動畫 458
21.4.2 計劃一個屬性動畫的試驗臺 459
21.4.3 使用對象動畫生成器創建基本視圖動畫 461
21.4.4 使用AnimatorSet實現順序動畫 462
21.4.5 用AnimatorSetBuilder設置動畫關系 463
21.4.6 使用XML加載動畫生成器 463
21.4.7 使用PropertyValuesHolder 464
21.4.8 視圖屬性動畫 466
21.4.9 類型求值器 466
21.4.10 關鍵幀 468
21.4.11 布局轉變 469
21.5 參考資料 470
21.6 小結 470
21.7 面試問題 471

第22章 地圖和基于位置的服務 472
22.1 地圖包 472
22.1.1 從谷歌獲取map-api密鑰 473
22.1.2 MapView和MapActivity 474
22.1.3 使用覆蓋圖添加標記 479
22.2 位置包 484
22.2.1 使用Android進行地理編碼 484
22.2.2 使用后臺線程進行地理編碼 487
22.2.3 LocationManager服務 489
22.2.4 使用MyLocationOverlay顯示位置 495
22.2.5 使用接近提醒 498
22.3 參考資料 502
22.4 小結 502
22.5 面試問題 503

第23章 電話API 504
23.1 使用SMS 504
23.1.1 發送SMS消息 504
23.1.2 監視傳入的SMS消息 507
23.1.3 使用SMS文件夾 509
23.1.4 發送電子郵件 511
23.2 使用電話管理器 511
23.3 SIP 514
23.3.1 體驗SipDemo 514
23.3.2 android.net.sip包 515
23.4 參考資料 516
23.5 小結 517
23.6 面試問題 517

第24章 媒體框架 518
24.1 使用媒體API 518
24.2 播放媒體 522
24.2.1 播放音頻內容 522
24.2.2 播放視頻內容 532
24.3 錄制媒體 534
24.3.1 使用MediaRecorder錄制音頻 535
24.3.2 使用AudioRecord錄制音頻 538
24.3.3 視頻錄制 542
24.3.4 MediaStore類 551
24.3.5 使用Intnet錄制音頻 551
24.3.6 將媒體內容添加到媒體存儲 554
24.3.7 為整個SD卡觸發MediaScanner 556
24.4 參考資料 557
24.5 小結 557
24.6 面試問題 558

第25章 主屏幕部件 559
25.1 主屏幕部件的架構 559
25.1.1 什么是主屏幕部件 559
25.1.2 主屏幕部件的用戶體驗 560
25.1.3 部件的生命周期 563
25.2 示例部件應用程序 567
25.2.1 定義部件提供程序 568
25.2.2 定義部件尺寸 569
25.2.3 與部件布局相關的文件 570
25.2.4 實現部件提供程序 571
25.2.5 實現部件模型 573
25.2.6 實現部件配置活動 579
25.3 部件預覽工具 582
25.4 部件局限性和擴展 583
25.5 基于容器的部件 583
25.6 資源 583
25.7 小結 584
25.8 面試問題 584

第26章 列表部件 586
26.1 遠程視圖概述 586
26.2 在遠程視圖中使用列表 587
26.2.1 準備遠程布局 588
26.2.2 加載遠程布局 590
26.2.3 創建RemoteViewsService 591
26.2.4 創建RemoteViewsFactory 592
26.2.5 創建onClick事件 595
26.2.6 響應onClick事件 597
26.3 工作樣例:測試主屏幕列表部件 598
26.3.1 創建測試部件提供程序 599
26.3.2 創建遠程視圖工廠 602
26.3.3 編寫遠程視圖服務的代碼 604
26.3.4 部件主布局文件 604
26.3.5 部件提供程序元數據 604
26.3.6 AndroidManifest.xml 605
26.4 測試列表部件 605
26.5 參考資料 607
26.6 小結 608
26.7 面試問題 608

第27章 觸摸屏 609
27.1 MotionEvent 609
27.1.1 MotionEvent對象 609
27.1.2 回收MotionEvent 619
27.1.3 使用VelocityTracker 619
27.2 多點觸摸 621
27.3 觸摸地圖 627
27.4 手勢 629
27.4.1 捏合手勢 629
27.4.2 GestureDetector和OnGestureListener 629
27.4.3 自定義手勢 632
27.4.4 Gestures Builder應用程序 632
27.5 參考資料 638
27.6 小結 638
27.7 面試問題 638

第28章 實現拖放操作 640
28.1 拖放操作簡介 640
28.2 3.0及其以上版本的基本拖放操作 644
28.3 拖放操作示例應用程序 645
28.3.1 文件列表 646
28.3.2 示例拖放應用程序的布局 646
28.3.3 響應Dropzone的onDrag事件 648
28.3.4 創建拖動源視圖 650
28.4 測試示例拖放應用程序 653
28.5 參考資料 654
28.6 小結 654
28.7 面試問題 654

第29章 傳感器 655
29.1 什么是傳感器 655
29.1.1 檢測傳感器 656
29.1.2 可以了解的傳感器信息 656
29.2 獲取傳感器事件 658
29.3 解釋傳感器數據 661
29.3.1 光線傳感器 661
29.3.2 接近傳感器 661
29.3.3 溫度傳感器 662
29.3.4 壓力傳感器 662
29.3.5 陀螺儀傳感器 662
29.3.6 加速度計 663
29.3.7 磁場傳感器 667
29.3.8 結合使用加速度計和磁場傳感器 668
29.3.9 方向傳感器 668
29.3.10 磁偏角和Geomagnetic-Field 673
29.3.11 重力傳感器 673
29.3.12 直線加速度傳感器 674
29.3.13 旋轉矢量傳感器 674
29.3.14 近場通信傳感器 674
29.4 參考資料 683
29.5 小結 683
29.6 面試問題 684

第30章 聯系人API 685
30.1 賬戶 685
30.1.1 賬戶屏幕概覽 686
30.1.2 賬戶與聯系人的相關性 688
30.1.3 枚舉賬戶 689
30.2 聯系人應用程序 689
30.2.1 個人賬號簡介 691
30.2.2 顯示聯系人 692
30.2.3 顯示聯系人詳細信息 692
30.2.4 編輯聯系人詳細信息 693
30.2.5 設置聯系人的照片 694
30.2.6 導出聯系人 694
30.2.7 各種聯系人數據類型 696
30.3 聯系人 696
30.3.1 聯系人SQLite數據庫 697
30.3.2 原始聯系人 697
30.3.3 數據表 699
30.3.4 聚合聯系人 700
30.3.5 view_contacts 701
30.3.6 contact_entities_view 702
30.4 聯系人API 703
30.4.1 瀏覽賬戶 703
30.4.2 瀏覽聚合聯系人 705
30.4.3 瀏覽原始聯系人 712
30.4.4 瀏覽原始聯系人數據 715
30.4.5 添加聯系人和它的詳細信息 718
30.5 控制聚合 720
30.6 同步的影響 720
30.7 個人賬號 721
30.7.1 讀取賬號原始聯系人 722
30.7.2 讀取賬號聯系人數據 722
30.7.3 添加數據到個人賬號 723
30.8 參考資料 725
30.9 小結 725
30.10 面試問題 726

第31章 部署應用程序Android Market 727
31.1 成為發布者 727
31.1.1 遵守規則 728
31.1.2 開發人員控制臺 729
31.2 準備銷售應用程序 731
31.2.1 針對不同設備進行測試 732
31.2.2 支持不同的屏幕尺寸 732
31.2.3 準備上傳AndroidManifest.xml 732
31.2.4 本地化應用程序 733
31.2.5 準備應用程序圖標 734
31.2.6 付費應用程序需要考慮的因素 734
31.2.7 將用戶引導至Market 735
31.2.8 Android授權服務 735
31.2.9 使用ProGuard來優化及對抗盜版行為 736
31.2.10 準備上傳.apk文件 737
31.3 上傳應用程序 738
31.3.1 圖表 738
31.3.2 列出詳細信息 739
31.3.3 發布選項 739
31.3.4 聯系信息 740
31.3.5 需遵守的規定 740
31.4 Android Market上的用戶體驗 741
31.5 更多發布途徑 742
31.6 參考資料 742
31.7 小結 743
31.8 面試問題 743
序: