Android應用程序設計(修訂版)
內容描述
本書是面向Android系統的初學者的入門教程,內容幾乎涵蓋了Android相關的所有技術。本書大致可以分成兩個部分,第一部分(第1~4章)主要介紹Android SDK開發環境的安裝、應用程序的結構、用戶界面的組件及其設計方法,第二部分(第5~10章)主要介紹較高級的主題,內容包括異常處理與多線程、後台服務與系統服務技術、圖形與多媒體處理技術、數據庫技術及輸入/輸出流的處理技術、網絡通信技術、地圖服務及傳感器檢測技術等。
本書在敘述上淺顯易懂,對每一個知識點都配了相應的例題。本書提供了所有例題的源代碼、電子課件,以及本書大部分例題的視頻教學演示(掃描二維碼)。
本書可以作為高等院校及各類培訓學校Android系統課程的教材,也可以作為學習Android程序設計的編程人員的自學用書。
目錄大綱
第1篇開發準備——Android基礎開發篇第1章初識Android平台3
1.1Android簡介3
1.2Android的版本發展歷程4
1.3Android的製勝法寶5
1.4Android的系統架構7
本章小結8
本章習題8
第2章搭建Android開發與測試環境9
2.1安裝Android開發環境9
2.1.1安裝JDK10
2.1.2下載和安裝Android Studio與Android SDK10
2.1.3Android Studio開發環境的使用14
2.2配置Android測試環境16
2.2.1使用Android模擬器運行Android程序16
2.2.2使用真機運行Android程序19
本章小結19
本章練習20
第3章第一個Android應用程序21
3.1第一個Android程序: HelloWorld21
3.2Android程序結構24
3.3Android四大組件26
3.4Activity27
3.4.1創建和使用Activity273.4.2Activity的生命週期28
3.4.3初識Intent:在不同Activity之間傳遞數據35
3.5知識拓展: Activity/ActionBarActivity/AppCompatActivity37
本章小結37
本章練習37
第4章CoffeeStore項目導學38
4.1功能描述38
4.2體系結構與知識點39
4.3原型設計41
4.4數據庫設計42
本章小結44
本章習題44
第2篇界面開發——Android界面開發篇
第5章Android佈局管理器47
5.1線性佈局管理器48
5.2相對佈局管理器53
5.3表格佈局管理器58
5.4網格佈局管理器61
5.5幀佈局管理器63
5.6向容器中手動添加控件67
5.7項目實戰: CoffeeStore首頁的界面開發69
5.7.1項目分析69
5.7.2項目實現70
5.7.3項目說明76
本章小結77
本章習題78
第6章Android基本控件79
6.1文本類控件79
6.1.1TextView79
6.1.2AutoCompleteTextView84
6.1.3MultiAutoCompleTextView84
6.1.4EditText84
6.2ScrollView88
6.3按鈕類控件90
6.3.1Button90
6.3.2ImageButton91
6.3.3ToggleButton94
6.3.4CheckBox94
6.3.5RadioButton95
6.4日期和時間類控件100
6.4.1DatePicker100
6.4.2TimePicker104
6.4.3DigitalClock108
6.4.4Chronometer108
6.5進度條控件ProgressBar112
6.6滑動條SeekBar112
6.7星級控件RatingBar113
6.8項目實戰:使用RadioButton實現主頁底端導航條123
6.8.1項目分析123
6.8.2項目實現123
6.8.3項目說明125
6.9知識擴展:創建和使用自定義控件126
本章小結128
本章習題128
第7章ViewPager與Fragment130
7.1 ViewPager與PagerAdapter130
7.2Fragment及其應用場合135
7.3創建Fragment137
7.4初識Intent143
7.4.1Intent對象的基本概念143
7.4.2Intent對象的基本使用方法144
7.4.3使用Intent對像在Activity之間傳遞數據146
7.5Activity與Fragment之間的交互149
7.5.1為Activity創建事件回調方法149
7.5.2添加項目到ActionBar150
7.5.3與Activity生命週期的協調工作151
7.6項目實戰: CoffeeStore主頁滑動功能的實現151
7.6. 1項目分析151
7.6.2項目實現151
7.6.3項目說明162
本章小結163
本章習題163
第8章Android高級控件164
8.1Adapter對象164
8.2Spinner控件165
8.3ListView控件167
8.4ExpandableListView控件182
8.5GridView控件186
8.6 HorizontalScrollView控件188
8.7項目實戰: CoffeeStore首頁廣告輪播效果190
8.7.1項目分析190
8.7.2項目實現190
8.7.3項目說明191
8.8項目實戰: CoffeeStore店鋪列表頁192
8.8.1項目分析192
8.8.2項目實現192
8.8.3項目說明195
8.9項目實戰: CoffeeStore首頁推薦商品195
8.9.1項目分析195
8.9.2項目實現196
8.9.3項目說明197
本章小結198
本章習題198
第9章資源樣式與主題200
9.1資源200
9.2值資源202
9.2.1字符串資源202
9.2.2顏色資源204
9.2.3尺寸資源205
9.2.4數組資源206
9.3位圖資源與色圖資源207
9.4XML資源208
9.5菜單資源210
9.6對話框資源215
9.6.1提醒(Toast)對話框215
9.6.2AlertDialog218
9.6.3其他對話框資源223
9.7動畫資源223
9.8風格資源與主題226
9.8.1風格資源226
9.8.2主題資源228
9.8.3圖像狀態資源230
9.9國際化(I18N)231
9.10項目實戰: CoffeeStore中各種資源的使用233
9.10.1項目分析233
9.10 .2項目實現234
9.10.3項目說明238
本章小結238
本章習題239
第10章Android人機交互設計240
10.1常用事件240
10.1.1按鍵事件241
10.1.2觸摸事件244
10.2拖拉與多點觸屏247
10.3手勢識別248
10.4項目實戰: CoffeeStore引導頁圖片切換的實現250
10.4.1項目分析250
10.4.2項目實現250
10.4.3項目說明254
本章小結254
本章習題254
第3篇Android數據存儲解決方案篇
第11章本地存儲技術259
11.1簡單數據存儲類SharedPreferences259
11.1.1SharedPreferences的使用場合259
11.1.2使用SharedPreferences存取數據260
11.2Android文件261
11.2.1文件數據的存儲與讀取261
11.2.2讀寫SD卡中的文件267
11.2.3讀寫資源文件271
11.3SQLite數據庫274
11.3.1SQLite數據庫存儲數據概述274
11.3.2使用SQLiteOpenHelper類管理數據庫版本274
11.3.3使用SQLiteDatabase操作數據庫276
11.3.3一起發布數據庫與應用程序279
11.4項目實戰: CoffeeStore啟動頁安裝信息的存取280
11.4.1項目分析280
11.4.2項目實現280
11.4.3項目說明281
11.5項目實戰:讀取數據庫文件281
11.5.1項目分析281
11.5.2項目實現281
11.5.3項目說明284
11.6項目實戰: CoffeeStore項目中本地收藏夾的實現284
11.6.1項目分析284
11.6.2項目實現284
11.6.3項目說明294
本章小結295
本章習題296
第12章網絡存儲技術297
12.1異步任務297
12.1.1異步任務的使用場合297
12.1.2異步任務類298
12.2JSON數據解析300
12.2.1JSON簡介300
12.2.2JSON的基本語法301
12.2.3JSON的解析302
12.3 HttpURLConnection304
12.3.1HTTP通信接口304
12.3.2HttpURLConnection的常用方法304
12.4利用異步任務讀取服務器端圖片信息306
12.5項目實戰:登錄功能307
12.5.1項目分析307
12.5.2項目實現307
12.5.3項目說明317
12.6項目實戰:店鋪列表功能317
12.6.1項目分析317
12.6.2項目實現318
12.6.3項目說明321
本章小結322
本章習題322
第4篇Android高級開發篇
第13章深入學習Intent327
13.1PendingIntent327
13.2Intent過濾器328
13.3運行時權限331
本章小結345
本章習題345
第14章廣播與服務346
14.1廣播的定義與用途346
14.2廣播接收器的實現347
14.3服務的基本概念351
14.4服務的生命週期353
本章小結358
本章習題358
第15章地圖與定位359
15.1位置服務359
15.2地圖的定義與顯示360
15.2.1申請地圖密鑰360
15.2 .2地圖的顯示361
15.3地圖的定位及路線規劃365
15.3.1定位原理365
15.3.2定位與路線規劃366
本章小結374
本章習題374參考文獻375附錄ARGB顏色對照表377