編輯推薦
以從零開始規劃一款APP至APP上綫這個過程為主綫,盡量貼閤實戰,介紹整個過程中所涉及的各類知識,而不局限於某一方麵,使得讀者對APP開發相關知識有一個全麵的瞭解,幫助他們開闊眼界,且能夠以更專業的方式完成APP的開發。
內容簡介
本書詳盡地介紹瞭APP從規劃到上綫過程中所涉及的各方麵知識,包括産品規劃和原型設計、效果圖設計、切圖和尺寸標注、APP與服務器間的協作、字符編碼、網絡、多媒體、數據加密、設計模式、APP架構設計、APP性能優化、開發工具的使用、APP測試和項目管理等。
本書幫助讀者開闊眼界,且能夠以更專業和高效的方式完成APP的開發,適閤新APP工程師作為開發參考。
作者簡介
有十餘年的軟件開發和項目管理經驗,在手機軟件開發和Android軟件開發方麵有較深的理解和豐富的經驗。
目錄
第 1章 開發APP前的準備事項… ……… 1
1.1 APP適配的硬件……………………… 2
1.2 APP橫竪屏界麵的選擇……………… 2
1.3 APP適配的操作係統版本…………… 2
1.4 APP適配的屏幕尺寸………………… 3
1.5 APP開發樣機的選擇………………… 4
1.6 APP內置的圖片資源………………… 4
第2章 APP産品和設計人員的工作……5
2.1 編寫産品文檔時的注意事項… ……… 6
2.2 設計效果圖時的注意事項…………… 17
2.3 APP的切圖工作………………………18
2.4 點9圖簡介… …………………………20
2.4.1 點9圖……………………………20
2.4.2 製作工具… ……………………20
2.4.3 注意事項… …………………… 21
2.5 産品和設計文檔的版本管理………… 21
第3章 APP端和服務器端的協作………… 22
3.1 接口設計注意事項… …………………23
3.2 安全方案………………………………30
3.2.1 HTTP命令的使用… …………30
3.2.2 使用時間戳參數 … ………… 31
3.2.3 數據加密 … …………………32
3.2.4 密碼的處理 … ………………32
3.2.5 數據的存儲 … ………………32
3.3 登錄方式………………………………32
3.3.1 賬號+密碼………………………32
3.3.2 賬號+密碼+驗證碼……………32
3.4 登錄狀態的維持………………………33
3.4.1 利用Token實現… ……………33
3.4.2 利用Cookie實現………………34
3.4.3 利用賬號和密碼實現… ………35
3.5 數據同步方案…………………………35
3.5.1 文件的同步… …………………35
3.5.2 地址數據的同步… ……………36
3.5.3 非地址數據的同步… …………37
3.6 業務邏輯的實現………………………38
3.7 接口文檔的維護………………………38
第4章 字符編碼… …………………… 40
4.1 字符集… ………………………………41
4.2 字符編碼………………………………42
4.3 字節序…………………………………43
第5章 TCP/IP概述…………………… 44
5.1 協議簡介… ……………………………45
5.2 TCP和UDP的區彆… ………………45
5.2.1 麵嚮連接服務… ………………45
5.2.2 無連接服務… …………………46
第6章 HTTP網絡請求… …………… 47
6.1 HTTP簡介……………………………48
6.1.1 協議… …………………………48
6.1.2 HTTP方法… …………………48
6.1.3 HTTP消息… …………………49
6.1.4 HTTP頭字段介紹… …………52
6.1.5 Keep-Alive模式介紹… ……55
6.1.6 HTTP狀態碼簡介… …………56
6.2 Cookie簡介… ………………………56
6.2.1 Cookie…………………………56
6.2.2 Cookie的設置和發送…………57
6.3 Session簡介…………………………57
6.3.1 Session… ……………………57
6.3.2 SessionID……………………58
6.4 短連接與長連接………………………58
6.4.1 短連接… ………………………58
6.4.2 長連接… ………………………58
6.4.3 使用場景… ……………………59
6.5 Volley網絡庫簡介……………………59
6.5.1 Volley網絡庫… ………………59
6.5.2 Volley網絡庫的使用… ………66
第7章 HTTPS概述…………………… 73
7.1 協議簡介… ……………………………74
7.2 HTTPS的認證類型… ………………74
7.2.1 單嚮認證… ……………………74
7.2.2 雙嚮認證… ……………………75
第8章 加密簡介… …………………… 76
8.1 對稱加密… ……………………………77
8.2 非對稱加密……………………………77
8.3 MD5簡介… …………………………77
第9章 設計模式………………………… 80
9.1 設計模式簡介… ………………………81
9.2 麵嚮對象設計原則……………………81
9.3 設計模式類彆…………………………81
9.3.1 單例模式… ……………………82
9.3.2 Builder模式 …………………83
9.3.3 原型模式… ……………………83
9.3.4 工廠方法模式… ………………83
9.3.5 策略模式… ……………………84
9.3.6 狀態模式… ……………………84
9.3.7 命令模式… ……………………85
9.3.8 觀察者模式… …………………85
9.3.9 備忘錄模式… …………………85
9.3.10 迭代器模式……………………85
9.3.11 模闆方法模式…………………85
9.3.12 代理模式………………………85
9.3.13 組閤模式………………………86
9.3.14 適配器模式……………………86
9.3.15 外觀模式………………………86
9.3.16 橋接模式………………………86
第 10章 架構模式… …………………… 87
10.1 MVC架構……………………………88
10.2 MVP架構……………………………88
10.3 MVVM架構…………………………89
10.4 MVP+VM架構… …………………89
第 11章 APP架構設計………………… 90
11.1 基本原則………………………………91
11.2 分層設計………………………………92
11.2.1 三層架構………………………92
11.2.2 View層設計… ………………92
11.2.3 業務邏輯層設計(Presenter)……………94
11.2.4 數據訪問層設計(Model)…… 94
11.2.5 功能模塊設計…………………94
11.3 層間通信………………………………96
11.3.1 通信方式………………………96
11.3.2 交互模式………………………96
11.4 跨業務模塊調用………………………97
11.4.1 跨業務模塊調用簡介…………97
11.4.2 跨業務模塊調用方案…………97
第 12章 Activity概述………………… 98
12.1 Activity啓動方式……………………99
12.1.1 啓動模式………………………99
12.1.2 FLAG介紹………………… 100
12.2 Activity消息路由… …………… 101
12.2.1 設計思路…………………… 101
12.2.2 具體實現…………………… 101
12.3 Activity數據的保存和恢復……103
12.3.1 臨時保存數據和恢復數據…… 103
12.3.2 持久保存數據和恢復數據…… 103
12.4 Activity數據傳遞… …………… 104
12.4.1 數據傳遞媒介……………… 104
12.4.2 數據傳遞機製……………… 108
12.5 BaseActivity設計……………… 109
12.5.1 應用級彆的BaseActivity設計………………………… 109
12.5.2 功能級彆的BaseActivity設計………………………… 111
第 13章 Service概述…………………114
13.1 Service的不同形式… ………… 115
13.2 Service與綫程… ……………… 115
13.3 IntentService… ……………… 116
13.4 前颱服務… ……………………… 116
13.5 服務的生命周期… ……………… 117
第 14章 Broadcast概述… …………118
14.1 廣播機製簡介……………………… 119
14.2 BroadcastReceiver………… 119
14.2.1 靜態注冊…………………… 119
14.2.2 動態注冊…………………… 120
14.3 廣播類型… ……………………… 120
14.3.1 普通廣播(Normal…Broadcast)…… 120
14.3.2 係統廣播(System…Broadcast)…… 121
14.3.3 有序廣播(Ordered…Broadcast)…… 121
14.3.4 局部廣播(Local…Broadcast)…… 123
14.4 廣播的安全性… ………………… 123
第 15章 ContentProvider概述… ……125
第 16章 Fragment概述………………127
16.1 Fragment簡介… ……………… 128
16.2 Fragment的創建……………… 128
16.3 Fragment的懶加載………… 130
16.4 Fragment的數據保存和恢復… 133
16.4.1 臨時保存數據和恢復……… 133
16.4.2 持久保存數據和恢復……… 134
16.5 Fragment的使用場景………… 134
第 17章 Android權限…………………135
17.1 權限分類…………………………… 136
17.1.1 Normal Permissions…… 136
17.1.2 Dangerous…Permissions…… 137
17.2 動態權限申請…………………… 138
17.3 兼容性問題……………………… 139
第 18章 Android動畫……………… 140
18.1 幀動畫……………………………… 141
18.2 View動畫………………………… 142
18.3 屬性動畫簡介… ………………… 144
18.3.1 屬性動畫…………………… 144
18.3.2 使用示例…………………… 145
18.4 Activity切換動畫… …………… 147
第 19章 圖片類型……………………… 149
19.1 位圖簡介…………………………… 150
19.1.1 位圖………………………… 150
19.1.2 WebP格式………………… 150
19.2 矢量圖簡介……………………… 151
第 20章 Android矢量圖的使用……152
20.1 功能簡介………………………… 153
20.2 兼容性處理……………………… 154
20.3 Vector語法簡介………………… 155
20.4 Vector靜態圖的使用…………… 157
20.5 Vector動態圖的使用…………… 159
20.5.1 功能實現…………………… 159
20.5.2 動態Vector兼容性問題…… 161
第 21章 Android異常…………………162
21.1 異常分類…………………………… 163
21.2 異常處理………………………… 163
21.2.1 使用try…catch…處理異常………………………… 164
21.2.2 使用UncaughtException Handler處理異常………… 164
21.2.3 ANR異常的處理………… 170
21.3 注意事項……………………… 174
第 22章 Android的本地存儲…………175
22.1 內部存儲(Internal Storage)…… 176
22.1.1 非緩存文件的處理………… 176
22.1.2 緩存文件的處理…………… 176
22.2 外部存儲(External Storage)…… 177
22.2.1 外部公共存儲……………… 178
22.2.2 外部私有存儲……………… 179
22.2.3 使用作用域目錄訪問……… 182
第 23章 ABI管理……………………… 184
23.1 ABI簡介…………………………… 185
23.2 支持的ABI……………………… 185
23.3 為特定ABI生成代碼…………… 186
23.4 Android係統的ABI管理……… 186
23.5 Android係統ABI支持………… 187
23.6 安裝時自動解壓縮原生代碼……… 187
第 24章 ProGuard混淆…………… 188
24.1 ProGuard簡介………………… 189
24.2 ProGuard指令介紹…………… 189
24.3 ProGuard注意事項…………… 190
24.4 ProGuard相關文件…………… 192
第 25章 Android Studio使用技巧……193
25.1 編譯打包………………………… 194
25.2 功能宏的使用…………………… 196
25.3 集成SO文件……………………… 196
25.4 模闆的定製使用………………… 197
第 26章 APP緩存處理…………………211
26.1 緩存簡介………………………… 212
26.2 緩存控製………………………… 212
26.3 緩存實現………………………… 212
26.4 WebView緩存………………… 213
26.5 緩存注意事項…………………… 214
26.6 清除數據和清除緩存的區彆……214
第 27章 APP性能優化…………………215
27.1 減少APP所占空間大小… ……… 216
27.1.1 減少圖片所占空間大小…… 216
27.1.2 減少音頻文件所占空間大小………………………… 221
27.1.3 減少代碼所占空間大小…… 221
27.1.4 使用APK Analyzer分析APP……………………… 222
27.1.5 利用工具減少APP大小…… 226
27.2 減少APP使用的網絡流量……… 228
27.3 內存優化………………………… 229
27.3.1 節省內存………………… 229
27.3.2 防止內存泄露…………… 231
27.3.3 防止OOM……………… 232
27.4 UI性能優化……………………… 232
27.5 電量優化………………………… 233
27.6 運行速度優化…………………… 233
27.7 性能優化工具…………………… 234
27.7.1 Android Studio自帶工具………………………… 234
27.7.2 Android係統工具……… 235
27.7.3 三方工具…………………… 236
第 28章 Log功能設計…………………237
28.1 Log輸齣控製…………………… 238
28.2 注意事項………………………… 239
28.3 Log數據的格式化……………… 239
28.4 使用AOP技術輸齣Log………… 239
28.4.1 AOP簡介………………… 239
28.4.2 AOP技術的使用………… 240
第 29章 APP版本管理…………………254
第30章 APP版本更新功能設計………256
30.1 功能項…………………………… 257
30.1.1 服務器端功能…………… 257
30.1.2 APP端功能……………… 257
30.2 APP和服務器交互……………… 257
第31章 APP常用功能設計…………… 260
31.1 啓動界麵設計……………………… 261
31.1.1 啓動界麵白屏解決方案…… 261
31.1.2 啓動界麵屏蔽返迴按鍵……… 261
31.2 首頁設計………………………… 262
31.3 登錄功能設計…………………… 262
31.4 商品詳情界麵設計……………… 262
31.5 購物車功能設計………………… 262
31.6 商品展示界麵功能設計………… 263
31.7 個人中心界麵功能設計………… 263
31.8 搜索功能設計…………………… 263
31.9 WebView功能設計…………… 264
31.10 齣錯提示功能設計……………… 266
31.11 界麵內容隱藏和顯示設計……… 266
31.12 提示功能設計…………………… 267
31.12.1 三種控製簡介… ………… 267
31.12.2 AlertDialog介紹………… 268
31.12.3 Toast介紹……………… 269
31.12.4 Snackbar介紹………… 270
31.13 定期執行任務的功能設計……… 271
31.13.1 JobScheduler介紹……… 271
31.13.2 JobScheduler的替代方案……………………… 274
31.13.3 注意事項………………… 277
31.14 全屏模式的功能設計…………… 277
31.14.1 Lean Back……………… 277
31.14.2 Immersive……………… 278
31.15 開機自啓動的功能設計………… 279
Android APP開發實戰 從規劃到上綫全程詳解 下載 mobi epub pdf txt 電子書 格式