內容簡介
本書是Android移動套用開發系列教材中的基礎篇,書中不僅講解了Android的基本理論知識,還精心設計了大量實例來幫助讀者理解和掌握知識點。主要內容包括:Android技術的概括、Android界面開發、Android數據存儲、Android多媒體開發以及網路開發等。本書針對各個章節所涉及到的知識點,都安排了多個案例來引導學習,由易到難,循序漸進,通過一步一步完成這個案例來介紹知識點的套用情況,同時,針對每一個案例又設計了一個對應的練習題目,讓讀者在完成知識點學習之後能夠有一個相對應的實踐過程。本書各章內容翔實,案例典型,實踐性強,既可作為高職高專相關專業課程的教材和教學參考書,也可供從事Android移動編程開發的用戶學習和參考。不管是有豐富Java開發經驗的程式設計師,還是只有
Java基礎的初學者,此書都將是十分有價值的學習資料。
目錄
第1章 Android概述 1
1.1 Android是什麼 1
1.3 Android的發展歷史 4
1.4 Android套用開發環境概述 4
第2章 建立Android套用開發環境 5
2.1 下載和安裝Android Studio 5
2.2 開發第一個Android應用程式 5
2.2.1 創建Hello World程式工程 5
2.2.2 運行Hello World程式 9
2.3 Android應用程式的結構 14
2.4 同步練習 15
第3章 剖析Android應用程式 16
3.1 AndroidManifest.xml 16
3.2 MainActivity.java——Activity介紹 19
3.3 Android程式資源 21
3.3.1 字元串資源 21
3.3.2 布局資源 23
3.3.3 ID資源 24
3.3.4 圖片資源 27
3.3.5 Android的其他資源 28
3.3.6 引用資源 28
3.4 同步練習 30
第4章 深入分析Activity 31
4.1 Activity的生命周期 31
4.2 Activity生命周期示例 33
4.3 使用Log類輸出程式調試信息 36
4.4 Android常見Activity 38
4.5 同步練習 39
第5章 Android常用UI組件 40
5.1 使用基於XML的布局 40
5.2 Android基本組件 44
5.2.1 Button 44
5.2.2 TextView 47
5.2.3 ImageView 49
5.2.4 EditText 49
5.2.5 CheckBox 50
5.2.6 RadioButton 50
5.3 同步練習一 50
5.4 Android容器組件 50
5.4.1 LinearLayout 50
5.4.2 RelativeLayout 55
5.4.3 FrameLayout 57
5.4.4 ScrollView 60
5.4.5 CoordinatorLayout 63
5.5 同步練習二 64
5.6 AdapterView 64
5.6.1 AdapterView入門 64
5.6.2 Adapter 65
5.6.3 ListView 66
5.6.4 Spinner 77
5.6.5 GridView 83
5.7 同步練習三 87
5.8 Android其他常用組件 87
5.9 同步練習四 87
第6章 樣式和主題 88
6.1 樣式入門 88
6.2 定義樣式 92
6.2.1 定義樣式的一般方法 92
6.2.2 樣式定義中的可用屬性 93
6.3 套用樣式 94
6.3.1 將樣式套用到某個組件 95
6.3.2 將樣式套用到某個Activity或整個Application 95
6.4 使用Android平台已定義的樣式和主題 96
6.5 Android應用程式的主題樣式結構分析 97
6.6 同步練習 98
第7章 理解和使用Intent 99
7.1 Intent套用入門案例 99
7.2 同步練習一 103
7.3 細說Intent 103
7.3.1 Intent的action 106
7.3.2 Intent的data 106
7.3.3 Intent的category 108
7.3.4 Intent的extra 109
7.4 Intent解析 109
7.5 獲得Activity返回的結果 109
7.6 Intent的綜合套用舉例 115
7.6.1 運行效果 115
7.6.2 程式代碼 117
7.7 同步練習二 121
7.8 廣播訊息和廣播接收器 121
7.8.1 傳送和接收普通訊息 122
7.8.2 接收Android平台的廣播訊息 127
7.9 同步練習三 127
第8章 選單和Toolbar 128
8.1 選單 128
8.2 ActionBar和Toolbar 132
8.3 同步練習 135
第9章 動畫 136
9.1 View動畫之補間動畫基礎 136
9.1.1 補間動畫舉例 136
9.1.2 補間動畫類型 139
9.1.3 使用動畫監聽器 142
9.2 View動畫之幀動畫 144
9.3 同步練習 147
第10章 多媒體播放 148
10.1 使用MediaPlayer播放音頻 148
10.1.1 播放簡短的音頻 148
10.1.2 使用MediaPlayer自製一個音頻播放器 151
10.2 同步練習一 165
10.3 播放視頻 165
10.4 同步練習二 167
第11章 保存程式數據 168
11.1 使用SharedPreferences保存程式數據 168
11.2 同步練習一 172
11.3 設定程式首選項 172
11.4 同步練習二 180
11.5 在程式下存儲程式數據 180
11.6 同步練習三 181
11.7 訪問外部存儲器 181
11.7.1 檢查SD卡狀態 181
11.7.2 獲得SD卡上特定子的File對象 182
11.8 使用SQLite資料庫保存程式數據 182
11.8.1 SQLite資料庫介紹 182
11.8.2 在Android中使用SQLite資料庫 183
第12章 使用後台任務 193
12.1 使用Java執行緒執行後台任務 193
12.2 同步練習一 197
12.3 使用AsyncTask執行後台任務 197
12.4 使用Service完成後台任務 202
12.5 同步練習二 210
第13章 使用網路 211
13.1 使用ConnectivityManager管理網路狀態 211
13.2 使用HttpURLConnection訪問網路 213
13.2.1 使用HttpURLConnection的GET方法獲取圖片 214
13.2.2 使用HttpURLConnection的POST方法獲取圖片 219
13.3 同步練習一 222
13.4 使用OkHttp訪問網路 222
13.4.1 使用Get方法進行服務請求 222
13.4.2 使用Post方法進行服務請求 223
13.4.3 設定請求頭及提取回響頭 225
13.4.4 配置OkHttp逾時 225
13.5 OkHttp Get實現示例 226
13.6 OkHttp Post實現示例 230
13.7 同步練習二 234
13.8 使用Multipart傳遞請求數據到伺服器端程式 234
13.9 同步練習三 240
13.10 使用JSON格式的數據與伺服器端通信 240
13.10.1 JSON基礎 240
13.10.2 在Javascript中使用JSON數據 241
13.10.3 在Java中使用JSON數據 241
13.10.4 使用POST方法及JSON數據格式傳送請求 242,第1章 Android概述 1
1.1 Android是什麼 1
1.2 Android應用程式的組成 3
1.3 Android的發展歷史 4
1.4 Android套用開發環境概述 4
第2章 建立Android套用開發環境 5
2.1 下載和安裝Android Studio 5
2.2 開發第一個Android應用程式 5
2.2.1 創建Hello World程式工程 5
2.2.2 運行Hello World程式 9
2.3 Android應用程式的結構 14
2.4 同步練習 15
第3章 剖析Android應用程式 16
3.1 AndroidManifest.xml 16
3.2 MainActivity.java——Activity介紹 19
3.3 Android程式資源 21
3.3.1 字元串資源 21
3.3.2 布局資源 23
3.3.3 ID資源 24
3.3.4 圖片資源 27
3.3.5 Android的其他資源 28
3.3.6 引用資源 28
3.4 同步練習 30
第4章 深入分析Activity 31
4.1 Activity的生命周期 31
4.2 Activity生命周期示例 33
4.3 使用Log類輸出程式調試信息 36
4.4 Android常見Activity 38
4.5 同步練習 39
第5章 Android常用UI組件 40
5.1 使用基於XML的布局 40
5.2 Android基本組件 44
5.2.1 Button 44
5.2.2 TextView 47
5.2.3 ImageView 49
5.2.4 EditText 49
5.2.5 CheckBox 50
5.2.6 RadioButton 50
5.3 同步練習一 50
5.4 Android容器組件 50
5.4.1 LinearLayout 50
5.4.2 RelativeLayout 55
5.4.3 FrameLayout 57
5.4.4 ScrollView 60
5.4.5 CoordinatorLayout 63
5.5 同步練習二 64
5.6 AdapterView 64
5.6.1 AdapterView入門 64
5.6.2 Adapter 65
5.6.3 ListView 66
5.6.4 Spinner 77
5.6.5 GridView 83
5.7 同步練習三 87
5.8 Android其他常用組件 87
5.9 同步練習四 87
第6章 樣式和主題 88
6.1 樣式入門 88
6.2 定義樣式 92
6.2.1 定義樣式的一般方法 92
6.2.2 樣式定義中的可用屬性 93
6.3 套用樣式 94
6.3.1 將樣式套用到某個組件 95
6.3.2 將樣式套用到某個Activity或整個Application 95
6.4 使用Android平台已定義的樣式和主題 96
6.5 Android應用程式的主題樣式結構分析 97
6.6 同步練習 98
第7章 理解和使用Intent 99
7.1 Intent套用入門案例 99
7.2 同步練習一 103
7.3 細說Intent 103
7.3.1 Intent的action 106
7.3.2 Intent的data 106
7.3.3 Intent的category 108
7.3.4 Intent的extra 109
7.4 Intent解析 109
7.5 獲得Activity返回的結果 109
7.6 Intent的綜合套用舉例 115
7.6.1 運行效果 115
7.6.2 程式代碼 117
7.7 同步練習二 121
7.8 廣播訊息和廣播接收器 121
7.8.1 傳送和接收普通訊息 122
7.8.2 接收Android平台的廣播訊息 127
7.9 同步練習三 127
第8章 選單和Toolbar 128
8.1 選單 128
8.2 ActionBar和Toolbar 132
8.3 同步練習 135
第9章 動畫 136
9.1 View動畫之補間動畫基礎 136
9.1.1 補間動畫舉例 136
9.1.2 補間動畫類型 139
9.1.3 使用動畫監聽器 142
9.2 View動畫之幀動畫 144
9.3 同步練習 147
第10章 多媒體播放 148
10.1 使用MediaPlayer播放音頻 148
10.1.1 播放簡短的音頻 148
10.1.2 使用MediaPlayer自製一個音頻播放器 151
10.2 同步練習一 165
10.3 播放視頻 165
10.4 同步練習二 167
第11章 保存程式數據 168
11.1 使用SharedPreferences保存程式數據 168
11.2 同步練習一 172
11.3 設定程式首選項 172
11.4 同步練習二 180
11.5 在程式下存儲程式數據 180
11.6 同步練習三 181
11.7 訪問外部存儲器 181
11.7.1 檢查SD卡狀態 181
11.7.2 獲得SD卡上特定子的File對象 182
11.8 使用SQLite資料庫保存程式數據 182
11.8.1 SQLite資料庫介紹 182
11.8.2 在Android中使用SQLite資料庫 183
第12章 使用後台任務 193
12.1 使用Java執行緒執行後台任務 193
12.2 同步練習一 197
12.3 使用AsyncTask執行後台任務 197
12.4 使用Service完成後台任務 202
12.5 同步練習二 210
第13章 使用網路 211
13.1 使用ConnectivityManager管理網路狀態 211
13.2 使用HttpURLConnection訪問網路 213
13.2.1 使用HttpURLConnection的GET方法獲取圖片 214
13.2.2 使用HttpURLConnection的POST方法獲取圖片 219
13.3 同步練習一 222
13.4 使用OkHttp訪問網路 222
13.4.1 使用Get方法進行服務請求 222
13.4.2 使用Post方法進行服務請求 223
13.4.3 設定請求頭及提取回響頭 225
13.4.4 配置OkHttp逾時 225
13.5 OkHttp Get實現示例 226
13.6 OkHttp Post實現示例 230
13.7 同步練習二 234
13.8 使用Multipart傳遞請求數據到伺服器端程式 234
13.9 同步練習三 240
13.10 使用JSON格式的數據與伺服器端通信 240
13.10.1 JSON基礎 240
13.10.2 在Javascript中使用JSON數據 241
13.10.3 在Java中使用JSON數據 241
13.10.4 使用POST方法及JSON數據格式傳送請求 242