●前言
第1篇 高效開發基礎
第1章 高效開發工具2
1.1 使用Android Studio進行高效開發2
1.1.1 認識Android Studio2
1.1.2 安裝與使用Android Studio7
1.2 常用的Android Studio高效插件13
1.3 Android Studio小技巧19
1.3.1 熟悉Gradle構建流程與腳本19
1.3.2 Lint靜態代碼分析22
1.3.3 使用Android Studio進行調試23
1.3.4 代碼重構26
第2章 提高效率,從“新”開始28
2.1 新布局方式:ConstraintLayout28
2.1.1 相對定位28
2.1.2 邊距30
2.1.3 居中定位和偏移31
2.1.4 環形定位32
2.1.5 尺寸約束33
2.1.6 鏈約束34
2.2 新包引入方式:AndroidX36
2.3 新架構:Jetpack37
2.4 新動畫:Lottie40
2.5 新發展:Material Design42
第3章 認識Android相關輔助工具44
3.1 版本控制和源代碼管理工具44
3.1.1 SVN的基本用法44
3.1.2 Git的基本用法49
3.2 9-Patch的制作54
3.3 抓包工具Fiddler57
3.4 布局分析器與結構視圖工具67
3.5 反編譯工具69
第2篇 核心技術詳解
第4章 線程與進程IPC76
4.1 Handler與Looper76
4.2 Thread線程79
4.3 IPC進程間通信85
第5章 Android應用安全98
5.1 Android常見漏洞及安全要點98
5.1.1 Android常見漏洞98
5.1.2 Android應用安全要點103
5.2 Android混淆與加固103
5.2.1 Android混淆104
5.2.2 Android應用加固110
5.3 Android數據加密與簽名112
5.3.1 Android數據加密112
5.3.2 Android簽名115
5.4 Android開發規範118
第6章 Android應用測試135
6.1 Android測試方法和原則135
6.1.1 Android測試方法136
6.1.2 Android測試原則137
6.2 Android應用測試內容140
6.3 編寫Android應用測試用例144
6.3.1 編寫Android本地測試用例145
6.3.2 編寫Android儀器化測試用例151
6.4 Android應用測試主流框架155
6.4.1 Espresso測試框架155
6.4.2 UI Automator測試框架164
6.4.3 Robolectric測試框架166
第7章 定制與適配177
7.1 定制主題與樣式177
7.1.1 定義原則177
7.1.2 自定義主題178
7.1.3 自定義樣式180
7.2 定制Dialog180
7.3 定制Notification184
7.4 自定義View188
7.5 Android適配與國際化處理196
7.5.1 Android適配196
7.5.2 語言國際化209
第3篇 拓展與實踐
第8章 深入探索Android ROM214
8.1 了解Android平臺214
8.2 Android繫統架構218
8.3 Android平臺源碼結構221
8.4 編譯Linux Kernel229
8.5 編寫繫統應用233
8.6 Android ROM常用知識點240
第9章 Android TV開發243
9.1 了解Android TV243
9.1.1 Android TV相關技術名詞243
9.1.2 了解Android TV機頂盒249
9.2 Android TV開發規範及注意事項250
9.2.1 Android TV設計準則250
9.2.2 Android TV開發注意事項254
9.3 Android TV開發的常用ADB命令257
9.4 構建Android TV應用258
第10章 Flutter從入門到實戰263
10.1 認識Flutter263
10.2 Flutter開發環境搭建和調試266
10.2.1 開發環境的搭建266
10.2.2 模擬器的安裝與調試273
10.3 Flutter常用的Widget和布局277
10.3.1 Flutter基礎Widget279
10.3.2 Flutter基礎布局287
10.4 HTTP網絡請求詳解294
10.4.1 HTTP的請求方式簡介294
10.4.2 Flutter HTTP網絡請求實現的區別和特點295
10.5 Flutter與Android305
10.6 Flutter的Android和iOS應用打包309
10.6.1 Flutter的Android應用打包309
10.6.2 Flutter的iOS應用打包310
第11章 設計模式詳解312
11.1 軟件設計原則312
11.1.1 單一職責原則312
11.1.2 裡氏替換原則313
11.1.3 依賴倒轉原則313
11.1.4 接口隔離原則314
11.1.5 迪米特原則314
11.1.6 開閉原則315
11.1.7 合成復用原則315
11.2 軟件設計模式之創建型模式317
11.2.1 單例模式318
11.2.2 工廠模式321
11.2.3 抽像工廠模式322
11.2.4 建造者模式325
11.2.5 原型模式328
11.3 軟件設計模式之結構型模式329
11.3.1 適配器模式330
11.3.2 外觀模式333
11.3.3 橋接模式334
11.3.4 裝飾器模式336
11.3.5 代理模式338
11.3.模式340
11.3.7 組合模式342
11.4 軟件設計模式之行為型模式345
11.4.1 模板方法模式345
11.4.2 策略模式346
11.4.3 命令模式348
11.4.4 責任鏈模式350
11.4.5 狀態模式352
11.4.6 觀察者模式354
11.4.7 中介模式356
11.4.8 迭代器模式359
11.4.9 訪問者模式361
11.4.10 備忘錄模式364
11.4.11 解釋器模式366
第12章 項目實踐從0到1370
12.1 創建項目370
12.2 項目核心邏輯的實現372
12.3 App項目調試380
12.4 打包簽名384
12.5 自動化壓力測試387
本書深入講解了Android開發的進階知識及新技術,以幫助讀者構建更加高級和穩定的應用。書中對Android開發涉及的一些新技術、進階知識和高效開發經驗進行了詳細講解。通過這些核心技術和拓展知識,可以快速提升開發者的技術水平和邏輯思維能力。本書共12章,分為3篇。第1篇“高效開發基礎”,重點圍繞與Android平臺高效開發相關的知識與經驗進行介紹,從新的IDE、輔助工具、開發技巧、新技術等方面進行多角度講解;第2篇“核心技術詳解”,重點對Android開發過程中的一些經常用到但又不容易真正深入理解和正確使用的知識點做了詳細介紹;第3篇“拓展與實踐”,主要介紹了一些與Android開發相關的拓展與提升知識,如Android ROM、Android TV開發和Flutter等,最後還給出了一個簡單的項目案例,幫助讀者從0到1進行實踐。 本書適合有Android開發經驗而想進一步學習進階技術和新等