基於案例的 Android 程序設計教程
內容描述
《基於案例的Android程序設計教程》以案例為導向,系統地講解了Android程序設計的基礎知識和基本技術。全書共分為11章,主要內容包括Android開發環境與程序構成、GUI設計、UI組件、服務、廣播、數據存儲、多媒體技術、網絡、傳感器等。《基於案例的Android程序設計教程》註重降低理論難度,增加實踐應用環節的比重,每節設計一兩個完整的案例,並配備教學視頻,讀者可以更好地培養應用程序的集成能力,為從事更高級的程序開發打下良好的基礎。 《基於案例的Android程序設計教程》可作為應用型本科、高職高專相關專業的Android程序設計教材,也適用於其他具有Java語言基礎的讀者自學和參考。
目錄大綱
目 錄
第1章 Android平臺概述 1
1.1 Android簡介 2
1.1.1 智能手機 2
1.1.2 智能手機操作系統 3
1.1.3 什麽是Android平臺 4
1.2 Android平臺的發展歷程 4
1.2.1 Android的發展 4
1.2.2 Android的版本 5
1.3 Android平臺的架構 6
1.3.1 應用程序層 6
1.3.2 應用程序框架層 7
1.3.3 系統運行庫層 7
1.3.4 系統內核層 8
1.4 Android平臺的特性與優勢 8
1.4.1 Android平臺的特性 8
1.4.2 Android平臺的優勢 10
1.5 習題 10
第2章 開發環境及項目結構 11
2.1 JDK的安裝 12
2.1.1 JDK的下載 12
2.1.2 JDK的安裝 13
2.1.3 環境變量配置 14
2.2 Android SDK的安裝 15
2.2.1 SDK Manager的下載 15
2.2.2 Android SDK的下載與管理 15
2.2.3 Android SDK的目錄結構 16
2.3 集成開發工具Android Studio 16
2.3.1 Android Studio的下載 16
2.3.2 Android Studio的安裝 17
2.3.3 Android Studio的運行
與配置 18
2.4 集成開發工具Eclipse 21
2.4.1 Eclipse的下載與配置 21
2.4.2 Eclipse for Android模塊
介紹 23
2.5 項目創建與項目結構 28
2.5.1 新建Android項目 28
2.5.2 項目結構 30
2.5.3 項目的運行 31
2.5.4 helloWorld案例 33
2.6 習題 35
第3章 Android應用程序的構成 37
3.1 應用程序基本組件 38
3.1.1 活動(Activity) 38
3.1.2 服務(Service) 38
3.1.3 廣播接收器
(BroadcastReceiver) 38
3.1.4 數據提供者
(ContentProvider) 39
3.1.5 Intent組件 39
3.2 核心組件Activity 41
3.2.1 Activity介紹 41
3.2.2 Activity的生命周期 42
3.2.3 Activity生命周期測試案例 43
3.2.4 Activity的應用 45
3.2.5 Activity的跳轉與參數傳遞
案例 48
3.3 清單文件AndroidManifest.xml 51
3.3.1 清單文件簡介 51
3.3.2 主要標簽 52
3.4 進程與線程 56
3.4.1 進程 57
3.4.2 線程 58
3.4.3 Handler 59
3.4.4 基於Handler的計時器案例 60
3.4.5 AsyncTask 64
3.4.6 基於AsyncTask的歡迎頁切換
案例 64
3.5 習題 66
第4章 Android的GUI設計 67
4.1 GUI設計基礎 68
4.1.1 GUI概述 68
4.1.2 使用XML描述頁面視圖 69
4.1.3 事件處理 73
4.2 常用簡單組件 74
4.2.1 文本類常用組件 75
4.2.2 按鈕類常用組件 77
4.2.3 內容選擇類常用組件 78
4.2.4 基於常用簡單組件的論壇
註冊案例 80
4.2.5 圖片組件(ImageView) 88
4.2.6 簡易消息框 88
4.2.7 基於ImageView的圖片
瀏覽案例 90
4.3 佈局組件 94
4.3.1 線性佈局 95
4.3.2 基於線性佈局嵌套的案例 96
4.3.3 相對佈局 98
4.3.4 基於相對佈局的歡迎頁
案例 100
4.3.5 框架佈局 102
4.3.6 基於框架佈局的案例 102
4.3.7 表格佈局 104
4.3.8 基於表格佈局的圖片瀏覽
案例 105
4.3.9 絕對佈局 108
4.3.10 基於佈局組件嵌套的案例 109
4.4 Fragment 112
4.4.1 Fragment介紹 113
4.4.2 Fragment的使用方法 115
4.4.3 基於靜態Fragment的圖片
展示案例 117
4.4.4 基於動態Fragment的圖片
切換案例 120
4.5 習題 123
第5章 常用高級UI組件 125
5.1 數據適配器Adapter 126
5.2 Spinner組件 127
5.2.1 組件簡介 127
5.2.2 基於ArrayAdapter的Spinner
應用案例 128
5.2.3 基於自定義適配器的Spinner
應用案例 130
5.3 ListView組件 136
5.3.1 組件簡介 136
5.3.2 使用方法 136
5.3.3 使用SimpleAdapter的
ListView應用案例 137
5.4 GridView組件 141
5.4.1 組件簡介 141
5.4.2 使用方法 141
5.4.3 使用SimpleAdapter的
GridView應用案例 142
5.5 菜單(Menu) 145
5.5.1 選項菜單(OptionsMenu) 145
5.5.2 上下文菜單(ContextMenu) 147
5.5.3 基於OptionsMenu和ContextMenu
的應用案例 147
5.6 對話框組件(Dialog) 151
5.6.1 對話框介紹 151
5.6.2 提示對話框(AlertDialog) 152
5.6.3 進度對話框
(ProgressDialog) 153
5.6.4 基於AlertDialog與ProgressDialog
的應用案例 154
5.7 日期和時間組件 158
5.7.1 日期選擇組件(DatePicker) 158
5.7.2 時間選擇組件(TimePicker) 158
5.7.3 基於DatePicker與TimePicker
的應用案例 159
5.8 習題 162
第6章 服務(Service) 163
6.1 Service簡介 164
6.1.1 Service的分類 164
6.1.2 關於遠程服務 164
6.1.3 Service的生命周期 165
6.1.4 Service的創建與應用 166
6.2 本地Service的普通方式 166
6.2.1 普通方式啟動與停止
Service 167
6.2.2 基於Service普通方式的音樂
播放器案例 167
6.2.3 基於Service控制的圖片隨機
播放器 170
6.3 本地Service的綁定方式 174
6.3.1 獲取服務對象的方法 174
6.3.2 服務綁定的一般方法 175
6.3.3 服務解綁的一般方法 175
6.3.4 基於Service綁定方式的音樂
播放器案例 176
6.4 習題 181
第7章 Android廣播 183
7.1 廣播機制 184
7.2 廣播的發送與接收 185
7.2.1 廣播發送 185
7.2.2 廣播接收 185
7.2.3 廣播應用的一般方法 186
7.2.4 靜態廣播接收器應用案例 186
7.3 Android的系統廣播 189
7.3.1 系統廣播介紹 189
7.3.2 採用動態註冊的系統廣播
接收器案例 190
7.4 習題 192
第8章 數據存儲 193
8.1 文件存儲 194
8.1.1 固定格式數據的存儲 194
8.1.2 使用SharedPreferences存儲
數據的案例 195
8.1.3 內存文件的數據存取 199
8.1.4 用內存文件存取用戶留言的
案例 200
8.1.5 外存文件的數據存取 204
8.1.6 基於外存文件的數據存取
案例 205
8.2 數據庫存儲 209
8.2.1 SQLite介紹 209
8.2.2 幾個重要的類和接口 209
8.2.3 數據庫操作 211
8.2.4 基於SQLite的學生信息
管理案例 212
8.3 ContentProvider 222
8.3.1 ContentProvider介紹 222
8.3.2 幾個重要的類 223
8.3.3 通過ContentProvider實現
學生管理案例 225
8.4 習題 232
第9章 Android的多媒體技術 233
9.1 平面圖形繪制 234
9.1.1 平面繪圖基礎 234
9.1.2 基於自建Canvas對象的
繪圖案例 236
9.1.3 基於View的屏鎖繪制
案例 239
9.2 平面圖像的處理 244
9.2.1 平面圖像處理基礎 244
9.2.2 Matrix圖像變換的使用
方法 245
9.2.3 基於Matrix的圖片變換
案例 246
9.3 音視頻的播放 250
9.3.1 MediaPlayer組件 250
9.3.2 使用MediaPlayer播放
音頻 252
9.3.3 使用MediaPlayer播放
視頻 252
9.3.4 基於SurfaceView的視頻
播放案例 254
9.3.5 基於VideoView的視頻
播放案例 258
9.4 拍照與相冊功能的調用 261
9.4.1 調用拍照功能 261
9.4.2 調用相冊功能 262
9.4.3 調用拍照和相冊功能應用
案例 263
9.5 習題 267
第10章 Android的網絡編程技術 269
10.1 Android網絡通信技術基礎 270
10.1.1 Socket通信 270
10.1.2 基於HTTP的網絡訪問
方法 270
10.1.3 Wi-Fi通信 271
10.1.4 Bluetooth通信 271
10.1.5 USB通信 272
10.2 WebView組件 272
10.2.1 WebView組件介紹 272
10.2.2 WebView組件的應用 273
10.2.3 使用WebView瀏覽網站的
案例 274
10.3 URLConnection組件 277
10.3.1 URLConnection類介紹 277
10.3.2 URLConnection組件的
應用 277
10.3.3 使用URLConnection下載
圖片的案例 278
10.4 HttpURLConnection組件 285
10.4.1 HttpURLConnection類
介紹 285
10.4.2 HttpURLConnection組件的
應用 285
10.4.3 使用HttpURLConnection
登錄網站的案例 286
10.5 習題 293
第11章 Android傳感器編程 295
11.1 Android傳感器基礎 296
11.1.1 傳感器的類型 296
11.1.2 傳感器框架 297
11.1.3 傳感器的使用方法 299
11.1.4 獲取傳感器列表的案例 300
11.2 動作傳感器 302
11.2.1 動作傳感器介紹 302
11.2.2 基於加速度傳感器的
案例 303
11.3 位置傳感器 306
11.3.1 距離傳感器 306
11.3.2 磁場傳感器 306
11.3.3 方位傳感器 307
11.3.4 基於距離傳感器的案例 307
11.4 環境傳感器 310
11.4.1 環境傳感器的返回值 310
11.4.2 基於環境傳感器的案例 311
11.5 習題 314
參考文獻 315