Android App 開發入門與實戰
熊欣
買這商品的人也買了...
-
$588Android C++ 高級編程-使用 NDK (Pro Android C++ with the NDK) -
Visual C# 與 Xamarin 跨平台行動 App 開發實戰 ─ iOS/Android/Windows 一次搞定$500$395 -
$312Web API 的設計與開發 (Web API : the Good Parts) -
輕鬆學會 Android Kotlin 實作開發:精心設計 16個 Lab 讓你快速上手$500$390 -
$648微服務架構與實踐, 2/e -
第一行代碼 : Android, 3/e$594$564 -
Kotlin 權威 2.0:Android 專家養成術 (Kotlin Programming: The Big Nerd Ranch Guide)$620$484 -
$403Android 應用安全測試與防護 -
Java SE 14 技術手冊$680$537 -
$505Kotlin 移動應用開發 (Kotlin for Android App Development) -
Android Jetpack 應用指南$474$450 -
$215Android Studio 項目開發教程 — 從基礎入門到樂享開發 -
$662機器視覺之 TensorFlow 2 入門原理與應用實戰 -
$414Kotlin 零基礎入門到 Android 開發實戰 -
$469SSM 與 Spring Boot 開發實戰 -
$275基於案例的 Android 程序設計教程 -
再強一點:用 Go語言完成六個大型專案(書況不佳限門市銷售))$780$390 -
Python 機器學習超進化:AI影像辨識跨界應用實戰 (附100分鐘影像處理入門影音教學/範例程式)$450$356 -
$359Android Studio 程序設計教程 -
$556Android 進階指北 -
$505簡明的 TensorFlow 2 (全彩印刷) -
Java 最強入門邁向頂尖高手之路:王者歸來, 2/e (全彩版)$1,000$790 -
$301打造流暢的 Android App -
Kaggle 競賽攻頂秘笈 -- 揭開 Grandmaster 的特徵工程心法,掌握制勝的關鍵技術$1,000$850 -
內行人才知道的系統設計面試指南$580$458
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書基於作者 14 年的開發實戰經驗,詳細介紹了 13 套 Android 開發規範、
3 套熱門App 框架、12 個常用功能模塊、14 套 App 解決方案,以及高效開發工具。
最後,本書還以實訓方式,展現了 Github 客戶端開發的前前後後,作為全書知識的總結。
本書不僅實例豐富,還提供完整源碼,適合剛入門 Android 開發人員以及技術管理人員閱讀,
同時也可作為高等院校相關專業的教學、自學用書。
作者簡介
熊欣
畢業於電子科技大學,從事移動開發十餘年,擁有多年J2ME、Android、iOS開發經驗,尤其專註於Android開發。
曾就職於騰訊、華為、平安因特網公司,主導過由零到百萬日活的App項目,
也負責過千萬日活門戶App開發,並擁有國家技術專利40餘篇。
目錄大綱
目錄
第 1篇 規範篇
第 1章 編碼規範 2
1.1 命名規範 2
1.1.1 Android包命名規範 2
1.1.2 Android代碼命名規範 4
1.1.3 Android資源文件命名規範 6
1.2 代碼規範 10
1.2.1 IDE規範 10
1.2.2 CheckStyle 10
1.2.3 代碼註釋 15
1.2.4 JavaDoc 18
1.2.5 . gitignore 21
1.2.6 ProGuard 21
第 2章 開發規範 23
2.1 API接口規範 23
2.1.1 API接口安全設計規範 23
2.1.2 API接口通用設計規範 25
2.2 SDK設計規範 28
2.2.1 SDK通用規範 28
2.2.2 SDK開發規範 28
2.2.3 SDK開發實例 29
2.3 App常用安全開發規範 30
2.3.1 加殼 30
2.3.2 組件外露 30
2.3.3 WebView 31
2.3.4 Logcat日誌 31
2.3.5 網絡請求 31
2.3.6 API接口 32
2.3.7 so文件 32
2.4 CodeReview規範 32
2.4.1 CodeReview目的 32
2.4.2 CodeReview清單vs Bad Smell 33
2.4.3 CodeReview方式 34
2.4.4 CodeReview輸出 34
第3章 版本管理規範 35
3.1 Git版本管理規範 35
3.1.1 Git版本管理說明 35
3.1.2 Git版本管理流程圖 36
3.1.3 Git分支命名規範 37
3.1.4 Git分支管理表格圖 37
3.1.5 Git備忘錄 37
3.2 Maven使用規範 37
3.2.1 Maven簡介 37
3.2.2 snapshot和release 38
3.2.3 Maven上傳的兩種方法 38
3.2.4 引用Maven 41
3.2.5 Maven版本號 41
3.2.6 免費Maven服務器 41
3.2.7 上傳到JCenter 41
第4章 打包發布規範 43
4.1 App打包規範 43
4.1.1 打包前 43
4.1.2 打包後 44
4.1.3 發版後 44
4.1.4 發版備註 45
4.2 App發布規範 45
4.2.1 全量發布 45
4.2.2 灰度發布 45
第5章 團隊管理規範 47
5.1 任務管理規範 47
5.2 需求評審規範 48
5.3 過程管理規範 48
第 2篇 開發篇
第6章 常用設計模式 51
6.1 設計模式六大原則 51
6.1.1 單一職責原則 51
6.1.2 裏氏替換原則 52
6.1.3 依賴倒置原則 53
6.1.4 接口隔離原則 55
6.1.5 迪米特法則 55
6.1.6 開閉原則 56
6.2 單例模式 56
6.2.1 單例模式介紹 56
6.2.2 單例模式實現 57
6.2.3 靜態類 58
6.2.4 單例和靜態類的選擇 58
6.3 工廠模式 59
6.3.1 簡單工廠 59
6.3.2 工廠方法 60
6.3.3 抽象工廠 62
6.4 觀察者模式 63
6.4.1 Java自帶的觀察者 63
6.4.2 自己實現觀察者模式 64
6.5 Builder模式 65
6.5.1 為什麼要用Builder模式 65
6.5.2 Builder模式的實現 67
6.6 代理模式 68
6.6.1 靜態代理 69
6.6.2 動態代理 69
6.6.3 動態代理應用:簡單工廠 70
6.6.4 動態代理應用:AOP 72
6.7 策略模式 72
6.7.1 策略模式介紹 72
6.7.2 策略模式實現 73
6.7.3 關於SLF4J 76
6.8 模板模式 79
6.8.1 模板模式介紹 79
6.8.2 模板模式實現 79
6.9 適配器模式 80
6.9.1 適配器模式介紹 80
6.9.2 適配器模式實現 81
第7章 設計框架 83
7.1 MVC 83
7.1.1 MVC介紹 83
7.1.2 MVC的優點、缺點、適用範圍 83
7.1.3 MVC實例 84
7.2 MVP 87
7.2.1 MVP介紹 87
7.2.2 MVP的優點、缺點、適用範圍 87
7.2.3 MVP實例 88
7.3 MVVM 89
7.3.1 MVVM介紹 89
7.3.2 MVVM的特點 90
7.3.3 MVVM實例 90
第8章 動手寫框架 93
8.1 TinyMVP 93
8.1.1 回顧MVP 93
8.1.2 常規解決方案 93
8.1.3 MVP優化:泛型 94
8.1.4 MVP優化:減少接口 95
8.1.5 MVP優化:生命週期 96
8.2 TinyMVVM 99
8.2.1 回顧MVVM 99
8.2.2 MVVM第 一種實現 100
8.2.3 MVVM第二種實現 102
8.2.4 MVVM第三種實現 104
8.3 TinyModule 106
8.3.1 關於Module 106
8.3.2 TinyModule的實現 107
8.3.3 拓展:Module的MVP化 109
第9章 常用模塊 110
9.1 功能模塊 110
9.1.1 網絡請求 110
9.1.2 圖片加載 111
9.1.3 數據庫 111
9.1.4 異步分發 112
9.1.5 IOC 112
9.1.6 數據解析 112
9.1.7 權限 113
9.2 UI模塊 113
9.2.1 Adapter 113
9.2.2 Refresh 113
9.2.3 Tab 113
9.2.4 Banner 114
9.2.5 ImageView 114
第 10章 動手寫模塊 115
10.1 日誌模塊:TinyLog 116
10.1.1 日誌模塊需求 116
10.1.2 日誌模塊技術分析 117
10.1.3 日誌模塊代碼實現 118
10.1.4 總結 122
10.2 權限模塊:TinyPermission 123
10.2.1 權限模塊需求 123
10.2.2 權限模塊技術分析 125
10.2.3 權限模塊代碼實現 126
10.2.4 總結 128
10.3 任務模塊:TinyTask 129
10.3.1 任務模塊需求 129
10.3.2 任務模塊技術分析 130
10.3.3 任務模塊代碼實現 131
10.3.4 總結 138
10.4 異步分發模塊:TinyBus 138
10.4.1 異步分發模塊需求 139
10.4.2 異步分發模塊技術分析 139
10.4.3 異步分發模塊代碼實現 140
10.4.4 總結 144
10.5 網絡模塊:TinyHttp 145
10.5.1 網絡模塊需求 145
10.5.2 網絡模塊技術分析 146
10.5.3 網絡模塊代碼實現 147
10.5.4 總結 154
10.6 圖片模塊:TinyImage 154
10.6.1 一種封裝圖片調用的方式 154
10.6.2 Glide調用的改造 157
10.6.3 圖片框架的切換 158
10.6.4 總結 161
10.7 數據庫模塊:TinySql 161
10.7.1 數據庫模塊需求 161
10.7.2 數據庫模塊技術分析 163
10.7.3 數據庫模塊代碼實現 164
10.7.4 總結 168
10.8 兩種開源數據庫的封裝 169
10.8.1 對GreenDao數據庫的封裝 169
10.8.2 對OrmLite數據庫的封裝 171
10.9 IOC模塊:TinyKnifer 173
10.9.1 IOC模塊需求 174
10.9.2 IOC實現:註解+反射 174
10.9.3 IOC實現:註解+Annotation Processor+JavaPoet 176
10.10 Adapter模塊:TinyAdapter 183
10.10.1 Adapter模塊需求 184
10.10.2 Adapter模塊技術分析 187
10.10.3 Adapter模塊代碼實現 187
10.10.4 總結 192
10.11 下拉刷新模塊:TinyPullTo Refresh192
10.11.1 下拉刷新模塊需求 192
10.11.2 下拉刷新模塊技術分析 193
10.11.3 下拉刷新模塊代碼實現 193
10.12 綜合應用:TinyTemplate 195
第3篇 擴展篇
第 11章 常用開發解決方案 201
11.1 設計方案:藍湖 201
11.2 產品方案:Axure 203
11.2.1 Axure優點 203
11.2.2 Axure和藍湖 203
11.2.3 Axure實例 204
11.3 Mock方案:Postman 205
11.3.1 為什麼要模擬API接口 205
11.3.2 利用Postman模擬API接口 205
11.4 長連接方案:Mars 208
11.4.1 為什麼用Mars 208
11.4.2 . proto文件 209
11.4.3 自動生成Java文件 210
11.4.4 Android中的調用 210
11.5 偽協議方案 211
11.5.1 URL Scheme定義 212
11.5.2 URL Scheme解析 212
11.5.3 URL Scheme應用 212
11.5.4 URL Scheme應用場景 213
11.6 App預埋方案 215
11.6.1 升級 215
11.6.2 功能開關 216
11.6.3 通用彈框 216
11.6.4 舊版本和新版本字段兼容 217
11.6.5 extension擴展字段 217
11.6.6 權限管理 217
11.6.7 域名替換 218
11.7 Gradle配置方案 218
11.7.1 Gradle簡介 218
11.7.2 配置信息 219
11.7.3 使用. each引入依賴庫 220
11.7.4 任務信息 220
11.8 串行與並行方案:RxJava 221
11.8.1 什麼是串行和並行 221
11.8.2 串行:FlatMap 221
11.8.3 串行:Concat 222
11.8.4 並行:Merge 223
11.8.5 並行:Zip 224
11.9 設計一種串行方案 225
11.10 異常處理方案 227
11.10.1 異常介紹 227
11.10.2 異常拋出 228
11.10.3 異常捕獲 229
11.10.4 Android全局異常的捕獲 231
11.10.5 預防異常 232
11.11 Android動畫方案:屬性動畫 232
11.11.1 視圖動畫和屬性動畫 232
11.11.2 屬性動畫的應用 233
11.11.3 Lottie 235
11.12 Android Studio動態調試方案 235
11.13 自定義View方案 238
11.13.1 自定義View簡介 238
11.13.2 View繪製流程 238
11.13.3 坐標系 239
11.13.4 方案一:繼承系統View控件 239
11.13.5 方案二:組合控件 241
11.13.6 方案三:重寫View 243
11.14 組件化方案 245
11.14.1 為什麼要進行組件化開發 245
11.14.2 組件化改造方案 246
11.14.3 組件化開發手冊 250
11.14.4 組件化開發實戰 252
第 12章 Android優化 255
12.1 內存洩漏 255
12.1.1 Static靜態變量 255
12.1.2 InnerClass內部類 257
12.1.3 其他導致內存洩漏的場景 260
12.1.4 LeakCanary 262
12.2 編譯速度 262
12.2.1 配置文件優化 263
12.2.2 Gradle腳本優化 264
12.2.3 其他優化方案 265
第 13章 測試 266
13.1 壓力測試Monkey 266
13.2 JUnit、Espresso、Mockito、Robolectric 267
13.2.1 JUnit 268
13.2.2 Espresso 269
13.2.3 Mockito 269
13.2.4 Robolectric 270
13.2.5 綜合應用 270
13.2.6 擴展:mock植入和反射 272
第 14章 工具 273
14.1 Android模擬器 273
14.1.1 AVD 273
14.1.2 Genymotion 274
14.1.3 MuMu模擬器 274
14.2 文檔管理 275
14.2.1 文檔共享和編輯平臺 275
14.2.2 知識管理平臺 276
14.2.3 任務管理和缺陷跟蹤平臺 276
14.3 9PNG的應用 277
14.3.1 字體陰影 277
14.3.2 用9png圖片實現通用陰影效果 278
14.3.3 用9png圖片實現網絡傳輸 279
14.4 CI:持續集成 279
14.4.1 Jenkins 279
14.4.2 Travis 281
14.5 Kotlin學習 282
14.5.1 Kotlin語法手冊 282
14.5.2 Kotlin在Android上的應用 284
14.6 其他的一些與開發相關的工具 286
14.6.1 圖片壓縮 286
14.6.2 源碼閱讀 287
14.6.3 Stetho 288
14.6.4 Android Asset Studio 288
第4篇 實戰篇
第 15章 Github客戶端開發 291
15.1 Github需求 291
15.2 Github原型圖 292
15.3 技術選型 293
15.3.1 架構 293
15.3.2 功能模塊 294
15.3.3 UI模塊 294
15.3.4 技術方案 295
15.4 開發準備 296
15.4.1 新建工程 296
15.4.2 目錄結構 297
15.4.3 圖標 298
15.4.4 配置文件 298
15.4.5 輔助工具 300
15.5 開發實現:架構與模塊 301
15.5.1 MVVM架構 301
15.5.2 網絡模塊 301
15.5.3 圖片模塊 304
15.5.4 數據庫模塊 304
15.5.5 base模塊 307
15.5.6 數據模塊 311
15.5.7 其他模塊 313
15.6 開發實現:業務 314
15.6.1 啟動頁 314
15.6.2 登錄頁 316
15.6.3 首頁 318
15.6.4 開源項目和搜索 319
15.6.5 國際化 320
第 16章 打包與發布 322
16.1 打包 322
16.2 發布 324


