Android開發模式和最佳實踐

Android開發模式和最佳實踐

《Android開發模式和最佳實踐》是2017年2月電子工業出版社出版的圖書,作者是李雄。

基本介紹

  • 書名:Android開發模式和最佳實踐
  • 作者:李雄
  • 出版社電子工業出版社
  • 出版時間:2017年2月
  • 頁數:308 頁
  • 定價:75 元
  • 開本:16 開
  • ISBN:9787121309083 
內容簡介,作者簡介,圖書目錄,

內容簡介

本書首先介紹了安卓開發的基礎知識,包括如何搭建環境、一般的開發流程、給App添加測試用例等。接下來是組成安卓框架的各個模組和組件,包括套用的結構,如何使用widget和component,以及怎么使用view。然後介紹了套用的設計模式,以及如何創建一個方便管理和更新的App,包括如何添加多媒體和網路連線等。本書後面部分也覆蓋了可選hardware組件、安卓Wear和安卓TV。最後介紹了一些關鍵的最佳化策略,以及如何打包App去通過企業系統、信箱和Google Play Service進行發布。

作者簡介

李雄,碩士,畢業於西北工業大學,資深軟體工程師,具有多年從事手機軟體研發的豐富經驗,目前主要負責安卓平台框架層和套用軟體開發工作。

圖書目錄

目錄
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 測試和調試…………………………………………………………………17
單元測試 ……………………………………………………………………………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

相關詞條

熱門詞條

聯絡我們