|
-- 會員 / 註冊 --
|
|
|
|
精通Android ( 簡體 字) |
作者:[印] Satya Komatineni [美] Dave | 類別:1. -> 程式設計 -> 手機程式 -> 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
|
序: |
|