第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
      · · · · · ·     (
收起)