本書選用Eclipse作為開發工具,結合豐富的示例,圖文并茂、深入淺出地分析講解基于Android系統的應用程序設計。全書共分14章,內容主要包含Android開發環境搭建、Android模擬器應用、用戶界面設計、Activity的基本用法、對話框與消息框、常用資源、常用控件、Intent與BroadcastReceiver、圖與動畫、多媒體應用、網絡通信與服務、數據存儲以及傳感器應用。書中技術內容安排不求面面俱到,但求要點突出、實用;示例代碼的編寫,層次分明、書寫規范,注釋清晰明了,特別利于代碼的分析和解讀,從而更加高效地掌握相關的技術。同時,對一些重點和難點的內容,還輔以必要的“說明”和“提示”,有助于知識點的學習和強化。
為了輔助教師的課堂教學和讀者自學,本書還提供了書中示例以及附錄實驗的全部程序源碼,以便提高程序開發學習中的實踐效率。
本書適用于計算機科學、通信電子以及自動化等相關專業的高等院校師生的Android應用程序設計的教學用書,也可以作為Android程序開發者的參考書。
Android是由Google公司和開放手機聯盟共同開發的、基于Linux平臺的開源手機操作系統,它不僅可以運行在智能手機上,還可以運行在平板電腦、移動互聯網終端、便攜式媒體播放器以及數字電視等電子設備上。所以,自誕生之日起,Android就受到了諸多手機廠商和通信運營商的高度重視,并迅速占據了很大的市場份額。
Android應用的迅速普及,極大地推動了移動互聯網的發展,因而其前景無比廣闊,正成為目前各種程序開發中的朝陽產業。
作為讀者步入Android殿堂的*者,作者在總結多年教學經驗并博采眾著者之長的基礎上,精心組織編寫了這本Android應用開發的實用教材。
全書精選Android的基礎知識和實用技術,分編成14章。要點銜接緊密,難點深入淺出;示例圖文并茂,注釋詳盡明晰;必要的“說明”和及時的“提示”可謂伴學始終的小助手;“教、學面對面”的著書風格,使學習更感輕松、自然。特別是,在著書過程中,我們始終兼顧兩個“視角”或者兩種“身份”:老師如何使用本書,因為這是他們的教材;學生(或自學者)如何使用本書,因為這是他們的課本。
Android是由Google公司和開放手機聯盟共同開發的、基于Linux平臺的開源手機操作系統,它不僅可以運行在智能手機上,還可以運行在平板電腦、移動互聯網終端、便攜式媒體播放器以及數字電視等電子設備上。所以,自誕生之日起,Android就受到了諸多手機廠商和通信運營商的高度重視,并迅速占據了很大的市場份額。
Android應用的迅速普及,極大地推動了移動互聯網的發展,因而其前景無比廣闊,正成為目前各種程序開發中的朝陽產業。
作為讀者步入Android殿堂的引領者,作者在總結多年教學經驗并博采眾著者之長的基礎上,精心組織編寫了這本Android應用開發的實用教材。
全書精選Android的基礎知識和實用技術,分編成14章。要點銜接緊密,難點深入淺出;示例圖文并茂,注釋詳盡明晰;必要的“說明”和及時的“提示”可謂伴學始終的小助手;“教、學面對面”的著書風格,使學習更感輕松、自然。特別是,在著書過程中,我們始終兼顧兩個“視角”或者兩種“身份”:老師如何使用本書,因為這是他們的教材;學生(或自學者)如何使用本書,因為這是他們的課本。
書中內容概括如下。
第1章:簡要介紹了Android的起源、結構及特性等,重點介紹了Android開發環境的搭建方法。
第2章:簡要介紹了Android模擬器的基本功能及其管理和使用方法。
第3章:通過一個Android示例程序的開發,詳細介紹了利用Eclipse創建Android應用程序項目的基本方法以及利用AVD和手機運行程序的方法,并且介紹了“360手機助手”在手機應用程序開發中常用的基本功能。
第4章:詳細介紹了各種布局管理器的使用方法,還介紹了利用XML代碼和Java代碼設計用戶界面的基本方法。
第5章:簡要介紹了Activity的運行狀態及其生命周期,詳細介紹了Activity的創建、啟動、關閉和配置方法以及Activity之間的調用和數據傳遞用法。
第6章:介紹了對話框和消息提示框的創建及其用法。
第7章:介紹了字符串資源、顏色資源、圖片資源及數組資源的定義和引用方法。
第8章:既介紹了文本框、編輯框、按鈕、單選按鈕、復選框及圖片視圖這些常用基本控件的使用方法,也介紹了圖像切換器、下拉列表、滾動視圖、進度條及滑塊這些常用高級控件的使用方法。
第9章:介紹了Intent(意圖)和BroadcastReceiver(廣播接收者)的功能及其用法。
第10章:介紹了圖形和文本的常用繪制方法、常用的圖像變換方法以及逐幀動畫和補間動畫的設計方法。
第11章:介紹了利用MediaPlayer和SurfaceView組件,播放資源文件中的音頻/視頻、文件系統中的音頻/視頻以及流媒體中的音頻/視頻的基本方法。
第12章:簡要介紹了Web服務器、HTTP協議以及Get/Post請求,詳細介紹了利用HttpURLConnection和HttpClient訪問網絡的基本方法。
第13章:詳細介紹了利用SharedPreferences、文件和SQLite數據庫存儲數據的基本方法,簡要介紹了利用ContentProvider存儲數據的基本方法。
第14章:介紹了手機設備中各種常用傳感器的基本功能及其應用程序開發方法。
本書由于國防、徐永剛和張玉杰共同編寫。徐永剛和張玉杰編寫了第1、2、3、6、7、13和14章,其他章節由于國防編寫,并由于國防統稿全書。
由于Android功能的不斷完善、技術的不斷發展以及作者的技術水平所限,書中有些知識點可能更新不夠及時,甚至存在錯誤,所以,敬請相關技術的專家、同仁和讀者不吝賜教,批評糾正,以便我們適時更新、更正,再饗讀者。
編 者
第1章 初識Android 1
1.1 智能手機及其操作系統簡介 1
1.2 Android簡介 3
1.2.1 Android釋義與應用 3
1.2.2 Android系統的起源 3
1.2.3 Android版本發布 4
1.2.4 Android系統結構 4
1.2.5 Android系統架構 5
1.2.6 Android平臺特性 6
1.2.7 Android市場 7
1.3 搭建Android開發環境 7
1.3.1 系統配置要求 7
1.3.2 軟件下載與安裝 8
習題 15
第2章 Android模擬器 16
2.1 Android模擬器簡介 16
2.1.1 Android虛擬設備與模擬器 16
2.1.2 Android模擬器的功能限制 17
2.1.3 Android模擬器的按鍵操作 17
2.2 Android模擬器的管理與應用 18
2.2.1 創建Android模擬器 18
2.2.2 啟動Android模擬器 20
2.2.3 刪除Android模擬器 21
習題 21
第3章 Android程序設計導航 22
3.1 Android應用程序的創建及其結構解析 22
3.1.1 新建Android應用程序 22
3.1.2 Android應用程序的目錄結構及文件 27
3.1.3 初識XML布局文件 29
3.1.4 初識Android應用程序中的Java代碼 30
3.2 運行項目 31
3.2.1 通過模擬器運行項目 31
3.2.2 通過手機運行項目 32
3.2.3 手機管理軟件的應用 34
3.3 程序調試 34
3.3.1 LogCat簡介 35
3.3.2 LogCat的基本用法 35
3.4 導入或刪除項目 37
習題 38
第4章 用戶界面設計 39
4.1 XML簡介及其在用戶界面設計中的應用 39
4.1.1 XML簡介 39
4.1.2 利用XML文件設計用戶界面 40
4.2 常用布局管理器在用戶界面設計中的應用 41
4.2.1 線性布局管理器 41
4.2.2 用戶界面的可視化設計 44
4.2.3 表格布局管理器 46
4.2.4 框架(幀)布局管理器 49
4.2.5 相對布局管理器 50
4.2.6 網格布局管理器 53
4.2.7 布局管理器的嵌套 55
4.3 利用Java代碼設計用戶界面 57
4.4 綜合利用XML代碼和Java代碼設計用戶界面 59
習題 61
第5章 基本程序單元Activity 63
5.1 Activity簡介 63
5.2 Activity的運行狀態及生命周期 63
5.2.1 Activity的運行狀態 64
5.2.2 Activity的生命周期 64
5.2.3 Activity的屬性 65
5.3 Activity的應用基礎 67
5.3.1 創建、啟動和關閉Activity 67
5.3.2 配置Activity 69
5.4 Activity的基本用法 71
5.4.1 調用其他Activity 71
5.4.2 在Activity之間傳遞數據 74
5.4.3 返回到前一個Activity并保留其數據 76
習題 79
第6章 Android的對話框與消息框 80
6.1 利用AlertDialog創建對話框 80
6.2 利用Toast顯示消息提示框 85
習題 87
第7章 常用資源的使用 88
7.1 字符串資源 88
7.1.1 定義字符串資源 88
7.1.2 使用字符串資源 89
7.2 顏色資源 90
7.2.1 定義顏色值 90
7.2.2 定義顏色資源 90
7.2.3 使用顏色資源 91
7.3 圖片資源 93
7.3.1 關于圖片資源 93
7.3.2 使用圖片資源 94
7.4 數組資源 96
7.4.1 定義數組資源 96
7.4.2 使用數組資源 97
習題 98
第8章 常用控件 99
8.1 基本控件 99
8.1.1 文本框與編輯框 99
8.1.2 普通按鈕 100
8.1.3 單選按鈕與復選框 104
8.1.4 圖片視圖 110
8.2 高級控件 113
8.2.1 圖像切換器 113
8.2.2 下拉列表 116
8.2.3 滾動視圖 118
8.2.4 進度條與滑塊 121
習題 126
第9章 Intent與BroadcastReceiver 127
9.1 Intent應用 127
9.1.1 Intent簡介 127
9.1.2 Intent的組成及其基本用法 127
9.1.3 Intent過濾器 130
9.2 BroadcastReceiver應用 136
9.2.1 BroadcastReceiver簡介 136
9.2.2 BroadcastReceiver的基本用法 137
習題 141
第10章 圖與動畫 142
10.1 繪制圖形與文本 142
10.1.1 Paint類 142
10.1.2 Canvas類 143
10.2 圖像變換 147
10.2.1 Bitmap類 147
10.2.2 BitmapFactory類 147
10.2.3 Matrix類 148
10.3 動畫設計 153
10.3.1 逐幀動畫 153
10.3.2 補間動畫 157
習題 164
第11章 多媒體應用 165
11.1 MediaPlayer簡介 165
11.2 播放音頻 166
11.2.1 播放資源文件中的音頻 166
11.2.2 播放文件系統中的音頻 166
11.2.3 播放流媒體中的音頻 172
11.3 播放視頻 172
11.3.1 播放資源文件中的視頻 172
11.3.2 播放文件系統中的視頻 173
11.3.3 播放流媒體中的視頻 178
習題 178
第12章 網絡通信與服務 179
12.1 Web服務器簡介 179
12.2 HTTP簡介 180
12.3 Get請求與Post請求簡介 181
12.4 通過HTTP訪問網絡 181
12.4.1 利用HttpURLConnection訪問網絡 181
12.4.2 利用HttpClient訪問網絡 191
習題 195
第13章 Android數據存儲 196
13.1 利用SharedPreferences存儲數據 196
13.2 利用文件存儲數據 201
13.3 利用SQLite數據庫存儲數據 209
13.3.1 SQLite簡介 209
13.3.2 SQLite的數據類型 209
13.3.3 SQLite的基本用法 210
13.4 利用ContentProvide存儲數據簡介 219
習題 220
第14章 Android傳感器 221
14.1 Android傳感器簡介 221
14.2 Android傳感器應用 223
習題 230
參考文獻 231
附錄 實驗進度參考 232
實驗1 Android模擬器的創建與應用 232
實驗2 用戶界面設計及簡單程序設計 232
實驗3 控件應用 233
實驗4 Activity數據傳遞 234
實驗5 繪圖與動畫設計 235
實驗6 Activity數據傳遞 236
實驗7 利用HttpClient訪問網絡 236
實驗8 讀取手機外部文件內容 237
實驗9 Android傳感器應用 238
第1章 初識Android
學習要點
了解智能手機及其常用操作系統的特點。
了解Android系統的起源、平臺架構特性及其版本的命名方法。
了解Android應用程序的文件后綴及結構。
掌握Android開發環境的搭建方法。
1.1 智能手機及其操作系統簡介
智能手機,是指像個人電腦一樣,具有獨立的操作系統和獨立的運行空間,可以由用戶自行安裝第三方服務商提供的各類應用程序,并且可以通過移動通信網絡,實現無線網絡的接入。基于系統平臺的功能擴展是智能機與非智能機的最主要區別。
手機操作系統是指運行在智能手機上的操作系統。目前的手機操作系統主要包括Android、iOS、Windows Phone、Symbian、BlackBerry OS、Windows Mobile、Linux以及Palm OS等。
1.iOS
iOS是由蘋果公司開發的手持設備操作系統,由蘋果公司于2007年1月9日在Macworld大會上公布,以開放源代碼操作系統為基礎,屬于類Unix的商業操作系統。iOS最初是設計給iPhone使用的,后來陸續套用到iPod touch、iPad以及Apple TV等產品上。
多點觸控操作是iOS的用戶界面基礎,也是iOS區別于其他手機操作系統的特點之一。iOS預裝的大量應用程序,如SMS簡訊、YouTube、股市、地圖、天氣以及iTunes等,這些應用都為用戶提供了廣泛、方便的應用。另外,iOS公司還提供了相應的SDK,用于應用程序的開發、測試、運行和調試。
2.BlackBerry OS
BlackBerry OS(黑莓系統)由Research In Motion為其智能手機產品BlackBerry開發的專用操作系統。這一操作系統具有多任務處理能力,并支持特定的輸入裝置,如滾輪、軌跡球、觸摸板以及觸摸屏等。BlackBerry平臺最著名的莫過于它處理郵件的能力。該平臺通過MIDP 1.0和MIDP 2.0的子集,在與BlackBerry Enterprise Server連接時,以無線的方式激活并與Microsoft Exchange、Lotus Domino或Novell GroupWise同步郵件、任務、日程、備忘錄和聯系人。
黑莓系統主要針對商務應用,具有很高的安全性和可靠性。
3.Symbian
Symbian是一個實時性、多任務的純32位操作系統,最初由塞班公司開發和維護,后被諾基亞收購。Symbian具有功耗低、內存占用少等特點,非常適合手機等移動設備使用,經過不斷完善,可以支持GPRS、藍芽、SyncML以及3G技術。Symbian主要用于高端的智能手機,其開發語言為C++。Symbian是真正的微核操作系統。
由于Symbian系統在架構、用戶體驗和應用程序數量等方面的不足,諾基亞最終決定放棄Symbian系統,并將被諾基亞與微軟合作開發的Windows Phone所取得。
4.Windows Mobile
Windows Mobile(WM)是微軟針對移動設備而開發的操作系統。該操作系統的設計初衷是盡量接近于桌面版本的Windows,微軟按照電腦操作系統的模式來設計WM,以便使得WM與電腦操作系統一模一樣。WM的應用軟件以Microsoft Win32 API為基礎。新繼任者Windows Phone操作系統出現后,Windows Mobile系列正式退出手機系統市場。2010年10月,微軟宣布終止對WM的所有技術支持。
5.Windows Phone 7
2010年2月,微軟正式向外界展示Windows Phone(WP)操作系統。2010年10月,微軟公司正式發布Windows Phone智能手機操作系統的第一個版本Windows Phone 7.0,簡稱WP7,并于2010年年底發布了基于此平臺的硬件設備。主要生產廠商有諾基亞、三星、HTC等,從而宣布Windows Mobile系列徹底退出了手機市場。Windows Phone 7完全放棄了Windows Mobile的操作界面,而且程序互不兼容,并且微軟完全重塑了整套系統的代碼和視覺。Windows Phone 7.0基于Windows CE內核,采用了一種稱為Metro的用戶界面,并將微軟旗下的Xbox Live游戲、Xbox Music音樂與獨特的視頻體驗集成至手機中。2011年2月,諾基亞與微軟達成全球戰略同盟并深度合作共同研發該系統。
……