Android開發模式和最佳實踐
作 者: (美)Phil Dutson(菲爾 達特森) 著 李雄 譯
定 價: 75
出?版?社: 電子工業出版社
出版日期: 2017年02月01日
頁 數: 308
裝 幀: 簡裝
ISBN: 9787121309083
●目錄 1 開發工具………………………………………………………………………1 Android Studio ………………………………………………………………………1 安裝Android Studio ………………………………………………………………………2 使用Android Studio ………………………………………………………………………4 啟動一個新項目 ……………………………………………………………………………6 獨立的SDK工具 ……………………………………………………………………9 安卓設備模擬 ………………………………………………………………………10 安卓虛擬設備 ………………………………………………………………………………11 GenyMotion ………………………………………………………………………………12 Xamarin安卓播放器 ………………………………………………………………………13 版本控制繫統 ………………………………………………………………………14 Subversion …………………………………………………………………………………14 Git …………………………………………………………………………………………15 Mercurial ……………………………………………………………………………………15 總結 …………………………………………………………………………………16 2 測試和調試…………………………………………………………………1測試 ……………………………………………………………………………17 集成測試 ……………………………………………………………………………20 調試 …………………………………………………………………………………25 Profiling ……………………………………………………………………………………25 Tracing …………………………………………………………………………………… 28 Messaging ………………………………………………………………………………… 29 總結 ………………………………………………………………………………… 32 3 應用結構…………………………………………………………………… 33 Manifest …………………………………………………………………………… 34 Java ………………………………………………………………………………… 37 Res(Resources) ………………………………………………………………… 37 Drawable …………………………………………………………………………………… 37 Layout ……………………………………………………………………………………… 39 Menu ……………………………………………………………………………………… 40 Values ……………………………………………………………………………………… 40 其他Resource ……………………………………………………………………………… 41 Gradle ……………………………………………………………………………… 42 總結 ………………………………………………………………………………… 43 4 組件………………………………………………………………………… 45 Intent ……………………………………………………………………………… 45 Intent Filter ………………………………………………………………………………… 46 Broadcast Receiver ………………………………………………………………………… 47 Activity …………………………………………………………………………… 48 創建一個Activity ………………………………………………………………………… 49 Activity 生命周期 ………………………………………………………………………… 50 Fragment …………………………………………………………………………… 52 創建一個Fragment ……………………………………………………………………… 53 與Fragment 通信 ………………………………………………………………………… 56 Loader ……………………………………………………………………………………… 57 總結 ………………………………………………………………………………… 59 5 View… …………………………………………………………………… 61 View 類 …………………………………………………………………………… 61 AnalogClock 子類 ……………………………………………………………………… 62 ImageView 子類 …………………………………………………………………………… 62 KeyboardView 子類 ……………………………………………………………………… 63 MediaRouteButton 子類 ………………………………………………………………… 64 ProgressBar 子類 ……………………………………………………………………… 65 Space 子類 ………………………………………………………………………………… 66 SurfaceView 子類 ……………………………………………………………………… 67 TextView 子類 …………………………………………………………………………… 68 TextureView 子類 ……………………………………………………………………… 68 ViewGroup 子類 …………………………………………………………………………… 69 ViewStub 子類 …………………………………………………………………………… 71 創建一個定制的View …………………………………………………………… 71 總結 ………………………………………………………………………………… 74 6 Layout… ………………………………………………………………… 75 Layout 基礎 ………………………………………………………………………… 75 Layout Measurement ……………………………………………………………………… 76 Layout 坐標 ……………………………………………………………………………… 77 Layout Container …………………………………………………………………… 78 Linear Layout ……………………………………………………………………………… 79 Relative Layout …………………………………………………………………………… 80 Table Layout ……………………………………………………………………………… 83 Frame Layout ……………………………………………………………………………… 86 WebView …………………………………………………………………………………… 87 總結 ………………………………………………………………………………… 88 7 App Widget… …………………………………………………………… 89 App Widget Layout ………………………………………………………………… 90 AppWidgetProviderInfo 對像 ………………………………………………… 93 App Widget 尺寸 ………………………………………………………………………… 94 更新頻率 …………………………………………………………………………………… 94 預覽圖片 …………………………………………………………………………………… 95 Widget Category …………………………………………………………………………… 96 Widget Category 布局 …………………………………………………………………… 97 Resizable 模式 …………………………………………………………………………… 97 AppWidgetProviderInfo 對像實例 …………………………………………………… 98 AppWidgetProvider 類 ………………………………………………………………… 98 應用Manifest 條目 …………………………………………………………………… 101 總結 ………………………………………………………………………………… 102 8 應用設計:使用MVC … ……………………………………………… 103 Model ……………………………………………………………………………… 104 View………………………………………………………………………………… 105 Controller ………………………………………………………………………… 106 異步處理 …………………………………………………………………………… 108 AsyncTask ……………………………………………………………………………… 109 總結 ………………………………………………………………………………… 110 9 繪圖和動畫……………………………………………………………… 111 圖形 ………………………………………………………………………………… 111 Bitmap …………………………………………………………………………………… 111 NinePatch ……………………………………………………………………………… 113 Drawable ………………………………………………………………………………… 115 OpenGL ES ……………………………………………………………………………… 118 動畫 ………………………………………………………………………………… 122 View 動畫 ……………………………………………………………………………… 122 Property 動畫 …………………………………………………………………………… 123 Drawable 動畫 ………………………………………………………………………… 127 Transition 框架 ………………………………………………………………………… 128 總結 ………………………………………………………………………………… 131 10 網絡… ………………………………………………………………… 133 訪問Internet ……………………………………………………………………… 133 網絡檢測 ………………………………………………………………………………… 133 使用HTTP 客戶端 ……………………………………………………………………… 135 解析XML ………………………………………………………………………… 137 網絡操作異步處理 ………………………………………………………………… 139 Volley ……………………………………………………………………………… 141 總結 ………………………………………………………………………………… 145 11 Location 數據處理…………………………………………………… 147 權限 ………………………………………………………………………………… 147 Google Play Service Location API ………………………………………………… 157 總結 ………………………………………………………………………………… 163 12 多媒體… ……………………………………………………………… 165 Audio 處理 ………………………………………………………………………… 165 Audio Playback ………………………………………………………………………… 166 Audio 錄制 ……………………………………………………………………………… 170 Video 處理 ………………………………………………………………………… 172 Video Playback ………………………………………………………………………… 172 總結 ………………………………………………………………………………… 176 13 可選Hardware API… ……………………………………………… 177 藍牙 ………………………………………………………………………………… 177 開啟藍牙 ………………………………………………………………………………… 178 使用藍牙發現設備 ……………………………………………………………………… 179 使用傳統的藍牙連接 …………………………………………………………………… 181 使用BLE 通信 ………………………………………………………………………… 184 近場通信(NFC) ………………………………………………………………… 188 ACTION_NDEF_DISCOVERED …………………………………………………………… 189 ACTION_TECH_DISCOVERED …………………………………………………………… 190 ACTION_TAG_DISCOVERED …………………………………………………………… 191 設備傳感器 ………………………………………………………………………… 194 檢測可用的傳感器 ……………………………………………………………………… 195 讀傳感器數據 …………………………………………………………………………… 197 總結 ………………………………………………………………………………… 199 14 管理賬戶數據… ……………………………………………………… 201 獲取賬戶 …………………………………………………………………………… 201 安卓備份服務 ……………………………………………………………………… 203 使用Google Drive 安卓API ……………………………………………………… 205 使用Google Play Game 服務 …………………………………………………… 210 保存遊戲 ………………………………………………………………………………… 211 總結 ………………………………………………………………………………… 215 15 Google Play Service… …………………………………………… 217 添加Google Play Service ………………………………………………………… 217 使用Google API 客戶端 ………………………………………………………… 219 Google Fit ………………………………………………………………………… 223 開啟API 和鋻權 ……………………………………………………………………… 224 App 配置和連接 ………………………………………………………………………… 225 Nearby Message API ……………………………………………………………… 226 開啟Nearby Message …………………………………………………………………… 226 發送和接收消息 ………………………………………………………………………… 227 總結 ………………………………………………………………………………… 232 16 Android Wear… …………………………………………………… 233 Android Wear 基礎 ………………………………………………………………… 233 屏幕處理 …………………………………………………………………………… 234 調試 ………………………………………………………………………………… 237 連接模擬器 ……………………………………………………………………………… 237 連接穿戴式設備 ………………………………………………………………………… 239 與安卓可穿戴式設備通信 ………………………………………………………… 240 Notification ……………………………………………………………………………… 241 發送數據 ………………………………………………………………………………… 243 總結 ………………………………………………………………………………… 245 17 Google Analytics…………………………………………………… 247 添加Google Analytics …………………………………………………………… 247 Google Analytics 基礎 …………………………………………………………… 250 事件 ……………………………………………………………………………………… 251 目標 ……………………………………………………………………………………… 252 電子商務 ………………………………………………………………………………… 253 定制時序 ………………………………………………………………………………… 254 定制維度 ………………………………………………………………………………… 254 定制度量 ………………………………………………………………………………… 255 總結 ………………………………………………………………………………… 255 18 優化… ………………………………………………………………… 257 應用優化 …………………………………………………………………………… 257 應用首次啟動 …………………………………………………………………………… 257 應用日志 ………………………………………………………………………………… 259 應用配置 ………………………………………………………………………………… 260 內存管理 …………………………………………………………………………… 262 垃圾回收監控 …………………………………………………………………………… 263 檢查內存使用 …………………………………………………………………………… 264 性能 ………………………………………………………………………………… 265 處理對像 ………………………………………………………………………………… 266 靜態函數和變量 ………………………………………………………………………… 266 For 循環增強 …………………………………………………………………………… 266 Float、double 和int ……………………………………………………………………… 267 優化數據容器 …………………………………………………………………………… 267 總結 ………………………………………………………………………………… 268 19 Android TV…………………………………………………………… 269 概況 ………………………………………………………………………………… 269 十英尺視圖 ……………………………………………………………………………… 270 TV 能力 ………………………………………………………………………………… 272 文字、顏色和圖片 ……………………………………………………………………… 274 創建一個App ……………………………………………………………………… 277 模擬和測試 ………………………………………………………………………… 280 總結 ………………………………………………………………………………… 282 20 應用部署… …………………………………………………………… 283 準備部署 …………………………………………………………………………… 283 物件清單 …………………………………………………………………………… 284 認證密鑰 ………………………………………………………………………………… 284 聯繫郵箱 ………………………………………………………………………………… 284 應用網站 ………………………………………………………………………………… 285 外部服務或服務器 ……………………………………………………………………… 285 應用圖標 ………………………………………………………………………………… 285 許可證 …………………………………………………………………………………… 286 合適的包名 ……………………………………………………………………………… 286 驗證權限和需求 ………………………………………………………………………… 287 去掉Log 和調試信息 ………………………………………………………………… 288 去掉多餘無用的東西 …………………………………………………………………… 288 Google Play 相關準備 …………………………………………………………… 288 應用截圖 ………………………………………………………………………………… 289 推廣視頻 ………………………………………………………………………………… 289 高分辨率圖標 …………………………………………………………………………… 289 功能圖 …………………………………………………………………………………… 290 推廣圖 …………………………………………………………………………………… 290 安卓電視條幅 …………………………………………………………………………… 290 付費 ……………………………………………………………………………………… 291 生成APK ……………………………………………………………………………… 291 總結 ………………………………………………………………………………… 292
內容簡介
本書首先介紹了安卓開發的基礎知識,包括如何搭建環境、一般的開發流程、給App添加測試用例等。接下來是組成安卓框架的各個模塊和組件,包括應用的結構,如何使用widget和component,以及怎麼使用view。然後介紹了應用的設計模式,以及如何創建一個方便管理和更新的App,包括如何添加多媒體和網絡連接等。本書後面部分也覆蓋了可選hardware組件、安卓Wear和安卓TV。很後介紹了一些關鍵的優化策略,以及如何打包App去通過企業繫統、郵箱和Google Play Service進行發布。
(美)Phil Dutson(菲爾 達特森) 著 李雄 譯
Phil Dutson 是一名方案架構師,在健身器材領域全世界優選的電子商務零售商之一裡工作,主要負責客戶端和移動端的實現。自從他參與美國機器人試驗5000以來一直在給移動設備做開發。Dutson的書包括Sams Teach Yourself jQuery Mobile in 24 Hours;jQuery, jQuery UI, and jQuery Mobile: Recipes and Examples;Android&......
"