內容簡介
本書是國內一本同時講述Android客戶端和PHP服務端開發的經典著作。本書以一個完整的微博應用項目實例為主綫,由淺入深地講解瞭Android客戶端開發和PHP服務端開發的思路和技巧。從前期的産品設計、架構設計,到客戶端和服務端的編碼實現,再到性能測試和係統優化,以及最後的打包發布,完整地介紹瞭移動互聯網應用開發的過程。同時,本書也介紹瞭Android係統中比較有特色的功能,比如Google地圖、LBS功能、傳感器、攝像頭、多媒體以及語音功能的使用等。此外,書中還介紹瞭AndroidNDK的開發以及Android遊戲開發的相關內容,包括OpenGL的使用、流行遊戲引擎Cocos2d-x和Unity3D。
目錄
前言
第一篇 準 備 篇
第1章 學前必讀 1
1.1 移動互聯網時代的來臨 1
1.2 為何選擇Android和PHP 2
1.2.1 Android平颱的優勢 2
1.2.2 PHP語言的優勢 2
1.3 如何學習Android和PHP 3
1.3.1 如何學習Android 3
1.3.2 如何學習PHP 4
1.3.3 同時學好Android和PHP 4
1.4 小結 5
第2章 Android開發準備 6
2.1 Android背景知識 6
2.2 Android係統框架 8
2.3 Android應用框架 11
2.3.1 活動(Activity) 12
2.3.2 消息(Intent) 14
2.3.3 視圖(View) 16
2.3.4 任務(Task) 17
2.4 Android係統四大組件 19
2.4.1 活動(Activity) 20
2.4.2 服務(Service) 21
2.4.3 廣播接收器(Broadcast Receiver) 23
2.4.4 內容提供者(Content Provider) 24
2.5 Android上下文 25
2.5.1 界麵上下文(Activity Context) 25
2.5.2 應用上下文(Application Context) 27
2.6 Android數據存儲 28
2.6.1 應用配置(Shared Preferences) 28
2.6.2 本地文件(Files) 29
2.6.3 數據庫(SQLite) 30
2.7 Android應用界麵 31
2.7.1 控件屬性 31
2.7.2 布局(Layout) 33
2.7.3 事件(Event) 37
2.7.4 菜單(Menu) 39
2.7.5 主題(Theme) 41
2.7.6 對話框(Dialog) 42
2.8 Android圖形界麵 43
2.8.1 畫筆(Paint) 43
2.8.2 畫布(Canvas) 44
2.8.3 基礎幾何圖形 46
2.8.4 常見圖形變換 47
2.9 Android動畫效果 50
2.9.1 逐幀動畫(Frame Animation) 50
2.9.2 補間動畫(Tween Animation) 51
2.10 Android開發環境 52
2.10.1 開發環境的搭建 53
2.10.2 首個Android項目 58
2.10.3 使用DDMS調試工具 63
2.11 小結 64
第3章 PHP開發準備 65
3.1 PHP開發基礎 65
3.1.1 PHP語言簡介 65
3.1.2 PHP語法簡介 66
3.1.3 PHP開發起步 68
3.1.4 PHP麵嚮對象編程 75
3.1.5 PHP的會話 78
3.2 PHP開發環境 80
3.2.1 開發環境的搭建 80
3.2.2 安裝配置Xampp 81
3.2.3 管理Apache 83
3.2.4 管理MySQL 84
3.3 使用JSON通信 87
3.4 常用PHP開發框架 88
3.5 認識Smarty模闆引擎 90
3.6 開發框架簡介 93
3.6.1 框架的特點和優勢 94
3.6.2 框架的基礎目錄結構 94
3.6.3 框架MVC思路講解 97
3.6.4 框架MVC實例分析 99
3.7 小結 108
第二篇 實 戰 篇
第4章 實例産品設計 109
4.1 為何選擇微博 109
4.2 開發前的準備 110
4.2.1 選擇開發模式 110
4.2.2 瞭解項目策劃 111
4.2.3 瞭解原型設計 112
4.3 功能模塊設計 112
4.4 應用界麵設計 114
4.5 應用架構設計 115
4.6 通信協議定義 116
4.7 數據庫結構設計 118
4.8 小結 120
第5章 程序架構設計 121
5.1 服務端程序架構設計 121
5.1.1 基礎框架設計 122
5.1.2 調試框架設計 127
5.1.3 核心類庫設計 130
5.1.4 服務端的MVC與SOA 136
5.2 客戶端程序架構設計 136
5.2.1 基礎框架設計 137
5.2.2 核心類包設計 138
5.2.3 Android應用的MVC 142
5.3 客戶端界麵架構設計 142
5.3.1 界麵框架設計 143
5.3.2 主要界麵設計 144
5.4 小結 146
第6章 服務端開發 147
6.1 開發入門 147
6.1.1 接口程序開發 147
6.1.2 調試框架開發 151
6.1.3 生成接口文檔 155
6.2 驗證接口 156
6.2.1 用戶登錄接口 156
6.2.2 用戶登齣接口 160
6.3 用戶接口 162
6.3.1 新建用戶接口 162
6.3.2 更新用戶信息接口 164
6.3.3 查看用戶信息接口 165
6.3.4 添加粉絲接口 167
6.3.5 刪除粉絲接口 171
6.4 微博接口 172
6.4.1 發錶微博接口 172
6.4.2 查看微博接口 174
6.4.3 微博列錶接口 176
6.5 評論接口 180
6.5.1 發錶評論接口 180
6.5.2 評論列錶接口 182
6.6 圖片接口 184
6.6.1 用戶頭像接口 185
6.6.2 頭像列錶接口 188
6.6.3 圖片上傳接口 189
6.7 通知接口 192
6.8 Web版接口 195
6.8.1 Web版UI界麵(jQuery Mobile) 196
6.8.2 Web版地圖接口 198
6.9 小結 199
第7章 客戶端開發 201
7.1 開發入門 201
7.1.1 開發思路梳理 201
7.1.2 掌握應用配置文件 203
7.1.3 常規程序開發與調試 214
7.2 界麵布局和行為控製 224
7.2.1 使用Layout布局 224
7.2.2 使用Merge整閤界麵 227
7.2.3 使用Event控製用戶行為 229
7.2.4 使用Intent控製界麵切換 231
7.3 網絡通信模塊 234
7.3.1 使用HttpClient進行網絡通信 234
7.3.2 支持CMWAP網絡接入方式 240
7.3.3 使用JSON庫為消息解碼 243
7.3.4 使用Toast消息提示 248
7.4 異步任務模塊 250
7.4.1 進程和綫程 250
7.4.2 任務創建Thread 252
7.4.3 任務處理Handler 258
7.4.4 使用異步任務AsyncTask 260
7.5 全局功能模塊 262
7.5.1 全局UI基類 262
7.5.2 全局Menu菜單 267
7.5.3 全局Dialog窗口 268
7.5.4 使用Service獲取通知 269
7.5.5 使用Notification顯示通知 273
7.6 用戶登錄界麵 276
7.6.1 界麵程序邏輯 276
7.6.2 使用TextView 276
7.6.3 使用EditText 277
7.6.4 使用Button 279
7.6.5 使用Shape和Selector 280
7.6.6 使用CheckBox 282
7.6.7 使用SharedPreference 283
7.7 微博列錶界麵 284
7.7.1 界麵程序邏輯 284
7.7.2 使用ListView 289
7.7.3 使用ImageView 293
7.7.4 使用draw9patch 295
7.7.5 異步獲取遠程圖片 297
7.7.6 使用SdCard緩存圖片 300
7.7.7 使用SQLite緩存數據 303
7.8 我的微博列錶 306
7.8.1 界麵程序邏輯 306
7.8.2 使用ScrollView 312
7.8.3 使用自定義微博列錶 313
7.9 微博文章界麵 316
7.9.1 界麵程序邏輯 316
7.9.2 界麵布局進階(綜閤使用UI控件) 322
7.9.3 發錶評論功能實現 325
7.9.4 發錶微博功能實現 329
7.9.5 圖片微博功能實現 331
7.10 用戶配置界麵 341
7.10.1 界麵程序邏輯 341
7.10.2 使用自定義選項列錶 346
7.10.3 修改簽名功能實現 347
7.10.4 更換頭像功能實現 348
7.11 網頁界麵開發 353
7.11.1 界麵程序邏輯 353
7.11.2 使用WebView 354
7.11.3 使用ProgressDialog 356
7.11.4 使用WebView的重寫和迴調 359
7.11.5 網頁地圖實例分析 361
7.12 小結 362
第三篇 優 化 篇
第8章 性能分析 365
8.1 關於性能測試 365
8.1.1 服務端壓力測試 366
8.1.2 客戶端性能測試 373
8.2 瓶頸 378
8.2.1 服務端瓶頸分析 379
8.2.2 客戶端瓶頸分析 380
8.3 優化的思路 380
8.4 小結 381
第9章 服務端優化 382
9.1 優化PHP程序 382
9.1.1 優化PHP代碼 382
9.1.2 優化Session機製 385
9.1.3 使用緩存中間件 387
9.1.4 使用APC加速 390
9.2 優化數據傳輸 391
9.2.1 優化JSON協議 391
9.2.2 使用gzip壓縮 393
9.3 其他優化 394
9.3.1 服務器優化 394
9.3.2 數據庫優化 397
9.3.3 網絡優化 400
9.4 小結 400
第10章 客戶端優化 401
10.1 優化Android程序 401
10.1.1 優化Java代碼 401
10.1.2 異步獲取數據 405
10.1.3 文件資源緩存 405
10.1.4 數據庫緩存 406
10.2 避免內存泄露 406
10.2.1 Android內存管理 406
10.2.2 如何判斷內存泄露 407
10.2.3 常見內存泄露的處理 409
10.3 優化Android UI 410
10.3.1 模闆代碼優化 410
10.3.2 關於布局優化 411
10.3.3 使用Hierarchy Viewer工具 416
10.4 其他優化 417
10.4.1 優化圖片 417
10.4.2 優化APK包 417
10.4.3 使用keytool和jarsigner簽名 418
10.4.4 使用zipalign優化 421
10.5 小結 422
第四篇 進 階 篇
第11章 Android特色功能開發 423
11.1 使用Google Map API 423
11.2 使用LBS功能 428
11.3 使用傳感器 433
11.4 使用攝像頭 436
11.5 多媒體開發 445
11.6 語音識彆 453
11.7 小結 455
第12章 Android NDK開發 456
12.1 NDK開發基礎 456
12.1.1 使用NDK的原因 456
12.1.2 使用NDK調用C或C++ 457
12.1.3 Android.mk和Application.mk 459
12.2 NDK開發入門 462
12.2.1 開發環境搭建 462
12.2.2 首個NDK項目 463
12.3 小結 470
第13章 Android遊戲開發 471
13.1 手遊開發基礎 471
13.1.1 手遊開發思路解析 471
13.1.2 貪食蛇和飛船遊戲實例 476
13.1.3 認識Android遊戲引擎 478
13.1.4 使用OpenGL和OpenGL ES 480
13.1.5 使用RenderScript 486
13.2 手遊開發進階 488
13.2.1 認識Cocos2d-x 489
13.2.2 架設Cocos2d-x開發環境 489
13.2.3 首個Cocos2d-x項目 489
13.2.4 認識Unity 3D 501
13.3 小結 503
附錄A Hush Framework框架實例源碼部署 504
附錄B 微博應用實例源碼部署 509
前言/序言
2015年,移動互聯網革命已經到瞭白熱化的階段,一個充滿機遇的巨大市場已經開啓,全球無數的行業精英都已投身其中,書寫齣不少令人矚目的傳奇事跡;對於我們普通的開發者來說,則更需要做好準備,迎接隨時可能到來的機遇和挑戰。Android和PHP,作為目前移動互聯網領域中最熱門的兩門技術,早已受到廣大開發者們的關注。
本書是目前市麵上唯一一本同時講述Android客戶端開發和PHP服務端開發兩方麵內容,並且能把Android和PHP技術相結閤的移動應用開發方案分析透徹的書籍。通過本書,你不僅可以學習到Android客戶端開發技巧,同時還可以掌握PHP服務端開發的精華,甚至還可以開拓你進行軟件架構的思路。選擇瞭本書,你就真正找到瞭一條能夠精通“Android客戶端和PHP服務端開發”的捷徑!
本書的寫作風格大眾化,注重實用性,章節精心編排,講解由淺入深,力求讓讀者能夠在最快的時間內上手,同時也可以拓寬讀者在移動互聯網應用開發方麵的思路。特彆要指齣的是,本書的代碼實例都源自真實的項目,實用價值極高。此外,書中很多內容都融閤瞭筆者多年來在互聯網軟件架構方麵的經驗。總而言之,本書絕對是一本不可多得的經典之作!
如何使用本書在開始閱讀本書之前,請您先閱讀以下內容,以確保能最快地瞭解本書的思路和結構,並快速地找到最適閤自己的閱讀方式。考慮到實用性,也為瞭讓思路更清晰,本書獨創性地采用瞭“項目跟進式”的結構,以具有代錶性的“微博應用”實例項目為主綫,貫穿始終。全書內容分為四大部分:準備篇、實戰篇、優化篇、進階篇,簡介如下。
? 準備篇:本篇主要介紹Android和PHP開發中需要用到的基礎概念與用法,為後麵的“實戰篇”做準備。不管做什麼事情,打好基礎是至關重要的,所以筆者建議大傢好好閱讀本篇內容。
? 實戰篇:在本篇中,我們將帶領您逐步完成一個完整的“微博應用”項目,從前期的産品設計、架構設計,到服務端和客戶端的編碼,直至最後的大功告成,整個過程一氣嗬成,讓讀者感覺仿佛親身參與到這個項目中,以達到最好的學習效果。
? 優化篇:係統優化已經成為當代軟件開發過程中至關重要的一個環節。在本篇中,讀者將學到一些從實際項目中總結齣的非常實用的優化經驗和技巧;如果您想更深入地學習使用Android平颱和PHP語言,絕不能錯過本篇。
? 進階篇:本篇包含一些Android開發中的進階內容,主要包括Android NDK和Android遊戲開發相關的入門知識。此外,本篇內容還涉及OpenGL、RenderScript相關的高級用法,以及包括Cocos2d-x和Unity 3D在內的主流遊戲引擎的相關知識,適閤希望進一步學習的讀者閱讀。
本書共13章,每章的主要內容見下麵的“章節簡介”,方便讀者快速查找感興趣的部分。
章節簡介第1章 學前必讀本章的主要目的是讓讀者對移動互聯網應用開發有一個比較清晰的認識,同時講清楚選擇Android加PHP這套解決方案的原因,並嚮讀者介紹在學習過程中所要使用的正確的學習方法和思路。
第2章 Android開發準備本章內容包含瞭對Android係統框架、Android應用程序框架、Android圖形界麵係統以及Android常見開發思路的介紹。另外,通過本章的學習,讀者還將學會如何安裝和使用Android的開發環境和必備工具(Eclipse和ADT),並學會創建自己的第一個Android項目(Hello World項目),由此開始您的Android開發之旅。
第3章 PHP開發準備通過本章的學習,您將快速地學會如何使用PHP進行服務端開發,如果您已經有一定的服務端開發基礎,學習起來會更加輕鬆。當然,本章也包括PHP開發環境(Xampp)的架設和一些其他配套服務端組件(Apache和MySQL)的基礎管理。最後,本章還重點介紹瞭一個基於Zend Framework和Smarty的PHP開發框架:Hush Framework,本書實例的服務端正是采用這個框架進行開發的。
第4章 實例産品設計從這一章開始,我們將動手完成一個完整的移動互聯網項目,即“微博應用”實例的項目。本章所講的主要是項目的前期工作,包括功能模塊設計以及一些項目策劃的內容。當然,如果您是項目管理人員,可能會比開發者們對本章更感興趣,裏麵所涉及的一些設計方法和思路,均是很實用的經驗。
第5章 程序架構設計本章應該算是本書的核心章節之一,這裏我們將對“微博應用”項目實例的服務端以及客戶端的整體代碼框架進行深入的剖析。由於架構設計是整個項目的基礎,所以如果您要繼續往下學習,就必須把這裏的思路都理清楚。如果您善於思考,應該能從本章學習到不少Android和PHP應用架構的精髓。
第6章 服務端開發本章也是本書的重點章節之一,這裏我們將在第5章的服務端架構基礎上展開,分析和講解實例服務端的代碼邏輯和寫法,帶領您進一步深入認識PHP服務端開發的方法。讀者可以將本章的部分章節內容和第7章的部分章節內容進行對照閱讀,這樣對理解移動互聯網應用的開發思路會很有幫助。
第7章 客戶端開發本章也是本書的重點章節之一,在本章中你可以逐步學習Android應用開發的實用技巧,以及如何在客戶端與服務器之間進行通信(包括圖片的上傳和展示)。通過對本章的學習,讀者不僅能學會如何正確地使用這些開發技巧,更重要的是還能掌握如何把這些技巧運用到實際項目中去,這是完全不同的兩個境界,也正是本書最寶貴、最特彆的地方,希望大傢能好好閱讀和體會。
第8章 性能分析有過項目實戰經驗的朋友應該都知道,其實在編碼階段完成之後,項目最多也纔進行瞭一半,後麵還有很多的事情需要我們來做,而性能測試和優化就是其中非常重要的一個環節,本章我們將對性能分析的相關內容進行詳細介紹。另外,在本章中,讀者也可以學到一些非常實用的優化思路和經驗。
第9章 服務端優
Android和PHP開發最佳實踐(第2版) 下載 mobi epub pdf txt 電子書 格式