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