配典型案例、豐富的教學(xué)資源。
本書(shū)系統地介紹了在A(yíng)ndroid Studio 3.1.2環(huán)境下開(kāi)發(fā)Android應用的基礎知識和實(shí)際應用。全書(shū)分11章,包括Android應用開(kāi)發(fā)概述及開(kāi)發(fā)環(huán)境、Android項目文件結構分析及調試、Android UI與Activity組件、手機基本功能程序設計、服務(wù)組件及其應用、廣播組件與通知、SQLite數據庫編程、Android內容提供者組件、Android近距離通信技術(shù)、位置服務(wù)與地圖應用開(kāi)發(fā)和Android網(wǎng)絡(luò )編程。本書(shū)以介紹Android的四大組件為主線(xiàn),精心組織目錄和案例,并在A(yíng)ndroid 7.0手機(或模擬器)上成功運行。此外,每章都精心設計了典型案例以說(shuō)明其用法,并配有習題及實(shí)驗。本書(shū)配套的教學(xué)網(wǎng)站,包括教學(xué)大綱、實(shí)驗大綱、各種軟件的下載鏈接、課件和案例源代碼下載鏈接、在線(xiàn)測試等內容,極大地方便了教與學(xué)的實(shí)施。
吳志祥,武漢科技大學(xué)計算機科學(xué)與技術(shù)學(xué)院技術(shù)系副教授,具有豐富的Java、Android編程開(kāi)發(fā)教學(xué)經(jīng)驗,主編《Java程序設計簡(jiǎn)明教程》《Java EE應用開(kāi)發(fā)教程》《Android應用開(kāi)發(fā)案例教程》《PHP動(dòng)態(tài)網(wǎng)頁(yè)設計與網(wǎng)站架設》等多部暢銷(xiāo)教材。
第1章 Android應用開(kāi)發(fā)概述及開(kāi)發(fā)環(huán)境 1
1.1 移動(dòng)開(kāi)發(fā)與智能手機 1
1.1.1 移動(dòng)開(kāi)發(fā)概述 1
1.1.2 Android智能手機的使用特點(diǎn) 1
1.1.3 手機智能操作系統及分類(lèi) 2
1.2 Android系統架構 2
1.2.1 Linux內核層 3
1.2.2 函數庫和Android運行時(shí)環(huán)境層 4
1.2.3 應用程序框架層 4
1.2.4 應用程序層 5
1.3 Android Studio開(kāi)發(fā)環(huán)境 5
1.3.1 Android Studio概述 5
1.3.2 下載和安裝Android Studio 3.1.2 5
1.3.3 Android Studio相關(guān)文件夾 6
1.3.4 Android SDK與Android API 6
1.3.5 Android Studio常用組合鍵 10
1.4 創(chuàng )建和運行Android應用 10
1.4.1 創(chuàng )建一個(gè)Hello級Android Studio項目 10
1.4.2 手機模擬器與AVD Manager 14
1.4.3 安裝和運行Android應用 16
習題1 17
實(shí)驗1 18
第2章 Android項目結構分析及調試 19
2.1 Android項目的文件系統結構 19
2.1.1 項目配置清單文件夾manifests 19
2.1.2 源程序文件夾Java 20
2.1.3 資源程序文件夾res 20
2.1.4 項目多模塊及構建Gradle Scripts 22
2.1.5 使用Project或Packages視圖 24
2.2 Android應用程序的基本組成 25
2.2.1 Activity組件與視圖View 25
2.2.2 Service組件 25
2.2.3 BroadcastReceiver組件 25
2.2.4 ContentProvider組件 26
2.2.5 Application、Context和Intent 26
2.2.6 Android應用程序的運行入口 27
2.3 Android虛擬機Dalvik 28
2.4 Android Studio項目調試 29
2.4.1 主動(dòng)調試(Toast與Logcat) 29
2.4.2 動(dòng)態(tài)調試 31
2.4.3 單元測試 32
習題2 35
實(shí)驗2 36
第3章 Android UI與Activity組件 37
3.1 用戶(hù)界面UI設計 37
3.1.1 Android界面視圖類(lèi) 37
3.1.2 Android用戶(hù)界面事件 38
3.1.3 界面與布局 39
3.2 活動(dòng)組件Activity 47
3.2.1 AppCompatActivity、Activity和Context 47
3.2.2 Activity組件的基本方法 48
3.2.3 Activity類(lèi)具有的擴展方法 48
3.2.4 Activity的生命周期 49
3.2.5 手機橫/豎屏自動(dòng)切換問(wèn)題 50
3.3 常用Widget控件的使用 51
3.3.1 文本控件TextView和EditText 51
3.3.2 圖像控件ImageView 52
3.3.3 命令按鈕控件Button、ImageButton及其單擊事件監聽(tīng)器設計 53
3.3.4 單選按鈕控件RadioButton與復選框控件CheckBox 54
3.3.5 消息提醒對話(huà)框控件AlertDialog與進(jìn)度控件ProgressDialog 55
3.3.6 列表控件及其數據適配器和列表項選擇監聽(tīng)器 57
3.3.7 下拉列表控件Spinner 62
3.4 高級UI程序設計 63
3.4.1 日期和時(shí)間選擇器(DatePicker和TimePicker) 63
3.4.2 自動(dòng)完成文本控件AutoCompleteTextView 64
3.4.3 標題欄Toolbar與OptionMenu菜單設計 64
3.4.4 Fragment與ListFragment 66
3.4.5 底部導航BottomNavigationView 72
習題3 75
實(shí)驗3 76
第4章 手機基本功能程序設計 79
4.1 預備知識 79
4.1.1 Activity組件的調用與返回 79
4.1.2 Android權限、權限組與運行時(shí)權限動(dòng)態(tài)檢測 83
4.1.3 SharedPreferences存儲與文件存儲 87
4.1.4 抽象類(lèi)android.net.Uri及其靜態(tài)方法parse() 92
4.2 打電話(huà)程序設計 92
4.3 短信程序設計 94
4.3.1 SMS簡(jiǎn)介 94
4.3.2 短信管理器 94
4.3.3 短信發(fā)送程序的實(shí)現 94
4.4 手機音頻播放與錄音程序設計 96
4.4.1 音頻播放 96
4.4.2 手機錄音 98
4.5 手機視頻播放 101
4.6 手機拍照程序設計 102
習題4 105
實(shí)驗4 106
第5章 服務(wù)組件及其應用 109
5.1 服務(wù)組件Service的基本用法 109
5.1.1 Android系統服務(wù) 109
5.1.2 Service組件及其生命周期 111
5.1.3 自定義服務(wù)與服務(wù)注冊 113
5.1.4 服務(wù)的顯式啟動(dòng)與隱式啟動(dòng) 113
5.1.5 綁定服務(wù)方式與服務(wù)代理 115
5.2 遠程服務(wù) 117
5.2.1 遠程服務(wù)概念 117
5.2.2 Android跨進(jìn)程調用與接口定義語(yǔ)言AIDL 118
5.2.3 遠程服務(wù)的建立與使用實(shí)例 118
5.3 綜合應用實(shí)例―自動(dòng)掛斷來(lái)電后回復短信 123
習題5 131
實(shí)驗5 132
第6章 廣播組件與通知 135
6.1 廣播與BroadcastReceiver組件 135
6.1.1 Android廣播機制 135
6.1.2 使用BroadcastReceiver組件定義廣播接收者 136
6.1.3 接收系統短信廣播應用實(shí)例 140
6.2 自定義廣播及其使用 141
6.2.1 自定義廣播 141
6.2.2 以動(dòng)態(tài)注冊方式使用自定義廣播 142
6.2.3 以靜態(tài)注冊方式使用自定義廣播 143
6.3 通知 144
6.3.1 通知與通知類(lèi)Notification 144
6.3.2 通知管理器類(lèi)NotificationManager 145
6.3.3 使用PendingIntent查看通知內容 145
習題6 148
實(shí)驗6 149
第7章 SQLite數據庫編程 151
7.1 SQLite數據庫簡(jiǎn)介 151
7.1.1 SQLite數據庫軟件的特點(diǎn) 151
7.1.2 Android系統對SQLite數據庫的支持 151
7.2 使用SQLiteOpenHelper創(chuàng )建、打開(kāi)或更新數據庫 152
7.2.1 SQLite數據庫及表的創(chuàng )建與打開(kāi) 152
7.2.2 使用SQLiteSpy驗證創(chuàng )建的數據庫 153
7.2.3 SQLite數據庫的更新 154
7.3 使用SQLiteDatabase實(shí)現數據庫表的增加、刪除、修改和查詢(xún) 155
7.3.1 記錄的增加、刪除、修改和查詢(xún) 155
7.3.2 使用適配器SimpleAdapter顯示查詢(xún)結果 157
7.3.3 以DAO方式訪(fǎng)問(wèn)數據庫編寫(xiě)程序 158
7.3.4 使用數據庫事務(wù) 166
習題7 169
實(shí)驗7 171
第8章 Android內容提供者組件 173
8.1 ContentProvider組件及其相關(guān)類(lèi) 173
8.1.1 抽象類(lèi)ContentProvider(內容提供者) 173
8.1.2 抽象類(lèi)ContentResolver(內容解析器) 175
8.1.3 內容提供者的URI定義及其相關(guān)類(lèi)(UriMatcher和ContentUris) 176
8.2 自定義ContentProvider及其使用 177
8.2.1 在A(yíng)ndroid應用里創(chuàng )建并注冊?xún)热萏峁┱?177
8.2.2 在另一個(gè)應用程序里使用內容提供者 180
8.3 讀取手機聯(lián)系人信息 183
8.3.1 手機聯(lián)系人相關(guān)類(lèi)ContactsContract 183
8.3.2 手機聯(lián)系人數據庫及其相關(guān)表 183
8.3.3 讀取手機聯(lián)系人程序設計 184
8.4 Android后臺線(xiàn)程與Android組件的綜合應用 187
8.4.1 Android UI主線(xiàn)程 187
8.4.2 使用Handler向UI線(xiàn)程傳遞消息 187
8.4.3 使用AsyncTask更新UI線(xiàn)程 189
8.4.4 使用ContentProvider+AsyncTask實(shí)現群發(fā)短信 191
習題8 199
實(shí)驗8 200
第9章 Android近距離通信技術(shù) 202
9.1 WiFi通信 202
9.1.1 WiFi簡(jiǎn)介 202
9.1.2 Android對WiFi的支持 202
9.1.3 WiFi應用實(shí)例 204
9.2 藍牙通信Bluetooth 208
9.2.1 Bluetooth簡(jiǎn)介 208
9.2.2 Android對Bluetooth的支持 208
9.2.3 藍牙聊天實(shí)例 211
9.3 近場(chǎng)通信NFC 229
9.3.1 NFC簡(jiǎn)介 229
9.3.2 Android對NFC的支持 231
9.3.3 NFC應用實(shí)例:讀/寫(xiě)Tag標簽 231
習題9 238
實(shí)驗9 239
第10章 位置服務(wù)與地圖應用開(kāi)發(fā) 241
10.1 位置服務(wù)概述 241
10.1.1 基于位置的服務(wù)LBS 241
10.1.2 Android API提供的位置包 242
10.1.3 Google Map APIs 243
10.2 Android定位實(shí)現 244
10.2.1 GPS定位實(shí)現 245
10.2.2 網(wǎng)絡(luò )連接及狀態(tài)相關(guān)類(lèi) 247
10.2.3 WiFi或GPRS定位實(shí)現 247
10.3 百度定位及地圖應用開(kāi)發(fā) 254
10.3.1 百度定位應用開(kāi)發(fā)基礎 254
10.3.2 注冊百度開(kāi)發(fā)者賬號,申請位置應用的Key 256
10.3.3 在清單文件中注冊權限、服務(wù)及應用的Key 258
10.3.4 百度綜合定位實(shí)現 259
10.3.5 百度地圖顯示 261
習題10 267
實(shí)驗10 268
第11章 Android網(wǎng)絡(luò )編程 270
11.1 基于HTTP協(xié)議的Android網(wǎng)絡(luò )編程 270
11.1.1 Android網(wǎng)絡(luò )編程概述 270
11.1.2 HTTP請求與響應 271
11.1.3 使用HttpURLConnection訪(fǎng)問(wèn)網(wǎng)絡(luò )資源 271
11.1.4 使用網(wǎng)絡(luò )接口HttpClient調用Web服務(wù) 274
11.2 Android網(wǎng)絡(luò )圖像下載與通信框架 276
11.2.1 網(wǎng)絡(luò )圖像下載框架Glide 276
11.2.2 網(wǎng)絡(luò )通信框架Volley 277
11.3 手機App與Web服務(wù)器通信 283
11.3.1 Web服務(wù)器項目 283
11.3.2 App的登錄程序設計 285
11.3.3 App的主界面程序設計 293
習題11 295
實(shí)驗11 296
習題答案 298
參考文獻 302