《Android套用案例開發大全(第4版)》是2020年2月人民郵電出版社出版的圖書,作者是吳亞峰、蘇亞光、於復興。
基本介紹
- 書名:Android套用案例開發大全(第4版)
- 作者:吳亞峰
蘇亞光
於復興 - ISBN:9787115482433
- 頁數:592頁
- 定價:99元
- 出版社:人民郵電出版社
- 出版時間:2020年2月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
本書以講解Android手機綜合應用程式開發為主題,通過11個典型範例全面且深入地講解了單機套用、網路套用、商業案例、遊戲案例等多個開發技術。
全書共分12章,詳細介紹了3D動態壁紙—百納水族館,LBS類套用—掌上杭州,行銷管理系統—手機汽車4S店,LBS交通軟體—百納公交小助手,校園服務類套用—社團寶,校園輔助軟體—手機新生小助手,生活輔助類套用—美食天下,音樂休閒軟體—百納網路音樂播放器,中學教育AR套用—化學可視體驗,益智類遊戲—污水征服者,生活服務類套用—駕考寶典等Android套用的開發技術。書中所有案例的全部原始碼讀者都可以通過網路下載,方便學習。
本書以真實的項目開發為寫作背景,具有很強的實用性和實戰性。講解上深入淺出、通俗易懂,既有Android開發的實戰技術和技巧,也包括真實項目的策劃方案。本書非常適合初學者或有一定Android基礎並希望學習Android開發技術的讀者使用。
圖書目錄
第 1章 初識廬山真面目——Android簡介 1
1.1 Android的來龍去脈 1
1.2 掀起Android的蓋頭來 1
1.2.1 選擇Android的理由 1
1.2.2 Android的應用程式框架 2
1.3 Android開發環境的搭建 4
1.3.1 Android Studio和Android SDK
的下載 4
1.3.2 Android Studio和Android SDK
的安裝 5
1.3.3 第 一個Android程式 8
1.4 DDMS的靈活套用 13
1.4.1 初識DDMS 13
1.4.2 System.out.println方法 14
1.4.3 android.util.Log類 14
1.4.4 Devices的管理 15
1.4.5 模擬器控制(Emulator Control)
詳解 17
1.4.6 File Explorer——SD Card
檔案管理器 18
1.5 本書案例項目的導入 19
1.6 本章小結 20
第 2章 3D動態壁紙——百納水族館 21
2.1 背景及功能概述 21
2.1.1 項目背景 21
2.1.2 功能介紹 22
2.2 策劃及準備工作 23
2.2.1 項目策劃 24
2.2.2 Android平台下3D開發的
準備工作 24
2.2.3 百納骨骼動畫格式檔案 25
2.3 整體介紹 25
2.4 項目的繪製 28
2.4.1 介紹壁紙服務類——
OpenGLES3WallpaperService 29
2.4.2 自定義渲染器類——
MySurfaceView 30
2.5 輔助繪製類 33
2.5.1 背景輔助繪製類——
Background 34
2.5.2 氣泡輔助繪製類——Bubble 35
2.5.3 魚類輔助繪製類——BNModel 36
2.5.4 模型輔助繪製類——
BnggdhDraw 37
2.6 繪製相關類 40
2.6.1 氣泡繪製相關類 40
2.6.2 群魚繪製相關類 42
2.6.3 魚群繪製相關類 44
2.6.4 魚食繪製相關類 46
2.7 執行緒相關類 48
2.7.1 氣泡移動執行緒類——
BubbleThread 48
2.7.2 群魚遊動執行緒類——
FishGoThread 48
2.7.3 魚群遊動執行緒類——
FishSchoolThread 49
2.7.4 魚食移動執行緒類——
FoodThread 51
2.7.5 吸引力執行緒類——
AttractThread 52
2.7.6 執行緒組管理類——
BNThreadGroup 54
2.8 著色器的開發 54
2.8.1 氣泡的著色器 54
2.8.2 珍珠著色器 55
2.8.3 魚類的著色器 57
2.9 最佳化與改進 58
第3章 LBS類套用——掌上杭州 59
3.1 套用背景及功能介紹 59
3.1.1 背景簡介 59
3.1.2 功能概述 59
3.1.3 開發環境 60
3.2 功能預覽及架構 60
3.2.1 載入、美食、醫療功能預覽 60
3.2.2 購物、景點、娛樂功能預覽 63
3.2.3 搜尋、設定功能預覽 67
3.2.4 項目結構 68
3.3 開發前的準備工作 69
3.3.1 信息的蒐集 69
3.3.2 數據包的整理 72
3.3.3 XML資源檔案的準備 72
3.4 輔助工具類的開發 74
3.4.1 常量類的開發 74
3.4.2 圖片獲取類的開發 74
3.4.3 解壓檔案類的開發 75
3.4.4 讀取檔案類的開發 76
3.4.5 自定義字型類的開發 76
3.5 輔助功能的實現 77
3.5.1 載入功能的實現 77
3.5.2 主界面的實現 80
3.5.3 百度地圖的實現 82
3.6 美食模組的實現 86
3.6.1 美食主界面的實現 86
3.6.2 介紹美食的實現 88
3.7 景點功能開發 90
3.7.1 景點主界面的開發 91
3.7.2 當前景點界面的開發 95
3.7.3 所有景點界面的開發 96
3.7.4 新浪微博功能的開發 97
3.7.5 搜尋興趣點功能的開發 101
3.7.6 語言選擇功能的開發 102
3.7.7 建議反饋界面的開發 103
3.8 其他模組的實現 104
3.8.1 娛樂、醫療、購物的實現 104
3.8.2 住宿版塊的實現 106
3.8.3 搜尋模組的實現 109
3.8.4 設定模組的實現 112
3.9 本章小結 113
第4章 行銷管理系統——手機汽車4S店 114
4.1 系統背景及功能介紹 114
4.1.1 手機汽車4S店背景簡介 114
4.1.2 手機汽車4S店功能概述 114
4.1.3 手機汽車4S店開發環境和
目標平台 116
4.2 開發前的準備工作 117
4.2.1 資料庫設計 117
4.2.2 資料庫表設計 118
4.2.3 使用Navicat for MySQL創建
表並插入初始數據 121
4.3 系統功能預覽及總體架構 122
4.3.1 PC端預覽 122
4.3.2 Android客戶端功能預覽 125
4.3.3 Android客戶端項目
結構 126
4.4 PC端的界面搭建與功能實現 127
4.4.1 用戶登錄功能的開發 127
4.4.2 主管理界面功能的開發 129
4.4.3 汽車車型管理功能的開發 130
4.4.4 汽車新聞管理功能的開發 134
4.4.5 信息反饋管理功能的開發 136
4.5 伺服器端的實現 137
4.5.1 常量類的開發 137
4.5.2 服務執行緒的開發 137
4.5.3 DB處理類的開發 139
4.5.4 圖片處理類 140
4.4.5 輔助工具類 140
4.4.6 其他方法的開發 142
4.6 Android客戶端的準備工作 142
4.6.1 圖片資源的準備 142
4.6.2 XML資源檔案的準備 143
4.7 載入界面功能模組的實現 144
4.8 Android客戶端各功能模組的實現 147
4.8.1 汽車4S店主界面模組的
實現 147
4.8.2 汽車新聞模組的實現 150
4.8.3 汽車車型模組的實現 154
4.8.4 汽車文化模組的實現 158
4.8.5 汽車經銷商模組的實現 159
4.8.6 汽車服務模組的實現 160
4.9 Android客戶端與伺服器連線的
實現 166
4.9.1 Android客戶端與伺服器
連線的各類功能 166
4.9.2 Android客戶端與伺服器
連線中各類功能的開發 167
4.9.3 其他方法的開發 168
4.10 本章小結 168
第5章 LBS交通軟體——百納公交小助手 170
5.1 系統背景及功能介紹 170
5.1.1 背景簡介 170
5.1.2 模組與界面概覽 170
5.1.3 開發環境 172
5.2 功能預覽及框架 172
5.2.1 項目功能預覽 172
5.2.2 項目結構 175
5.3 開發前的準備工作 177
5.3.1 資料庫表的設計 177
5.3.2 百度地圖鍵值的申請 178
5.3.3 百度地圖的顯示 179
5.3.4 XML資源檔案的準備 180
5.4 輔助工具類的開發 182
5.4.1 常量類的開發 182
5.4.2 工具類的開發 183
5.4.3 換乘路徑規劃工具類的開發 184
5.4.4 定位和獲取附近公交站
工具類的開發 185
5.5 各個功能模組的實現 186
5.5.1 選擇城市界面模組的實現 186
5.5.2 主界面模組的實現 189
5.5.3 線路查詢模組的實現 191
5.5.4 換乘方案查詢模組的實現 200
5.5.5 定位附近站點模組的開發 208
5.6 本章小結 215
第6章 校園服務類套用——社團寶 216
6.1 套用背景及功能介紹 216
6.1.1 軟體背景簡介 216
6.1.2 軟體功能概述 216
6.1.3 軟體開發環境與目標平台 218
6.2 功能預覽及架構 219
6.2.1 管理端功能預覽 219
6.2.2 Android端功能預覽 220
6.2.3 結構圖 223
6.3 開發前的準備工作 224
6.3.1 資料庫設計 224
6.3.2 資料庫表設計 225
6.3.3 使用Navicat for MySQL創建
表並插入初始數據 228
6.4 伺服器端的實現 229
6.4.1 常量類的開發 229
6.4.2 服務執行緒的開發 229
6.4.3 輔助工具類 231
6.4.4 其他方法的開發 232
6.5 管理端功能搭建及界面實現 233
6.5.1 用戶登錄功能的實現 233
6.5.2 主管理界面功能的開發 234
6.5.3 社團管理功能的開發 236
6.5.4 意見管理功能的開發 238
6.5.5 賬號管理功能的開發 238
6.6 Android客戶端各功能模板實現 240
6.6.1 整體框架的搭建 240
6.6.2 常量類的開發 244
6.6.3 自定義字型類的開發 244
6.6.4 啟動界面功能的實現 245
6.6.5 調用系統瀏覽器 246
6.6.6 滾動載入功能的實現 247
6.6.7 Android端與伺服器的連線 250
6.6.8 個人功能模組的實現 251
6.6.9 圖片處理 256
6.6.10 Exit類的搭建 257
6.6.11 社團主界面的構建 258
6.6.12 活動主界面的構建 259
6.6.13 社交主界面的構建 261
6.6.14 社交功能的實現 262
6.7 本章小結 263
第7章 校園輔助軟體——手機新生小助手 264
7.1 套用背景及功能介紹 264
7.1.1 新生小助手背景簡介 264
7.1.2 新生小助手功能概述 264
7.1.3 新生小助手開發環境 265
7.2 功能預覽及架構 265
7.2.1 新生小助手功能預覽 266
7.2.2 新生小助手結構圖 269
7.3 開發前的準備工作 271
7.3.1 文本信息的蒐集 272
7.3.2 相關圖片的採集 274
7.3.3 數據包的整理 276
7.3.4 XML資源檔案的準備 277
7.4 輔助工具類的開發 278
7.4.1 常量類的開發 278
7.4.2 圖片獲取類的開發 278
7.4.3 解壓檔案類的開發 279
7.4.4 讀取檔案類的開發 280
7.4.5 自定義字型類的開發 280
7.4.6 平面圖數據類的開發 281
7.5 載入功能模組的實現 286
7.6 各個功能模組的實現 289
7.6.1 新生小助手主界面模組的實現 289
7.6.2 認識聯大模組的實現 291
7.6.3 報到流程模組的實現 304
7.6.4 校內導航模組的實現 305
7.6.5 唐山導航模組的實現 307
7.6.6 更多信息模組的實現 313
7.7 本章小結 314
第8章 生活輔助類套用——美食天下 315
8.1 系統的功能介紹 315
8.1.1 美食天下功能概述 315
8.1.2 套用開發環境和目標平台 317
8.2 開發前的準備工作 317
8.2.1 資料庫設計 318
8.2.2 資料庫表的設計 319
8.2.3 使用Navicat Lite for MySQL
創建新表並插入初始數據 324
8.3 系統功能預覽及總體架構 325
8.3.1 PC端預覽 325
8.3.2 Android客戶端功能預覽 328
8.3.3 Android客戶端結構圖 331
8.4 PC端的界面搭建與功能實現 332
8.4.1 用戶登錄功能的開發 332
8.4.2 主管理界面功能的開發 334
8.4.3 菜品添加功能的開發 335
8.4.4 菜品信息管理功能的開發 338
8.5 伺服器端的實現 342
8.5.1 常量類的開發 342
8.5.2 服務執行緒的開發 343
8.5.3 DB處理類的開發 344
8.5.4 圖片處理類 345
8.5.5 其他方法的開發 346
8.6 Android客戶端的準備工作 346
8.6.1 圖片資源的準備 346
8.6.2 XML資源檔案的準備 347
8.6.3 本地資料庫的準備 347
8.6.4 常量類的準備 350
8.7 Android定位功能的開發 350
8.7.1 創建套用以及百度地圖SDK的
下載 350
8.7.2 手機定位功能的實現 353
8.8 Android客戶端功能的實現 354
8.8.1 主界面的實現 354
8.8.2 查找菜品功能的實現 356
8.8.3 上傳菜品功能的實現 362
8.8.4 菜品評論功能的實現 364
8.8.5 查看離線菜品和隨拍功能的
實現 365
8.9 Android客戶端與伺服器連線的實現 367
8.9.1 Android客戶端與伺服器連線
中的各類功能 367
8.9.2 Android客戶端與伺服器連線
中各類功能的開發 368
8.9.3 其他方法的開發 371
8.10 本章小結 371
第9章 音樂休閒軟體——百納網路音樂
播放器 372
9.1 系統的功能介紹 372
9.1.1 百納音樂播放器功能概述 372
9.1.2 百納音樂播放器開發環境和
目標平台 373
9.2 開發前的準備工作 374
9.2.1 資料庫表的設計 374
9.2.2 資料庫表的創建 375
9.2.3 使用Navicat for MySQL創建
新表並插入初始數據 377
9.3 系統功能預覽及總體架構 378
9.3.1 PC端預覽 378
9.3.2 Android客戶端功能預覽 380
9.3.3 Android客戶端結構圖 382
9.4 PC端的界面搭建與功能實現 383
9.4.1 用戶登錄功能的開發 383
9.4.2 主管理界面功能的開發 385
9.4.3 歌手管理功能的開發 386
9.4.4 歌曲管理功能的開發 389
9.4.5 專輯的功能的開發 390
9.5 伺服器端的實現 392
9.5.1 常量類的開發 392
9.5.2 服務執行緒的開發 392
9.5.3 DB處理類的開發 394
9.5.4 圖片處理類 395
9.5.5 輔助工具類 395
9.5.6 其他方法的開發 397
9.6 Android客戶端的準備工作 397
9.6.1 圖片資源的準備 397
9.6.2 XML資源檔案的準備 397
9.6.3 本地資料庫的準備 398
9.6.4 常量類的準備 400
9.7 Android客戶端基本構架的開發 400
9.7.1 音樂播放器的基本構架 400
9.7.2 音樂播放模組的開發 401
9.7.3 音樂切換模組的開發 404
9.8 Android客戶端功能模組的實現 406
9.8.1 主界面的實現 406
9.8.2 掃描音樂的實現 408
9.8.3 音樂列表的實現 410
9.8.4 播放界面的實現 413
9.8.5 網路界面的實現 418
9.9 Android客戶端與伺服器連線的實現 419
9.9.1 Android客戶端與伺服器連線
中的各類功能 419
9.9.2 Android客戶端與伺服器連線
中各類功能的開發 419
9.9.3 其他方法的開發 421
9.10 本章小結 421
第 10章 中學教育AR套用——化學可視
體驗 422
10.1 背景以及功能概述 422
10.1.1 開發背景概述 422
10.1.2 套用功能簡介 423
10.2 套用的策劃及準備工作 424
10.2.1 套用的策劃 424
10.2.2 開發前的準備工作 425
10.2.3 資料卡片的結構及製作 428
10.2.4 Vuforia部分的配置 429
10.2.5 伺服器端數據包簡介 430
10.3 套用的架構 431
10.3.1 各個類的簡要介紹 432
10.3.2 套用架構簡介 434
10.4 Vuforia相關類 435
10.5 界面繪製類 443
10.5.1 界面控制類 443
10.5.2 單獨界面類 445
10.6 執行緒類 459
10.7 工具類 462
10.7.1 下載工具類 462
10.7.2 讀取txt和bitmap工具類 464
10.7.3 解壓縮工具類 467
10.7.4 讀取模型工具類 468
10.8 常量類 469
10.9 管理類 471
10.9.1 聲音管理類 471
10.9.2 著色器管理類 472
10.9.3 圖片管理類 473
10.10 套用中著色器的開發 475
10.10.1 繪製3D模型的著色器 475
10.10.2 繪製2D界面的著色器 476
10.10.3 繪製波浪矩形的著色器 477
10.11 套用的最佳化與改進 478
第 11章 益智類遊戲——污水征服者 480
11.1 遊戲背景及功能概述 480
11.1.1 背景概述 480
11.1.2 功能介紹 480
11.2 遊戲的策劃及準備工作 483
11.2.1 遊戲的策劃 483
11.2.2 安卓平台下遊戲開發的
準備工作 483
11.3 遊戲的架構 487
11.3.1 各個類的簡要介紹 487
11.3.2 遊戲框架簡介 489
11.4 常量及公共類 491
11.4.1 遊戲主控類WaterActivity 491
11.4.2 遊戲常量類Constant 494
11.5 界面相關類 495
11.5.1 遊戲界面管理類
ViewManager 495
11.5.2 歡迎界面類
BNWelcomeView 497
11.5.3 選關界面類BNSelectView 500
11.5.4 主選單界面類
BNMenuView 505
11.5.5 遊戲界面類BNGameView2 507
11.5.6 紋理矩形繪製類
RectForDraw 519
11.5.7 地圖數據結構相關類 521
11.5.8 螢幕自適應相關類 522
11.6 執行緒相關類 524
11.6.1 計算緩衝執行緒類
CalculateFloatBufferThread 524
11.6.2 物理刷幀執行緒類
UpdateThread 525
11.6.3 火焰執行緒類
FireUpdateThread 527
11.7 水粒子計算相關類 528
11.7.1 單個水粒子類Particle 528
11.7.2 單個格線節點類Node 529
11.7.3 物理計算類PhyCaulate 529
11.8 遊戲中著色器的開發 532
11.8.1 紋理的著色器 533
11.8.2 圖像漸變的著色器 533
11.8.3 水紋理的著色器 534
11.8.4 載入界面閃屏紋理的
著色器 534
11.8.5 勝利失敗對話框的紋理
著色器 535
11.8.6 煙火的紋理著色器 535
11.9 遊戲地圖數據檔案介紹 536
11.10 遊戲的最佳化及改進 537
第 12章 生活服務類套用——駕考寶典 538
12.1 套用背景及功能介紹 538
12.1.1 駕考寶典背景簡介 538
12.1.2 駕考寶典功能概述 539
12.1.3 開發環境與目標平台 541
12.2 功能預覽及架構 542
12.2.1 安卓端功能預覽 542
12.2.2 PC端功能預覽 546
12.2.3 結構圖 549
12.3 開發前的準備工作 549
12.3.1 資料庫設計 549
12.3.2 資料庫表設計 551
12.3.3 使用Navicat for MySQL
創建表並插入初始數據 552
12.4 伺服器端的實現 553
12.4.1 常量類的開發 553
12.4.2 服務執行緒的開發 554
12.4.3 DB處理類的開發 555
12.4.4 圖片處理類 556
12.4.5 輔助工具類 557
12.4.6 其他方法的開發 560
12.5 PC端功能搭建及界面實現 560
12.5.1 用戶登錄功能的實現 560
12.5.2 主管理界面功能的開發 561
12.5.3 管理員信息及其他類型信息的開發 563
12.5.4 試題管理功能的開發 564
12.5.5 論壇管理功能的開發 566
12.6 Android客戶端各功能模板實現 566
12.6.1 整體框架的搭建 566
12.6.2 常量類的開發 569
12.6.3 側滑界面的實現 569
12.6.4 調用系統瀏覽器 571
12.6.5 啟動界面功能的實現 572
12.6.6 定位功能的實現 573
12.6.7 返回鍵的監聽 574
12.6.8 選車界面的實現 575
12.6.9 選駕校界面的實現 576
12.6.10 Android端與伺服器的
連線 577
12.6.11 答題界面模組的實現 578
12.6.12 考試記錄等功能的實現 582
12.6.13 車友圈模組的實現 584
12.6.14 個人中心模組的實現 587
12.7 本章小結 592