內容簡介
《Android群英傳》共分為13章,講解了Android體系與系統架構、Android開發工具新接觸、Android控制項架構與自定義控制項詳解、ListView使用技巧、Android Scroll分析、Android繪圖機制與處理技巧、Android動畫機制與使用技巧、Activity與Activity調用棧分析、Android系統信息與安全機制、Android性能最佳化、搭建雲端伺服器、Android 5.X新特性詳解、Android實例提高。《Android群英傳》最後通過實例來展示如何實際實踐這些技巧,讓讀者更好地體會如何提高Android開發。
《Android群英傳》運用大量實際開發中的實例,並結合最新的Android開發SDK和IDE,讓讀者能夠了解最前沿的開發技術。《Android群英傳》適合具有一定開發基礎的開發者,幫助開發者快速提高開發能力。
內容提要
《Android群英傳》對具有一定Android開發基礎的讀者,以通俗易懂的語言介紹了Android開發的進階技巧。《Android群英傳》共分為13章,講解了Android體系與系統架構、Android開發工具新接觸、Android控制項架構與自定義控制項詳解、ListView使用技巧、Android Scroll分析、Android繪圖機制與處理技巧、Android動畫機制與使用技巧、Activity與Activity調用棧分析、Android系統信息與安全機制、Android性能最佳化、搭建雲端伺服器、Android 5.X新特性詳解、Android實例提高。《Android群英傳》最後通過實例來展示如何實際實踐這些技巧,讓讀者更好地體會如何提高Android開發。
《Android群英傳》運用大量實際開發中的實例,並結合最新的Android開發SDK和IDE,讓讀者能夠了解最前沿的開發技術。《Android群英傳》適合具有一定開發基礎的開發者,幫助開發者快速提高開發能力。
目錄
第1章 Android體系與系統架構 1
1.1 Google生態系統 2
1.2 Android系統架構 2
1.2.1 Linux 3
1.2.2 Dalvik與ART 3
1.2.3 Framework 3
1.2.4 Standard libraries 4
1.2.5 Application 4
1.3 Android App組件架構 4
1.3.1 Android四大組件如何協同工作 5
1.3.2 套用運行上下文對象 5
1.4 Android系統原始碼目錄與系統目錄 6
1.4.1 Android系統原始碼目錄 6
1.4.2 Android系統目錄 8
1.4.3 Android App檔案目錄 11
第2章 Android開發工具新接觸 13
2.1 Android開發IDE介紹 14
2.1.1 Android Studio初體驗 14
2.1.2 Android Studio配置 15
2.2 Android Studio高級使用技巧 19
2.2.1 更新SDK 20
2.2.2 Android Studio常用界面 21
2.2.3 導入Android Studio工程 23
2.3 ADB命令使用技巧 24
2.3.1 ADB基礎 24
2.3.2 ADB常用命令 25
2.3.3 ADB命令來源 29
2.4 模擬器使用與配置 29
第3章 Android控制項架構與自定義控制項詳解 32
3.1 Android控制項架構 33
3.2 View的測量 34
3.3 View的繪製 37
3.4 ViewGroup的測量 38
3.5 ViewGroup的繪製 39
3.6 自定義View 39
3.6.1 對現有控制項進行拓展 40
3.6.2 創建複合控制項 43
3.6.3 重寫View來實現全新的控制項 51
3.7 自定義ViewGroup 54
3.8 事件攔截機制分析 59
第4章 ListView使用技巧 65
4.1 ListView常用最佳化技巧 66
4.1.1 使用ViewHolder模式提高效率 66
4.1.2 設定項目間分隔線 68
4.1.3 隱藏ListView的滾動條 68
4.1.4 取消ListView的Item點擊效果 68
4.1.5 設定ListView需要顯示在第幾項 69
4.1.6 動態修改ListView 69
4.1.7 遍歷ListView中的所有Item 71
4.1.8 處理空ListView 71
4.1.9 ListView滑動監聽 72
4.2 ListView常用拓展 74
4.2.1 具有彈性的ListView 75
4.2.2 自動顯示、隱藏布局的ListView 76
4.2.3 聊天ListView 79
4.2.4 動態改變ListView布局 85
第5章 Android Scroll分析 87
5.1 滑動效果是如何產生的 88
5.1.1 Android坐標系 88
5.1.2 視圖坐標系 88
5.1.3 觸控事件——MotionEvent 89
5.2 實現滑動的七種方法 91
5.2.1 layout方法 92
5.2.2 offsetLeftAndRight()與offsetTopAndBottom() 93
5.2.3 LayoutParams 93
5.2.4 scrollTo與scrollBy 94
5.2.5 Scroller 96
5.2.6 屬性動畫 98
5.2.7 ViewDragHelper 98
第6章 Android繪圖機制與處理技巧 106
6.1 螢幕的尺寸信息 107
6.1.1 螢幕參數 107
6.1.2 系統螢幕密度 107
6.1.3 獨立像素密度dp 107
6.1.4 單位轉換 108
6.2 2D繪圖基礎 110
6.3 Android XML繪圖 113
6.3.1 Bitmap 113
6.3.2 Shape 113
6.3.3 Layer 115
6.3.4 Selector 116
6.4 Android繪圖技巧 117
6.4.1 Canvas 117
6.4.2 Layer圖層 121
6.5 Android圖像處理之色彩特效處理 122
6.5.1 色彩矩陣分析 122
6.5.2 Android顏色矩陣——ColorMatrix 128
6.5.3 常用圖像顏色矩陣處理效果 131
6.5.4 像素點分析 134
6.5.5 常用圖像像素點處理效果 135
6.6 Android圖像處理之圖形特效處理 137
6.6.1 Android變形矩陣——Matrix 137
6.6.2 像素塊分析 142
6.7 Android圖像處理之畫筆特效處理 145
6.7.1 PorterDuffXfermode 145
6.7.2 Shader 149
6.7.3 PathEffect 153
6.8 View之孿生兄弟——SurfaceView 155
6.8.1 SurfaceView與View的區別 155
6.8.2 SurfaceView的使用 156
6.8.3 SurfaceView實例 159
第7章 Android動畫機制與使用技巧 162
7.1 Android View動畫框架 163
7.1.1 透明度動畫 163
7.1.2 旋轉動畫 163
7.1.3 位移動畫 164
7.1.4 縮放動畫 164
7.1.5 動畫集合 164
7.2 Android屬性動畫分析 165
7.2.1 ObjectAnimator 166
7.2.2 PropertyValuesHolder 168
7.2.3 ValueAnimator 168
7.2.4 動畫事件的監聽 168
7.2.5 AnimatorSet 169
7.2.6 在XML中使用屬性動畫 170
7.2.7 View的animate方法 170
7.3 Android布局動畫 171
7.4 Interpolators(插值器) 171
7.5 自定義動畫 172
7.6 Android 5.X SVG矢量動畫機制 175
7.6.1 標籤 175
7.6.2 SVG常用指令 176
7.6.3 SVG編輯器 177
7.6.4 Android中使用SVG 177
7.6.5 SVG動畫實例 181
7.7 Android動畫特效 188
7.7.1 靈動選單 188
7.7.2 計時器動畫 190
7.7.3 下拉展開動畫 191
第8章 Activity與Activity調用棧分析 195
8.1 Activity 196
8.1.1 起源 196
8.1.2 Activity形態 196
8.1.3 生命周期 196
8.2 Android任務棧簡介 200
8.3 AndroidMainifest啟動模式 200
8.3.1 standard 201
8.3.2 singleTop 201
8.3.3 singleTask 201
8.3.4 singleInstance 202
8.4 Intent Flag啟動模式 203
8.5 清空任務棧 203
8.6 Activity任務棧使用 204
第9章 Android系統信息與安全機制 205
9.1 Android系統信息獲取 206
9.1.1 android.os.Build 206
9.1.2 SystemProperty 207
9.1.3 Android系統信息實例 208
9.2 Android Apk套用信息獲取之PackageManager 209
9.2.1 PackageManager 210
9.3 Android Apk套用信息獲取之ActivityManager 215
9.4 解析Packages.xml獲取系統信息 218
9.5 Android安全機制 220
9.5.1 Android安全機制簡介 220
9.5.2 Android系統安全隱患 222
9.5.3 Android Apk反編譯 223
9.5.4 Android Apk加密 226
第10章 Android性能最佳化 227
10.1 布局最佳化 228
10.1.1 Android UI渲染機制 228
10.1.2 避免Overdraw 229
10.1.3 最佳化布局層級 229
10.1.4 避免嵌套過多無用布局 229
10.1.5 Hierarchy Viewer 234
10.2 記憶體最佳化 236
10.2.1 什麼是記憶體 236
10.2.2 獲取Android系統記憶體信息 237
10.2.3 記憶體回收 238
10.2.4 記憶體最佳化實例 238
10.3 Lint工具 240
10.4 使用Android Studio的Memory Monitor工具 240
10.5 使用TraceView工具最佳化App性能 241
10.5.1 生成TraceView日誌的兩種方法 241
10.5.2 打開TraceView日誌 242
10.5.3 分析TraceView日誌 242
10.6 使用MAT工具分析App記憶體狀態 244
10.6.1 生成HPROF檔案 244
10.6.2 分析HPROF檔案 245
10.7 使用Dumpsys命令分析系統狀態 247
第11章 搭建雲端伺服器 248
11.1 移動後端服務介紹 249
11.2 使用Bmob創建移動後端服務 250
11.2.1 數據服務 251
11.2.2 推送服務 254
第12章 Android 5.X新特性詳解 257
12.1 Android 5.X UI設計初步 258
12.1.1 材料的形態模擬 258
12.1.2 更加真實的動畫 258
12.1.3 大色塊的使用 259
12.2 Material Design主題 260
12.3 Palette 261
12.4 視圖與陰影 263
12.5 Tinting和Clipping 265
12.5.1 Tinting(著色) 265
12.5.2 Clipping(裁剪) 267
12.6 列表與卡片 269
12.6.1 RecyclerView 269
12.6.2 CardView 275
12.7 Activity過渡動畫 276
12.8 Material Design 動畫效果 283
12.8.1 Ripple效果 283
12.8.2 Circular Reveal 285
12.8.3 View state changes Animation 288
12.9 Toolbar 293
12.10 Notification 296
12.10.1 基本的Notification 297
12.10.2 摺疊式Notification 298
12.10.3 懸掛式Notification 300
12.10.4 顯示等級的Notification 301
第13章 Android實例提高 303
13.1 移動迷宮——拼圖遊戲 304
13.1.1 準備工作 305
13.1.2 初始界面 307
13.1.3 拼圖界面 312
13.1.4 效果預覽與功能進階 324
13.2 魔幻矩陣——2048 325
13.2.1 2048概述 325
13.2.2 2048遊戲分析 326
13.2.3 2048初始化工作 327
13.2.4 小方塊設計 328
13.2.5 全局設定 330
13.2.6 遊戲面板設計 332
13.2.7 主程式設計 340
13.2.8 功能進階 341
13.3 實戰經驗總結 342