內容簡介
討論了如何適應不同的顯示方向、如何理解螢幕的組件以及如何處理用戶界面通知;描述了在使用TextView、ProgressBar、AutoComplete-TextView、TimePicker、ListView等視圖設計用戶界面時涉及的元素;演示了如何使用視圖顯示圖片和選單;講解了如何使用內容提供者和如何創建自己的內容提供者;示範了如何將長時間運行的任務放到單獨的執行緒中;介紹了如何構建使用SMS訊息傳遞跟蹤位置的應用程式;闡述了如何使用JSON和套接字編程構建自己的聊天應用程式;探討了如何準備Android應用程式來發布到AndroidMarket上。
本書涵蓋了使用AndroidSDK進行Android編程的基本概念,共分為12章和3個附錄。
“第1章:Android編程入門”介紹了Android作業系統的基本概念和當前發展狀況。您可以了解Android設備的各種功能以及市場上一些比較流行的設備。還可以學習如何下載和安裝所有必需的工具來開發Android應用程式並在Android模擬器上進行測試。
“第2章:活動、碎片和意圖”使您熟悉Android編程中的這三個最重要的概念。活動和碎片是Android應用程式的構建塊。您將學習如何使用意圖將活動連結起來形成一個完整的Android應用程式。這是Android作業系統的獨特特徵之一。
“第3章:Android用戶界面”介紹了Android應用程式的用戶界面的不同組成部分。您將學習到用來構建應用程式的用戶界面的不同布局,以及當用戶和應用程式互動時與用戶界面相關聯的多種事件。
“第4章:使用視圖設計用戶界面”介紹了可用於構建Android用戶界面的各種基本視圖。該章將學習3組主要的視圖:基本視圖、選取器視圖和列表視圖,還將學習Android3.0和Android4.0中可用的特殊碎片。
“第5章:使用視圖顯示圖片和選單”繼續研究視圖。您將了解到如何使用不同的圖像視圖來顯示圖像,以及在應用程式中顯示選項和上下文選單。該章最後將額外介紹一些很酷的視圖,可以用它們來為您的應用程式錦上添花。
“第6章:數據持久化”教您如何在Android應用程式中保存或存儲數據。除了學習使用不同的技術來存儲用戶數據外,您將學習到檔案操作以及如何把檔案保存到內部或外部存儲器(SD卡)上。此外,還將學習到如何在Android應用程式中創建和使用SQLite資料庫。
“第7章:內容提供者”討論了在Android設備的不同應用程式間如何共享數據。您將學習如何使用內容提供者並自己創建一個。
“第8章:訊息傳遞”研究了移動編程中最有趣的兩個主題——傳送SMS訊息和電子郵件。您將學習如何以編程方式傳送和接收SMS訊息和電子郵件,以及如何攔截傳入的SMS訊息,使內置的Messaging應用程式不能收到任何訊息。
“第9章:基於位置的服務”描述了如何使用GoogleMaps來構建基於位置的服務應用程式。您還將學習到如何獲取地理位置數據並在地圖上顯示該位置。
“第10章:聯網”研究了如何連線Web伺服器來下載數據。您將看到如何在Android應用程式中使用XML和JSONWeb服務。本章還將介紹套接字編程,以及如何在Android中構建一個聊天客戶端。
“第11章:開發Android服務”將向您展示如何使用服務來編寫應用程式。服務是運行於後台且沒有用戶界面的應用程式。您將了解如何在一個單獨的執行緒中以異步方式運行您的服務,以及活動與之通信的方法。
“第12章:發布Android應用程式”討論了您在準備好發布Android應用程式時可以採用的不同方法。您還將了解到在AndroidMarket上發布並出售應用程式的必要步驟。
“附錄A:使用Eclipse進行Android開發”簡要概述了Eclipse中的許多功能。
“附錄B:使用Android模擬器”提供了有關使用Android模擬器進行應用程式測試方面的一些提示和技巧。
“附錄C:練習答案”包含了每章最後的練習的答案。
目錄
第1章Android編程入門/1
1.1Android簡介/2
1.1.1?Android版本/2
1.1.2?Android功能/3
1.1.3?Android架構/3
1.1.4?市場上的Android設備/4
1.1.5?AndroidMarket/7
1.1.6Android開發社區/7
1.2獲得所需工具/8
1.2.1AndroidSDK/8
1.2.2安裝AndroidSDK工具/9
1.2.3配置AndroidSDKManager/10
1.2.4Eclipse/11
1.2.5Android開發工具/12
1.2.6創建Android虛擬設備(AVD)/14
1.3創建第一個Android應用程式/17
1.4Android應用程式剖析/24
1.5本章小結/28
第2章活動、碎片和意圖/31
2.1理解活動/31
2.1.1如何對活動套用樣式和主題/36
2.1.2隱藏活動標題/37
2.1.3顯示對話框視窗/38
2.1.4顯示進度對話框/43
2.1.5顯示更複雜的進度對話框/46
2.2使用意圖連結活動/50
2.2.1解決意圖篩選器的衝突/54
2.2.2從意圖返回結果/56
2.2.3使用意圖對象傳遞數據/59
2.3碎片/65
2.3.1動態添加碎片/70
2.3.2碎片的生命周期/72
2.3.3碎片之間進行互動/76
2.4使用意圖調用內置應用程式/80
2.4.1理解意圖對象/85
2.4.2使用意圖篩選器/86
2.4.3添加類別/91
2.5顯示通知/93
2.6本章小結/98
第3章Android用戶界面/101
3.1了解螢幕的構成/101
3.1.1視圖和視圖組/102
3.1.2LinearLayout/103
3.1.3AbsoluteLayout/109
3.1.4TableLayout/110
3.1.5RelativeLayout/111
3.1.6FrameLayout/113
3.1.7ScrollView/115
3.2適應顯示方向/118
3.2.1錨定視圖/119
3.2.2調整大小和重新定位/121
3.3管理螢幕方向的變化/124
3.3.1配置改變時保持狀態信息/127
3.3.2檢測方向改變/128
3.3.3控制活動的方向/129
3.4使用ActionBar/130
3.4.1向ActionBar添加動作項/132
3.4.2定製動作項和應用程式圖示/138
3.5以編程方式創建用戶界面/139
3.6偵聽用戶界面通知/142
3.6.1重寫活動中定義的方法/142
3.6.2為視圖註冊事件/146
3.7本章小結/149
第4章使用視圖設計用戶界面/151
4.1基本視圖/151
4.1.1TextView視圖/152
4.1.2Button、ImageButton、EditText、
CheckBox、ToggleButton、RadioButton和RadioGroup視圖/152
4.1.3ProgressBar視圖/163
4.1.4AutoCompleteTextView視圖/169
4.2選取器視圖/171
4.2.1TimePicker視圖/171
4.2.2DatePicker視圖/176
4.3使用列表視圖顯示長列表/183
4.3.1ListView視圖/183
4.3.2使用Spinner視圖/191
4.4了解特殊碎片/194
4.4.1使用ListFragment/194
4.4.2使用DialogFragment/199
4.4.3使用PreferenceFragment/202
4.5本章小結/206
第5章使用視圖顯示圖片和選單/209
5.1使用圖像視圖顯示圖片/209
5.1.1Gallery和ImageView視圖/209
5.1.2ImageSwitcher/217
5.1.3GridView/222
5.2將選單和視圖一起使用/225
5.2.1創建輔助方法/226
5.2.2選項選單/228
5.2.3上下文選單/230
5.3其他一些視圖/233
5.3.1AnalogClock和DigitalClock視圖/233
5.3.2WebView/234
5.4本章小結/240
第6章數據持久化/243
6.1保存和載入用戶首選項/243
6.1.1使用活動訪問首選項/244
6.1.2通過編程檢索和修改首選項值/250
6.1.3修改首選項檔案的默認名稱/252
6.2將數據持久化到檔案中/254
6.2.1保存到內部存儲器/254
6.2.2保存到外部存儲器(SD卡)/259
6.2.3選擇最佳存儲選項/262
6.2.4使用靜態資源/263
6.3創建和使用資料庫/264
6.3.1創建DBAdapter輔助類/265
6.3.2以編程方式使用資料庫/270
6.3.3預創建資料庫/277
6.4本章小結/281
第7章內容提供者/283
7.1在Android中共享數據/283
7.2使用內容提供者/284
7.2.1預定義查詢字元串常量/289
7.2.2投影/292
7.2.3篩選/293
7.2.4排序/294
7.3創建自己的內容提供者/295
7.4使用內容提供者/304
7.5本章小結/309
第8章訊息傳遞/311
8.1SMS訊息傳遞/311
8.1.1以編程方式傳送SMS訊息/312
8.1.2傳送訊息後獲取反饋/315
8.1.3使用意圖傳送SMS訊息/318
8.1.4接收SMS訊息/319
8.1.5說明和警告/334
8.2傳送電子郵件/335
8.3本章小結/338
第9章基於位置的服務/339
9.1顯示地圖/339
9.1.1創建項目/340
9.1.2獲取MapsAPI密鑰/340
9.1.3顯示地圖/343
9.1.4顯示縮放控制項/346
9.1.5改變視圖/349
9.1.6導航到特定位置/350
9.1.7添加標記/353
9.1.8獲取觸摸的位置/356
9.1.9地理編碼和反向地理編碼/358
9.2獲取位置數據/362
9.3監控一個位置/371
9.4項目—創建一個位置跟蹤應用程式/372
9.5本章小結/378
第10章聯網/381
10.1通過HTTP使用Web服務/381
10.1.1下載二進制數據/384
10.1.2下載文本內容/390
10.1.3通過GET方法訪問Web服務/392
10.2使用JSON服務/397
10.3套接字編程/405
10.4本章小結/414
第11章開發Android服務/417
11.1創建自己的服務/417
11.1.1在服務中執行長時間運行的任務/421
11.1.2在服務中執行重複的任務/426
11.1.3使用IntentService在單獨的執行緒上執行異步任務/430
11.2在服務和活動之間通信/433
11.3將活動綁定到服務/437
11.4理解執行緒/442
11.5本章小結/448
第12章發布Android應用程式/451
12.1為發布做準備/451
12.1.1版本化/451
12.1.2對Android應用程式進行數字簽名/454
12.2部署APK檔案/459
12.2.1使用adb.exe工具/459
12.2.2使用Web伺服器/461
12.2.3在AndroidMarket上發布/462
12.3本章小結/467
附錄A使用Eclipse進行Android開發/469
附錄B使用Android模擬器/483
附錄C練習答案/595