關于我們
書單推薦
新書推薦
|
Android應用案例開發(fā)大全 第4版
本書以講解Android手機綜合應用程序開發(fā)為主題,通過11個典型范例全面且深入地講解了單機應用、網絡應用、商業(yè)案例、游戲案例等多個開發(fā)技術。
全書共分12章,詳細介紹了3D動態(tài)壁紙百納水族館,LBS類應用掌上杭州,營銷管理系統(tǒng)手機汽車4S店,LBS交通軟件百納公交小助手,校園服務類應用社團寶,校園輔助軟件手機新生小助手,生活輔助類應用美食天下,音樂休閑軟件百納網絡音樂播放器,中學教育AR應用化學可視體驗,益智類游戲污水征服者,生活服務類應用駕考寶典等Android應用的開發(fā)技術。書中所有案例的全部源代碼讀者都可以通過網絡下載,方便學習。
本書以真實的項目開發(fā)為寫作背景,具有很強的實用性和實戰(zhàn)性。講解上深入淺出、通俗易懂,既有Android開發(fā)的實戰(zhàn)技術和技巧,也包括真實項目的策劃方案。本書非常適合初學者或有一定Android基礎并希望學習Android開發(fā)技術的讀者使用。
1.技術新穎,貼近實戰(zhàn)
本書涵蓋了現實中幾乎所有的流行技術,如傳感器、OpenGL ES 3.0、增強現實、動態(tài)壁紙、LBS百度地圖的二次開發(fā)、移動辦公、實時流體仿真計算引擎、服務端和Android端的交互等。
2.實例豐富,講解詳細
本書既包括單機版客戶端項目,也有服務端和Android端的結合開發(fā);既包括典型的商業(yè)軟件,也包括休閑娛樂項目,還有流行的增強現實熱門案例以及借助OpenGL ES 3.0渲染的逼真場景。
3.案例經典,含金量高
本書中的案例均是精心挑選的,不同類型的案例有著其獨特的開發(fā)方式。以真實的項目開發(fā)為講解背景,包括大型商務軟件、增強現實應用、益智游戲等,講解了開發(fā)時的思路,真實項目的策劃方案,以期讓讀者全面地掌握手機應用及游戲的開發(fā),具有很高的含金量,非常適合各類讀者學習。
吳亞峰,畢業(yè)于北京郵電大學,后留學澳大利亞臥龍崗大學取得碩士學位。1998年開始從事Java應用的開發(fā),有十多年的Java開發(fā)與培訓經驗。主要的研究方向為OpenGL ES、手機游戲、Java EE以及搜索引擎。同時為手機游戲、Java EE獨立軟件開發(fā)工程師,并兼任百納科技Java培訓中心培訓師。近十年來為數十家企業(yè)培養(yǎng)了上千名軟件開發(fā)人員,曾編寫過《Android應用案例開發(fā)大全》(第 1版~第3版)、《Android游戲開發(fā)大全》(第 1版~第3版)、《OpenGL ES 3.x游戲開發(fā)(上、下卷)》《Cocos2d-x 3.x游戲案例開發(fā)大全》《Unity 5.x 3D游戲開發(fā)技術詳解與典型案例》等多本暢銷技術書。2008年年初開始關注Android平臺下的3D應用開發(fā),并開發(fā)出一系列的Android應用程序與3D游戲。
蘇亞光,哈爾濱理工大學碩士,從業(yè)于計算機軟件領域十多年,在軟件開發(fā)和計算機教學方面有著豐富的經驗,曾編寫過《Android游戲開發(fā)大全》《Android 3D游戲開發(fā)技術詳解與典型案例》《Android應用案例開發(fā)大全》等多本暢銷技術書。2008年開始關注Android平臺下的應用開發(fā),參與開發(fā)了多款手機2D/3D游戲應用。
于復興,北京科技大學碩士,從業(yè)于計算機軟件領域十余年,在軟件開發(fā)和計算機教學方面有著豐富的經驗。工作期間曾主持科研項目PSP流量可視化檢測系統(tǒng)研究與實現,主持研發(fā)了多項省市級項目,同時為多家企事業(yè)單位設計開發(fā)了管理信息系統(tǒng),并在科技刊物上發(fā)表多篇相關論文。2008年開始關注Android平臺下的應用開發(fā),參與開發(fā)了多款手機3D游戲應用。
目 錄
第 1章 初識廬山真面目Android簡介 1 1.1 Android的來龍去脈 1 1.2 掀起Android的蓋頭來 1 1.2.1 選擇Android的理由 1 1.2.2 Android的應用程序框架 2 1.3 Android開發(fā)環(huán)境的搭建 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 ExplorerSD Card 文件管理器 18 1.5 本書案例項目的導入 19 1.6 本章小結 20 第 2章 3D動態(tài)壁紙百納水族館 21 2.1 背景及功能概述 21 2.1.1 項目背景 21 2.1.2 功能介紹 22 2.2 策劃及準備工作 23 2.2.1 項目策劃 24 2.2.2 Android平臺下3D開發(fā)的 準備工作 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 著色器的開發(fā) 54 2.8.1 氣泡的著色器 54 2.8.2 珍珠著色器 55 2.8.3 魚類的著色器 57 2.9 優(yōu)化與改進 58 第3章 LBS類應用掌上杭州 59 3.1 應用背景及功能介紹 59 3.1.1 背景簡介 59 3.1.2 功能概述 59 3.1.3 開發(fā)環(huán)境 60 3.2 功能預覽及架構 60 3.2.1 加載、美食、醫(yī)療功能預覽 60 3.2.2 購物、景點、娛樂功能預覽 63 3.2.3 搜索、設置功能預覽 67 3.2.4 項目目錄結構 68 3.3 開發(fā)前的準備工作 69 3.3.1 信息的搜集 69 3.3.2 數據包的整理 72 3.3.3 XML資源文件的準備 72 3.4 輔助工具類的開發(fā) 74 3.4.1 常量類的開發(fā) 74 3.4.2 圖片獲取類的開發(fā) 74 3.4.3 解壓文件類的開發(fā) 75 3.4.4 讀取文件類的開發(fā) 76 3.4.5 自定義字體類的開發(fā) 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 景點功能開發(fā) 90 3.7.1 景點主界面的開發(fā) 91 3.7.2 當前景點界面的開發(fā) 95 3.7.3 所有景點界面的開發(fā) 96 3.7.4 新浪微博功能的開發(fā) 97 3.7.5 搜索興趣點功能的開發(fā) 101 3.7.6 語言選擇功能的開發(fā) 102 3.7.7 建議反饋界面的開發(fā) 103 3.8 其他模塊的實現 104 3.8.1 娛樂、醫(yī)療、購物的實現 104 3.8.2 住宿版塊的實現 106 3.8.3 搜索模塊的實現 109 3.8.4 設置模塊的實現 112 3.9 本章小結 113 第4章 營銷管理系統(tǒng)手機汽車4S店 114 4.1 系統(tǒng)背景及功能介紹 114 4.1.1 手機汽車4S店背景簡介 114 4.1.2 手機汽車4S店功能概述 114 4.1.3 手機汽車4S店開發(fā)環(huán)境和 目標平臺 116 4.2 開發(fā)前的準備工作 117 4.2.1 數據庫設計 117 4.2.2 數據庫表設計 118 4.2.3 使用Navicat for MySQL創(chuàng)建 表并插入初始數據 121 4.3 系統(tǒng)功能預覽及總體架構 122 4.3.1 PC端預覽 122 4.3.2 Android客戶端功能預覽 125 4.3.3 Android客戶端項目目錄 結構 126 4.4 PC端的界面搭建與功能實現 127 4.4.1 用戶登錄功能的開發(fā) 127 4.4.2 主管理界面功能的開發(fā) 129 4.4.3 汽車車型管理功能的開發(fā) 130 4.4.4 汽車新聞管理功能的開發(fā) 134 4.4.5 信息反饋管理功能的開發(fā) 136 4.5 服務器端的實現 137 4.5.1 常量類的開發(fā) 137 4.5.2 服務線程的開發(fā) 137 4.5.3 DB處理類的開發(fā) 139 4.5.4 圖片處理類 140 4.4.5 輔助工具類 140 4.4.6 其他方法的開發(fā) 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客戶端與服務器 連接中各類功能的開發(fā) 167 4.9.3 其他方法的開發(fā) 168 4.10 本章小結 168 第5章 LBS交通軟件百納公交小助手 170 5.1 系統(tǒng)背景及功能介紹 170 5.1.1 背景簡介 170 5.1.2 模塊與界面概覽 170 5.1.3 開發(fā)環(huán)境 172 5.2 功能預覽及框架 172 5.2.1 項目功能預覽 172 5.2.2 項目目錄結構 175 5.3 開發(fā)前的準備工作 177 5.3.1 數據庫表的設計 177 5.3.2 百度地圖鍵值的申請 178 5.3.3 百度地圖的顯示 179 5.3.4 XML資源文件的準備 180 5.4 輔助工具類的開發(fā) 182 5.4.1 常量類的開發(fā) 182 5.4.2 工具類的開發(fā) 183 5.4.3 換乘路徑規(guī)劃工具類的開發(fā) 184 5.4.4 定位和獲取附近公交站 工具類的開發(fā) 185 5.5 各個功能模塊的實現 186 5.5.1 選擇城市界面模塊的實現 186 5.5.2 主界面模塊的實現 189 5.5.3 線路查詢模塊的實現 191 5.5.4 換乘方案查詢模塊的實現 200 5.5.5 定位附近站點模塊的開發(fā) 208 5.6 本章小結 215 第6章 校園服務類應用社團寶 216 6.1 應用背景及功能介紹 216 6.1.1 軟件背景簡介 216 6.1.2 軟件功能概述 216 6.1.3 軟件開發(fā)環(huán)境與目標平臺 218 6.2 功能預覽及架構 219 6.2.1 管理端功能預覽 219 6.2.2 Android端功能預覽 220 6.2.3 目錄結構圖 223 6.3 開發(fā)前的準備工作 224 6.3.1 數據庫設計 224 6.3.2 數據庫表設計 225 6.3.3 使用Navicat for MySQL創(chuàng)建 表并插入初始數據 228 6.4 服務器端的實現 229 6.4.1 常量類的開發(fā) 229 6.4.2 服務線程的開發(fā) 229 6.4.3 輔助工具類 231 6.4.4 其他方法的開發(fā) 232 6.5 管理端功能搭建及界面實現 233 6.5.1 用戶登錄功能的實現 233 6.5.2 主管理界面功能的開發(fā) 234 6.5.3 社團管理功能的開發(fā) 236 6.5.4 意見管理功能的開發(fā) 238 6.5.5 賬號管理功能的開發(fā) 238 6.6 Android客戶端各功能模板實現 240 6.6.1 整體框架的搭建 240 6.6.2 常量類的開發(fā) 244 6.6.3 自定義字體類的開發(fā) 244 6.6.4 啟動界面功能的實現 245 6.6.5 調用系統(tǒng)瀏覽器 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 新生小助手開發(fā)環(huán)境 265 7.2 功能預覽及架構 265 7.2.1 新生小助手功能預覽 266 7.2.2 新生小助手目錄結構圖 269 7.3 開發(fā)前的準備工作 271 7.3.1 文本信息的搜集 272 7.3.2 相關圖片的采集 274 7.3.3 數據包的整理 276 7.3.4 XML資源文件的準備 277 7.4 輔助工具類的開發(fā) 278 7.4.1 常量類的開發(fā) 278 7.4.2 圖片獲取類的開發(fā) 278 7.4.3 解壓文件類的開發(fā) 279 7.4.4 讀取文件類的開發(fā) 280 7.4.5 自定義字體類的開發(fā) 280 7.4.6 平面圖數據類的開發(fā) 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 系統(tǒng)的功能介紹 315 8.1.1 美食天下功能概述 315 8.1.2 應用開發(fā)環(huán)境和目標平臺 317 8.2 開發(fā)前的準備工作 317 8.2.1 數據庫設計 318 8.2.2 數據庫表的設計 319 8.2.3 使用Navicat Lite for MySQL 創(chuàng)建新表并插入初始數據 324 8.3 系統(tǒng)功能預覽及總體架構 325 8.3.1 PC端預覽 325 8.3.2 Android客戶端功能預覽 328 8.3.3 Android客戶端目錄結構圖 331 8.4 PC端的界面搭建與功能實現 332 8.4.1 用戶登錄功能的開發(fā) 332 8.4.2 主管理界面功能的開發(fā) 334 8.4.3 菜品添加功能的開發(fā) 335 8.4.4 菜品信息管理功能的開發(fā) 338 8.5 服務器端的實現 342 8.5.1 常量類的開發(fā) 342 8.5.2 服務線程的開發(fā) 343 8.5.3 DB處理類的開發(fā) 344 8.5.4 圖片處理類 345 8.5.5 其他方法的開發(fā) 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定位功能的開發(fā) 350 8.7.1 創(chuàng)建應用以及百度地圖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客戶端與服務器連接 中各類功能的開發(fā) 368 8.9.3 其他方法的開發(fā) 371 8.10 本章小結 371 第9章 音樂休閑軟件百納網絡音樂 播放器 372 9.1 系統(tǒng)的功能介紹 372 9.1.1 百納音樂播放器功能概述 372 9.1.2 百納音樂播放器開發(fā)環(huán)境和 目標平臺 373 9.2 開發(fā)前的準備工作 374 9.2.1 數據庫表的設計 374 9.2.2 數據庫表的創(chuàng)建 375 9.2.3 使用Navicat for MySQL創(chuàng)建 新表并插入初始數據 377 9.3 系統(tǒng)功能預覽及總體架構 378 9.3.1 PC端預覽 378 9.3.2 Android客戶端功能預覽 380 9.3.3 Android客戶端目錄結構圖 382 9.4 PC端的界面搭建與功能實現 383 9.4.1 用戶登錄功能的開發(fā) 383 9.4.2 主管理界面功能的開發(fā) 385 9.4.3 歌手管理功能的開發(fā) 386 9.4.4 歌曲管理功能的開發(fā) 389 9.4.5 專輯的功能的開發(fā) 390 9.5 服務器端的實現 392 9.5.1 常量類的開發(fā) 392 9.5.2 服務線程的開發(fā) 392 9.5.3 DB處理類的開發(fā) 394 9.5.4 圖片處理類 395 9.5.5 輔助工具類 395 9.5.6 其他方法的開發(fā) 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客戶端基本構架的開發(fā) 400 9.7.1 音樂播放器的基本構架 400 9.7.2 音樂播放模塊的開發(fā) 401 9.7.3 音樂切換模塊的開發(fā) 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客戶端與服務器連接 中各類功能的開發(fā) 419 9.9.3 其他方法的開發(fā) 421 9.10 本章小結 421 第 10章 中學教育AR應用化學可視 體驗 422 10.1 背景以及功能概述 422 10.1.1 開發(fā)背景概述 422 10.1.2 應用功能簡介 423 10.2 應用的策劃及準備工作 424 10.2.1 應用的策劃 424 10.2.2 開發(fā)前的準備工作 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 應用中著色器的開發(fā) 475 10.10.1 繪制3D模型的著色器 475 10.10.2 繪制2D界面的著色器 476 10.10.3 繪制波浪矩形的著色器 477 10.11 應用的優(yōu)化與改進 478 第 11章 益智類游戲污水征服者 480 11.1 游戲背景及功能概述 480 11.1.1 背景概述 480 11.1.2 功能介紹 480 11.2 游戲的策劃及準備工作 483 11.2.1 游戲的策劃 483 11.2.2 安卓平臺下游戲開發(fā)的 準備工作 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 單個網格節(jié)點類Node 529 11.7.3 物理計算類PhyCaulate 529 11.8 游戲中著色器的開發(fā) 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 游戲的優(yōu)化及改進 537 第 12章 生活服務類應用駕考寶典 538 12.1 應用背景及功能介紹 538 12.1.1 駕考寶典背景簡介 538 12.1.2 駕考寶典功能概述 539 12.1.3 開發(fā)環(huán)境與目標平臺 541 12.2 功能預覽及架構 542 12.2.1 安卓端功能預覽 542 12.2.2 PC端功能預覽 546 12.2.3 目錄結構圖 549 12.3 開發(fā)前的準備工作 549 12.3.1 數據庫設計 549 12.3.2 數據庫表設計 551 12.3.3 使用Navicat for MySQL 創(chuàng)建表并插入初始數據 552 12.4 服務器端的實現 553 12.4.1 常量類的開發(fā) 553 12.4.2 服務線程的開發(fā) 554 12.4.3 DB處理類的開發(fā) 555 12.4.4 圖片處理類 556 12.4.5 輔助工具類 557 12.4.6 其他方法的開發(fā) 560 12.5 PC端功能搭建及界面實現 560 12.5.1 用戶登錄功能的實現 560 12.5.2 主管理界面功能的開發(fā) 561 12.5.3 管理員信息及其他類型信息的開發(fā) 563 12.5.4 試題管理功能的開發(fā) 564 12.5.5 論壇管理功能的開發(fā) 566 12.6 Android客戶端各功能模板實現 566 12.6.1 整體框架的搭建 566 12.6.2 常量類的開發(fā) 569 12.6.3 側滑界面的實現 569 12.6.4 調用系統(tǒng)瀏覽器 571 12.6.5 啟動界面功能的實現 572 12.6.6 定位功能的實現 573 12.6.7 返回鍵的監(jiān)聽 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
你還可能感興趣
我要評論
|