宣傳語
全面介紹Android平台的控制項開發,並配有典型實例
每段代碼都有詳細的解析,讓你明白來龍去脈
內 容 簡 介
全書分為三篇共18章,第一篇以簡單易懂的實例為依託,詳細介紹了Android平台的基本控制項、高級控制項、常用界面布局及選單對話框等相關知識;第二篇介紹了Android平台的高級知識,包括訊息與廣播服務、網路數據處理、手機通信功能、
桌面組件、多媒體採集、Google服務及3D程式開發等;第三篇則對三個真實案例的開發步驟進行詳細介紹,逐步向讀者講解Android手機應用程式的真實開發過程,同時在
原始碼中還包含了詳細的注釋,以儘量幫助讀者掌握代碼中的每一個細節,儘快掌握Android編程。
本書的講述由淺入深,從介紹Android平台的基本組件到帶領讀者開發大型應用程式,結構清晰、語言簡潔,非常適合初學者和進階開發者閱讀參考。
本書附贈DVD光碟1張,其中包含了大容量的手把手教學視頻、電子教案(PPT)、實例原始碼等。
前 言
Android是Google於2007年11月推出的一款開放的
嵌入式作業系統平台,由於其完全開源的特性,Android正以空前的速度吸引著大批開發者的加入。為了幫助眾多的軟體開發人員儘快地掌握Android平台的相關知識,儘快地步入實際項目的開發中來,作者根據多年項目開發經驗編寫了此書。
本書既介紹了Android應用程式基本框架,也對Android平台的各種控制項進行了講解,還通過三個真實案例向讀者介紹了Android應用程式完整的開發步驟。通過本書讀者可以儘快地掌握在Android平台下進行開發的相關知識。
本書特點
1.內容飽滿,由淺入深
本書內容既包括Android平台下開發的基礎知識,也有項目編程的實用技巧,還提供了多個真實案例供讀者學習。本書在知識的層次上由淺入深,使讀者可以從Android的門外漢平穩、快速地步入Android開發的殿堂。
2.結構清晰、語言簡潔
本書中所有案例都是按照筆者的實際開發過程進行介紹的,同時也是按照真實項目的開發流程進行的,結構清晰,語言簡潔,便於實際練習。為了幫助讀者更好地理解相關知識點,全書穿插了很多實用技巧及溫馨提示。
3.實用超值的光碟
為了幫助讀者更好地掌握與實踐Android平台下應用程式的開發,本書附贈DVD光碟一張,其中包括案例的多媒體視頻、電子教案(PPT)和實例原始碼等。
4.實際商業案例
本書最後的三個案例都有實際商業價值,如果進行開發,價格要數萬元,筆者將其完整地展現給了讀者。
本書內容導讀
本書共分三篇,第一篇介紹了在Android平台下進行應用程式開發的基本知識,主要對Android應用程式框架及用戶界面的開發進行了介紹。章 名 主 要 內 容
第1章 Android開發起步 簡要說明Android平台的來歷及其特性,同時介紹了在Android平台下開發用戶界面的基本知識
第2章 Android應用程式的構成 對Android平台下的應用程式構成進行了介紹,同時還介紹了應用程式基本組件(如Activity等)的相關知識
第3章 Android布局管理器 初步介紹Android平台下用戶界面的開發,主要對布局管理器(如線性布局等的用法)進行了介紹
第4章 Android常用基本控制項 介紹了Android平台用戶界面中基本控制項(如按鈕和文本框等)的特性及其用法
第5章 Android常用高級控制項 繼續上一章的內容,對Android平台用戶界面中的高級控制項的相關知識和用法進行了介紹
第6章 選單與對話框 介紹了Android平台選項選單、上下文選單和子選單等的相關知識,同時還將各種對話框的用法進行了詳細的介紹
第7章 Android事件處理模型 對Android平台下用戶界面開發中常用到的事件處理模型進行了介紹
第二篇介紹如何在Android平台下進行高級應用程式的開發,包括遊戲和基於OpenGL ES的3D應用程式的開發,以及與針對手機特性和網路服務程式的開發。
章 名 主 要 內 容
第8章 遊戲與3D應用程式開發 向讀者介紹了在Android平台下進行遊戲開發的相關知識,同時還對Android平台下3D應用程式的開發進行了初步介紹
第9章 訊息廣播與服務 對Android平台下基於Intent的訊息廣播機制進行了介紹,同時通過一個比較大的案例說明Service組件的用法
第10章 網路與數據處理 簡要介紹了在Android平台下進行網路編程的相關知識,同時還對Android平台下的SQLite等數據處理機制進行了介紹
第11章 手機通信功能開發 通過實例對Android平台下基於手機通信功能(如打電話、發簡訊和?>
E-mail)的開發進行了介紹
第12章 手機特有Feature開發 介紹了如何基於Android平台對手機的特性進行開發,如改變壁紙、控制手機振動和音量等
第13章 桌面組件與多媒體數據採集 簡單介紹了如何在Android平台下開發包括捷徑和實時資料夾等在內的桌面組件的流程,以及如何在程式中對多媒體數據(如音頻和圖像)等進行採集的步驟
第14章 感測器套用的開發 對Android平台下感測器的相關知識進行了簡單介紹,並通過案例來講解開發基於感測器的應用程式的步驟
第15章 Google服務 介紹了在應用程式中與Google提供的如Google Map等網路服務進行混搭的開發步驟
第三篇以三個比較大的案例來說明Android平台下大型套用的開發流程,通過這三個案例的講解,讀者對Android開發將會有更深層次的理解。
章 名 主 要 內 容
第16章 Android遊戲開發實踐——快樂數獨 介紹了手機遊戲《快樂數獨》的開發,通過該案例向讀者介紹了在Android平台下進行遊戲開發的相關知識和基本流程,並對遊戲開發中的編程技巧進行了介紹
第17章 Android地圖搜尋套用——美食天下 介紹了地圖搜尋套用《美食天下》的開發,該套用包括Web端和Android手機端,通過該案例向讀者介紹了在Android平台下開發大型套用的基本步驟
第18章 Android社交分享平台——口袋微博 介紹了社交分享平台《口袋微博》的開發,該平台包括Web端和Android手機端,通過該案例向讀者介紹了基於
客戶端/伺服器模式的網路應用程式開發的基本步驟
本書面向的讀者
本書的內容十分詳細,幾乎涵蓋了Android相關的所有技術,並向讀者介紹了真實項目的開發流程,主要面向以下讀者。
Android初學者:本書詳細介紹了Android的基礎知識及各種控制項,並對Android平台下3D程式的開發進行了介紹,Android初學者通過本書可以快速、全面地掌握Android平台相關知識,快速地步入Android開發人員的行列。
有一定Java基礎且希望學習Android開發的讀者:Android平台下的開發基於
Java語言,有一定Java基礎的讀者通過閱讀本書的前半部分便可快速地掌握Android的各種組件及基礎控制項,然後通過三個真實案例的學習迅速地掌握Android平台下的應用程式開發。
在職的開發人員:本書中的案例都是作者精心挑選的,其中涉及的相關知識均是作者多年來積累的編程經驗及心得體會。具有一定開發經驗的在職開發人員可以通過本書進一步鞏固Android的基礎知識,並迅速成為高級的Android開發人員。
本書作者
吳亞峰,畢業於
北京郵電大學,後留學
澳大利亞臥龍崗大學取得碩士學位。1998年開始從事Java的開發,有十多年的Java開發與培訓經驗。主要的研究方向為手機遊戲、Java EE、搜尋引擎,現為手機遊戲、Java EE獨立
軟體開發工程師,同時兼任Sun授權Java培訓中心認證教師。為數十家著名企業培訓了上千名軟體開發人員,曾編寫過《Java SE 6.0編程指南》、《30天學通Java Web項目案例開發》、《Java程式設計師職場全攻略:從小工到專家》、《Android 2.0遊戲開發實戰寶典》等暢銷技術書籍。2008年開始關注Android平台下的套用開發,並開發出一系列優秀的Android應用程式。
索依娜,畢業於
燕山大學,從業於計算機軟體領域9年,在軟體開發和計算機教學方面有著豐富的經驗。工作期間曾參與省級科研項目2項、市級科研項目1項、發表論文多篇;同時為多個廠礦,企事業單位設計、開發了
信息管理系統;從2008年開始關注Android平台下套用的開發,參與開發了多款手機娛樂套用。
另外,昊燃、
方振宇、陳冠佐、傅奎、
陳勤、梁洋洋、畢夢飛、
陳慶、柴相花、陳非凡、
陳華、
陳嵩、承卓也參與了本書的編寫。在此表示感謝!
本書在編寫過程中得到了唐山百納科技有限公司Java培訓中心的大力支持,同時
於庭龍、
魏鵬飛、
王海峰及作者的家人為本書的編寫提供了很多幫助,在此表示衷心感謝!
由於編者的水平和學識有限,且書中涉及的知識較多,難免有疏漏之處,敬請廣大讀者朋友批評指正。
編者
目 錄
基 礎 篇
第1章 Android開發起步 19
本章將要介紹的是Android開發起步的相關知識,首先對Android平台進行簡單的介紹,其中包括Android的背景及其應用程式的框架。然後會向讀者講解如何搭建Android的開發環境、如何在Eclipse中創建一個項目,以及如何使用Android平台提供的工具調試和監控應用程式。
1.1 Android平台簡介 19
1.1.1 Android背景介紹 19
1.1.2 Android平台架構 20
1.2 Android開發環境的搭建 22
1.2.1 相關軟體的下載與安裝 22
1.2.2 虛擬設備的創建和使用 25
1.2.3 創建“Hello Android” 27
1.2.4 Android應用程式的調試 28
1.3 小結 31
第2章 Android應用程式的構成 32
本章主要對Android的基本組件及Android應用程式的構成進行介紹,同時還將對Android應用程式的生命周期進行分析,主要目的是讓讀者了解Android應用程式的構成,掌握Android基本組件的特性及使用方法。
2.1 Android應用程式的解析 32
2.1.1 目錄結構 32
2.1.2 資源的管理與使用 33
2.1.3 AndroidManifest.xml簡介 36
2.1.4 應用程式的許可權 37
2.2 Android基本組件的介紹 38
2.2.1 應用程式的生命周期 38
2.2.2 Activity簡介 39
2.2.3 Service簡介 41
2.2.4 BroadcastReceiver簡介 44
2.2.5 ContentProvider簡介 45
2.2.6 Intent和IntentFilter簡介 46
2.3 小結 50
第3章 Android布局管理器 51
本章要介紹的內容為Android平台下的布局管理器。Android中的布局包括線性布局、表格布局、相對布局、幀布局和絕對布局。下面將分別對每個布局管理器進行詳細的介紹。
3.1 控制項類概述 51
3.1.1 View類簡介 51
3.1.2 ViewGroup類簡介 52
3.2 線性布局 52
3.2.1 LinearLayout類簡介 52
3.2.2 線性布局案例 53
3.3 表格布局 55
3.3.1 TableLayout類簡介 55
3.3.2 表格布局案例 56
3.4 相對布局 60
3.4.1 RelativeLayout類簡介 60
3.4.2 相對布局案例 61
3.5 幀布局 63
3.5.1 FrameLayout類簡介 63
3.5.2 幀布局案例 63
3.6 絕對布局 65
3.6.1 AbsoluteLayout類簡介 65
3.6.2 絕對布局案例 66
3.7 小結 69
第4章 Android常用基本控制項 70
本章將對進行用戶界面開發時常用到的Android基本控制項進行介紹,主要包括文本框、按鈕、單選按鈕和複選按鈕、狀態開關按鈕和日期時間控制項等。了解這些基本控制項的工作方式有助於學習後面要介紹的Android中的高級控制項。
4.1 文本控制項的介紹 70
4.1.1 TextView類簡介 70
4.1.2 EditText類簡介 71
4.1.3 文本框使用案例 71
4.2 按鈕控制項 75
4.2.1 Button類簡介 75
4.2.2 ImageButton類簡介 77
4.2.3 9Patch圖片簡介 79
4.2.4 9Patch圖片使用案例 80
4.3 狀態開關按鈕 81
4.3.1 ToggleButton類簡介 81
4.3.2 開關按鈕的使用 82
4.4 單選按鈕與複選按鈕 84
4.4.1 CheckBox和RadioButton類簡介 84
4.4.2 單選按鈕和複選按鈕使用案例 84
4.5 圖片控制項 87
4.5.1 ImageView類簡介 87
4.5.2 圖片查看器 88
4.6 時鐘控制項 91
4.6.1 AnalogClock和DigitalClock類簡介 91
4.6.2 時鐘控制項使用案例 91
4.7 日期與時間選擇控制項 92
4.7.1 DatePicker類簡介 92
4.7.2 TimePicker類簡介 93
4.7.3 日期時間控制項使用案例 93
4.8 動畫播放技術 95
4.8.1 幀動畫簡介 95
4.8.2 幀動畫使用案例 96
4.8.3 補間動畫簡介 98
4.8.4 補間動畫使用案例 99
4.9 小結 101
第5章 Android常用高級控制項 102
上一章已經介紹了Android中的一些基本控制項,本章將繼續上一章的思路,對Android中常用的高級控制項逐一進行介紹。
5.1 自動完成文本框 102
5.1.1 AutoCompleteTextView類簡介 102
5.1.2 自動完成文本使用案例 102
5.2 滾動視圖 104
5.2.1 ScrollView類簡介 104
5.2.2 滾動視圖使用案例 104
5.3 列表視圖 105
5.3.1 ListView類簡介 105
5.3.2 列表視圖使用案例 105
5.4.1 GridView類簡介 108
5.4.2 格線視圖使用案例 109
5.5 滑塊與進度條 113
5.5.1 ProgressBar類簡介 113
5.5.2 SeekBar類簡介 113
5.5.3 滑塊和進度條案例 113
5.6 星級滑塊 115
5.6.1 RatingBar類簡介 115
5.6.2 星級滑塊使用案例 115
5.7 選項卡 117
5.7.1 TabHost類簡介 117
5.7.2 選項卡使用案例 117
5.8 畫廊控制項 120
5.8.1 Gallery類簡介 120
5.8.2 畫廊控制項使用案例 121
5.9 下拉列表控制項 122
5.9.1 Spinner類簡介 123
5.9.2 下拉列表使用案例 123
5.10 小結 126
第6章 選單與對話框 127
在前面的章節中介紹了Android平台下開發用戶界面時常用的基本控制項與高級控制項,但在實際開發中只運用這些控制項是不夠的。本章將介紹用戶界面中選單與對話框的開發,同時還會對Android平台下的Toast和Notification進行介紹。
6.1 選單功能的開發 127
6.1.1 選項選單和子選單簡介 127
6.1.2 選項選單和子選單使用案例 129
6.1.3 上下文選單 134
6.2 對話框功能的開發 137
6.2.1 對話框簡介 137
6.2.2 普通對話框 138
6.2.3 列表對話框 141
6.2.4 單選按鈕對話框 143
6.2.5 複選框對話框 145
6.2.6 日期及時間選擇對話框 147
6.2.7 進度對話框 151
6.3 訊息提示 153
6.3.1 Toast的使用 153
6.3.2 Notification的使用 155
6.4 小結 158
第7章 Android事件處理模型 159
本章將對Android平台用戶界面的各種事件回響進行詳細介紹,以加深讀者對Android平台的事件處理模型的理解,熟練掌握控制項的各種事件處理方法。
Android平台的事件處理機制有兩種,一種是基於回調機制的,一種是基於監聽接口的,接下來會分別對其進行介紹。
7.1 基於回調機制的事件處理 159
7.1.1 onKeyDown方法簡介 159
7.1.2 onKeyUp方法簡介 161
7.1.3 onTouchEvent方法簡介 162
7.1.4 onTrackBallEvent方法簡介 164
7.1.5 onFocusChanged方法簡介 165
7.2 基於監聽接口的事件處理 167
7.2.1 Android的事件處理模型 167
7.2.2 OnClickListener接口簡介 168
7.2.3 OnLongClickListener接口簡介 170
7.2.4 OnFocusChangeListener接口簡介 172
7.2.5 OnKeyListener接口簡介 176
7.2.6 OnTouchListener接口簡介 178
7.2.7 OnCreateContextMenuListener接口簡介 180
7.3 Handler訊息傳遞機制 181
7.3.1 Handler類簡介 181
7.3.2 Handler使用案例 181
7.4 小結 184
高 級 篇
第8章 遊戲與3D應用程式開發 185
Android平台下的套用開發,一般來說主要分為商業套用和遊戲兩種,在開發商業套用時主要會用到本書前面章節曾介紹過的控制項和選單對話框等知識,而開發遊戲時就只能自己定義各種控制項和界面了。本章將要介紹如何在Android平台下使用View和SurfaceView開發遊戲,在本章的最後還將對Android平台下進行3D場景的開發進行簡單的介紹。
8.1 自定義View的使用 185
8.1.1 MyView類的開發 185
8.1.2 MyThread類的開發 188
8.1.3 Activity部分代碼的開發 189
8.2 SurfaceView的使用 190
8.2.1 GameView類的開發 191
8.2.2 BallGoThread類的開發 195
8.2.3 TimeThread類的開發 198
8.2.4 GameViewDrawThread類的開發 198
8.2.5 Sample_8_2類的開發 199
8.3 GLSurfaceView與3D 200
8.3.1 OpenGL ES簡介 200
8.3.2 3D開發的基本知識 201
8.3.3 第一個3D圖形示例 202
8.3.4 3D穀倉的開發 206
8.4 小結 212
第9章 訊息廣播與服務 213
本章將對Android的訊息廣播機制及服務組件進行詳細介紹。在很多應用程式中,都會通過廣播形式來傳送和接收訊息。當應用程式接收到訊息後,一般啟動一個Activity或者一個Service進行處理。本章將對之前介紹過的服務組件Service進行詳細介紹,章末通過對一個單機版的音樂播放盒的介紹幫助讀者掌握服務組件的使用方法。
9.1 BroadcastReceiver組件 213
9.1.1 BroadcastReceiver類簡介 213
9.1.2 基於廣播的案例 214
9.2 Service組件 216
9.2.1 Service類簡介 217
9.2.2 基於服務的案例 217
9.3 單機版音樂盒的實現 220
9.4 小結 228
第10章 網路與數據處理 229
本章要介紹的內容是Android平台下進行網路編程及數據處理的相關知識,內容包括網路通信的幾種方式(如使用Socket、URL、Socket等)、如何使用WebView瀏覽網頁,以及檔案的上傳和下載。最後介紹訪問手機存儲卡的方法及如何在程式中使用SQLite資料庫。
10.1 使用Socket進行通信 229
10.1.1 Socket服務端的開發 229
10.1.2 Socket客戶端的開發 230
10.2.1 通過URL獲取網路資源 232
10.2.2 通過HTTP請求網路資源 235
10.3 使用WebView進行網路開發 239
10.3.1 使用WebView瀏覽網頁 239
10.3.2 使用WebView執行HTML代碼 244
10.4 SQLite資料庫 246
10.4.1 資料庫的基本操作 246
10.4.2 個人通訊錄的實現之資源檔案的組織和開發 247
10.4.3 個人通訊錄的實現之功能代碼的開發 250
10.5 訪問存儲卡 255
10.5.1 獲取存儲卡容量 255
10.5.2 讀取存儲卡信息 257
10.6 小結 259
第11章 手機通信功能開發 260
本章將對Android手機通信功能的開發進行介紹,其中包括簡訊的收發及狀態查詢、電話的撥打與接聽、來電的過濾和E-mail郵件的收發等,通過本章的學習,讀者應該能夠對Android平台手機通信功能有一定的了解。
11.1 簡訊控制 260
11.1.1 簡訊的傳送 260
11.1.2 短訊息提示 263
11.1.3 短訊息群發 267
11.1.4 查詢傳送狀態 271
11.2 電話控制 274
11.2.1 撥打電話 274
11.2.2 過濾電話 279
11.2.3 查詢當前狀態 279
11.3 E-mail相關功能開發 281
11.3.2 傳送E-mail 281
11.4 小結 282
第12章 手機特有Feature開發 283
本章將要介紹的是Android手機特有Feature的開發,主要包括回響系統設定更改事件、設定手機外觀和其他的特性。同時還將介紹如何在程式中獲取SIM卡和電池電量等信息,最後將以手機鬧鐘為例講述如何自己開發特定功能的手機套用。
12.1 系統設定更改的事件 283
12.1.1 Configuration類簡介 283
12.1.2 回響Configuration的變化 284
12.2 手機外觀更改和提醒設定 286
12.2.1 手機壁紙的改變 286
12.2.2 手機振動的設定 290
12.2.3 音量調節 293
12.3 TelephonyManager的使用 296
12.3.1 TelephonyManager類簡介 297
12.3.2 TelephonyManager的使用案例 297
12.4 手機電池電量 300
12.4.1 原理概述 300
12.4.2 電量提示案例 301
12.5 手機鬧鐘 302
12.5.1 AlarmManager簡介 303
12.5.2 開發鬧鐘套用 303
12.6 小結 306
第13章 桌面組件與多媒體數據採集 307
本章將介紹Android中桌面組件及多媒體相關程式的開發,其中包括桌面捷徑、實時資料夾、桌面控制項、聲音及圖像的採集等。
13.1 桌面組件的介紹 307
13.2 桌面捷徑 307
13.2.1 通過應用程式創建捷徑 307
13.2.2 向Launcher添加捷徑 310
13.3 實時資料夾 311
13.3.1 創建Activity 311
13.3.2 創建ContentProvider 312
13.4 桌面控制項 313
13.4.1 桌面控制項概述 313
13.4.2 開發簡單的桌面控制項 314
13.5 多媒體數據採集 315
13.5.1 錄音 316
13.5.2 圖像採集 319
13.6 小結 323
第14章 感測器套用的開發 324
Android系統的一大亮點之一就是對感測器的套用,利用感測器可以開發出很多新奇有趣的程式,小到水平儀、計步器,大到感測器遊戲,本章將詳細介紹各種感測器的原理及使用方法,並通過一個水平儀的開發向讀者介紹感測器套用的開發方法,以及如何在模擬器中模擬各種感測器。
14.1 Android平台下感測器簡介 324
14.1.1
加速度感測器Accelerometer 324
14.1.2 姿態感測器Orientation 329
14.1.3 磁場感測器Magnetic Field 332
14.1.4 溫度感測器Temperature 333
14.1.5 光感測器Light 336
14.2 感測器套用案例 337
14.2.1 開發前的準備工作 337
14.2.2 自定義View的開發 337
14.2.3 開發主邏輯代碼 339
14.2.4 運行與調試 342
14.3 小結 342
第15章 Google服務 343
本章將介紹如何在Android平台下開發基於Google服務的應用程式。Google提供了諸如GPS定位、Google Map、天氣預報、
網路相冊和線上翻譯等多種服務,將這些服務融合到應用程式中將會帶來非常好的用戶體驗。
15.1 使用GPS獲取位置 343
15.1.1 LocationManager及相關類簡介 343
15.1.2 獲取位置信息案例 344
15.2 Google Map的使用 347
15.2.1 獲取Map API Key 347
15.2.2 創建模擬器 348
15.2.3 Google Map地圖查詢套用 349
15.2.4 Google Map導航套用 354
15.3 天氣預報 360
15.3.1 使用SAX解析XML 360
15.3.2 使用Google API獲取天氣信息 360
15.4 口袋詞典 364
15.4.1 Google Translate API簡介 364
15.4.2 口袋詞典的實現 365
15.5 Google街景 369
15.5.1 Android整合Google街景服務的原理 369
15.5.2 在程式中調用Google街景 369
15.6 小結 372
案 例 篇
第16章 Android遊戲開發實踐——快樂數獨 373
益智類遊戲是一種比較流行的遊戲,其畫面大都比較簡單,很少有很複雜的遊戲特效,但是通常用到人工智慧的算法來控制遊戲的難度。而算法的最佳化是開發該類遊戲的難點。這類遊戲主要包括棋牌類遊戲和智力測試類遊戲,例如麻將、掃雷、
五子棋、撲克牌等。
數獨就是益智遊戲的一種,玩法簡單但數字的排列方式千變萬化,很多人認為數獨是訓練頭腦的絕佳方式。本章通過講解數獨遊戲在Android平台上的設計與實現,使讀者了解此類遊戲的開發過程,掌握實用的開發技巧,學會此類遊戲的開發。
16.1 遊戲的背景及功能概述 373
16.1.1 背景概述 373
16.1.2 功能簡介 374
16.2 遊戲的策劃及準備工作 375
16.2.1 遊戲的策劃 375
16.2.2 Android平台下遊戲的準備工作 375
16.3 遊戲的架構 376
16.3.1 各類的簡要介紹 376
16.3.2 遊戲的框架簡介 377
16.4 歡迎界面的設計與實現 378
16.4.1 主類KLSDActivity實現 378
16.4.2 歡迎界面WelcomeView類的實現 380
16.4.3 刷幀執行緒WelcomeViewDrawThread類的實現 383
16.4.4 動畫生成執行緒WelcomeViewGoThread類的實現 384
16.5 “幫助”與“關於”界面的設計與實現 385
16.5.1 “幫助”界面HelpView類的實現 385
16.5.2 “關於”界面AboutView的實現 386
16.6 遊戲界面的框架搭建 388
16.7 計時執行緒與數字鍵盤執行緒的開發 390
16.7.1 計時執行緒的開發 390
16.7.2 數字鍵盤執行緒的開發 391
16.8 數獨生成器的開發 392
16.9 遊戲界面邏輯方法的實現 394
16.9.1 初始化方法的完善 394
16.9.2 簡單邏輯方法的完善 396
16.9.3 螢幕事件處理方法的完善 397
16.10 遊戲界面繪畫方法的完善 401
16.10.1 數字鍵盤的繪製方法drawKey ()的完善 401
16.10.2 繪畫方法onDraw()的完善 402
16.11 遊戲界面刷幀執行緒的實現 405
16.12 遊戲的最佳化與改進 406
第17章 Android地圖搜尋套用——美食天下 407
第15章已經介紹了Google Map的簡單使用,本章將通過之前介紹過的知識實現一個美食共享軟體,其中包括服務端和手機端,希望通過本章的學習,讀者能夠掌握Android系統與Tomcat伺服器的通信、Google地圖的使用及各種控制項的綜合套用。
17.1 系統背景及功能概述 407
17.1.1 背景簡介 407
17.1.2 功能概述 407
17.1.3 開發環境及目標平台 408
17.2 開發前的準備工作 409
17.2.1 資料庫的設計 409
17.2.2 表的創建與記錄插入 414
17.2.3 數據源的配置 415
17.3 Web端總體架構及功能預覽 415
17.3.1 目錄結構及系統框架 415
17.3.2 功能預覽 416
17.4 Web端登錄註冊模組的實現 418
17.4.1 首頁的搭建 418
17.4.2 用戶註冊功能的開發 424
17.4.3 用戶登錄功能的開發 428
17.4.4 用戶註銷功能的開發 431
17.5 Web端美食上傳模組的實現 431
17.5.1 頁面的搭建 431
17.5.2 圖片上傳組件FileUploadServlet的開發 435
17.5.3 DBUtil中相關方法的開發 437
17.6 Android端總體架構及功能預覽 438
17.6.1 功能預覽 439
17.6.2 總體架構 440
17.7 伺服器的設計與實現 441
17.8 Android端登錄界面的實現 443
17.8.1 開發前的準備工作 443
17.8.2 框架的搭建 445
17.8.3 監聽方法的完善 448
17.8.4 記住密碼功能的實現 449
17.8.5 伺服器端的完善 450
17.9 Android端註冊界面的實現 451
17.9.1 框架的搭建 451
17.9.2 監聽方法的完善 453
17.9.3 伺服器端的完善 455
17.10 Android端主界面MainActivity的實現 456
17.10.1 布局檔案的開發 456
17.10.2 界面框架的搭建 457
17.10.3 初始化方法的完善 459
17.10.4 監聽方法的完善 460
17.10.5 網路處理執行緒的實現 463
17.10.6 伺服器端的完善 464
17.11 Android端地圖界面的實現 468
17.11.1 布局檔案的開發 468
17.11.2 地圖界面的開發 469
17.12 美食信息界面的實現 472
17.13 系統的最佳化與改進 474
第18章 Android社交分享平台——口袋微博 475
本章將介紹社交分享平台——口袋微博的實現,該社交分享平台包括Web端和Android手機端兩個部分。在介紹了整個系統的背景及功能架構之後,本書將對該系統在Web端和Android手機端的實現進行介紹。
18.1 系統背景及功能概述 475
18.1.1 背景簡介 475
18.1.2 功能概述 475
18.1.3 開發環境和目標平台 476
18.2 開發前的準備工作 477
18.2.1 資料庫設計 477
18.2.2 表的創建和測試數據的插入 482
18.2.3 數據源的配置 483
18.3 Web端功能預覽及總體架構 484
18.3.1 Web端系統功能預覽 484
18.3.2 系統目錄結構 485
18.3.3 系統總架構 486
18.4 Web端主頁的搭建 486
18.5 Web端登錄註冊模組的實現 488
18.5.1 用戶登錄功能的開發 488
18.5.2 用戶註冊功能的開發 491
18.5.3 用戶註銷功能的開發 494
18.6 查看和管理日誌模組的實現 494
18.6.1 發布日誌功能的開發 494
18.6.2 顯示日誌及評論功能的開發 496
18.6.3 編輯和刪除日誌功能的開發 498
18.7 查看和管理相冊模組的實現 499
18.7.1 查看相冊功能的開發 500
18.7.2 查看相冊相片功能的實現 501
18.7.3 顯示照片功能的實現 502
18.8 Android端功能預覽及總體架構 503
18.8.1 Android端功能預覽 503
18.8.2 Android端總架構 505
18.9 伺服器的設計與實現 506
18.9.1 伺服器的設計 506
18.9.2 伺服器的實現 506
18.10 Android端的準備工作 509
18.10.1 圖片資源的準備 509
18.10.2 XML資源檔案的準備 510
18.11 登錄註冊模組的實現 511
18.11.1 登錄模組的開發 511
18.11.2 記錄賬號密碼功能的開發 516
18.11.3 伺服器驗證登錄功能的實現 517
18.11.4 註冊模組的開發 517
18.12 個人中心模組的實現 521
18.12.1 個人中心界面的開發 521
18.12.2 個人中心界面選單功能的開發 523
18.13 快速發布模組的實現 524
18.13.1 發布日誌和更新心情功能的實現 524
18.13.2 拍照上傳界面的開發 527
18.13.3 UploadActivity通信功能的開發 530
18.14 查看聯繫人模組的實現 534
18.14.1 ContactsActivity界面的開發 534
18.14.2 ContactsActivity通信功能的開發 536
18.15 日誌管理模組的實現 536
18.15.1 查看日誌功能的開發 537
18.15.2 編輯日誌功能的開發 539
18.16 相冊管理模組的實現 539
18.16.1 相冊查看和修改功能的實現 539
18.16.2 相片查看功能的實現 542
18.17 系統的最佳化與改進 544