本書以Android Studio 3.x作為平臺,系統(tǒng)介紹Android平臺App開發(fā)。本書秉承前一版以應(yīng)用開發(fā)為主線,在應(yīng)用中理解Android開發(fā)基本內(nèi)容及相互關(guān)系的優(yōu)點,貼近5G智能手機,又大幅增加**的應(yīng)用體系,還增加系統(tǒng)介紹移動App高級界面開發(fā)、數(shù)據(jù)庫和網(wǎng)絡(luò)編程、多媒體和圖形圖像編程以及各種常用第三方開發(fā)與設(shè)備操作等內(nèi)容。全書盡量采用(或模擬)當(dāng)前移動互聯(lián)網(wǎng)實際應(yīng)用的真實場景,學(xué)以致用。配套的實例盡量做到獨立完整,方便讀者試做;同時又增強了啟發(fā)性,提示讀者可以根據(jù)需要進(jìn)行更改和完善。本書配套的習(xí)題和實驗均進(jìn)行了擴充,更加系統(tǒng)化,同時緊密貼近當(dāng)前5G智能手機上真實的App案例。掃描書中二維碼可在線觀看微視頻,另外還提供配套的教學(xué)課件和全部應(yīng)用實例代碼(工程文件)。本書可作為大學(xué)本科和高職高專院校有關(guān)專業(yè)的教材和教學(xué)參考書,也可作為Android自學(xué)用書和開發(fā)參考書。
前 言
Android是目前流行的智能手機操作系統(tǒng)之一,其中文名稱為“安卓系統(tǒng)”。隨著5G時代的來臨,基于Android的應(yīng)用開發(fā)將出現(xiàn)更多新的應(yīng)用場景。
Android官方推薦的開發(fā)環(huán)境—Android Studio,基于IntelliJ IDEA,集成了Android 平臺的諸多組件,并提供完善的Android開發(fā)和調(diào)試工具,無論安裝還是使用都十分簡便,成為當(dāng)下用于App開發(fā)的主流利器。2017年10月之后發(fā)布的Android Studio 3.x版本,谷歌(Google)官方從中剝離了Android SDK,改由用戶通過環(huán)境提供的SDK Manager或AVD映像工具下載,再根據(jù)實際開發(fā)需求定制安裝,這么做極大地精簡了原Android Studio安裝包的體積,降低了對用戶計算機系統(tǒng)配置的要求。新版Android Studio增加了默認(rèn)的約束布局(ConstraintLayout),為用戶設(shè)計布局優(yōu)雅的App界面提供了便捷之處。
本書以Android Studio 3.x作為平臺,系統(tǒng)介紹Android平臺App開發(fā),刪減了過時和簡單常識性的內(nèi)容,貼近當(dāng)前5G智能手機,又大幅增加新的應(yīng)用體系和讀者重點關(guān)注的內(nèi)容。全書內(nèi)容包括Android開發(fā)入門、Android用戶界面、界面布局與活動頁、移動App高級界面開發(fā)技術(shù)、Android服務(wù)與廣播程序設(shè)計、Android數(shù)據(jù)存儲與共享、Android數(shù)據(jù)庫和網(wǎng)絡(luò)編程、Android多媒體和圖形圖像編程,以及Android第三方開發(fā)與設(shè)備操作。本書秉承前一版以應(yīng)用開發(fā)為主線,在應(yīng)用中理解Android開發(fā)基本內(nèi)容及相互關(guān)系的特點,并盡量采用(或模擬)當(dāng)前移動互聯(lián)網(wǎng)實際應(yīng)用的真實場景,學(xué)以致用。本書配套的實例盡量做到獨立完整,方便讀者單獨試做;同時又增強了啟發(fā)性,讀者可以根據(jù)自己的需要進(jìn)行更改和完善。
本書的習(xí)題和實驗均在上一版的基礎(chǔ)上進(jìn)行了擴充,更加系統(tǒng)化的同時更貼近當(dāng)前5G智能手機上真實的App案例。習(xí)題用于消化知識,實驗則用于完成應(yīng)用性實例。
掃描書中二維碼,可在線觀看相應(yīng)的微視頻(建議在WiFi環(huán)境下操作),這些視頻將主要內(nèi)容聯(lián)系起來講解,分析文件關(guān)系和代碼之間的相互聯(lián)系,介紹解決問題的過程和要點,回答讀者關(guān)心的問題。
本書提供配套的教學(xué)課件和全部應(yīng)用實例代碼(工程文件),需要者可從華信教育資源網(wǎng)(www.hxedu.com.cn)免費下載。
本書由鄭阿奇(南京師范大學(xué))主編,參加本書編寫工作的還有劉美芳、周何駿、孫德榮等。
由于編者水平有限,錯誤在所難免,敬請廣大師生、讀者批評指正。
意見建議郵箱:easybooks@163.com
編 者
鄭阿奇,南京師范大學(xué)計算機科學(xué)與技術(shù)學(xué)院,副教授,東南大學(xué)本科,曾任計算機軟件系主任,獲選南京師范大學(xué)教學(xué)名師培養(yǎng)人選。主編5套計算機系列教材,獲教育部優(yōu)秀教材二等獎、電子部優(yōu)秀教材二等獎、兩次獲江蘇省優(yōu)秀教學(xué)成果二等獎、江蘇省暢銷圖書編輯二等獎、全國高校出版社優(yōu)秀暢銷書二等獎、兩次獲南京師范大學(xué)優(yōu)秀教學(xué)成果一等獎、南京師范大學(xué)精品教材一等獎。參加主持國家八六三計劃子項目、江蘇省科技開發(fā)項目,主持南京市科技開發(fā)項目、泰州市科委項目、金陵石化公司項目,獲江蘇省優(yōu)秀軟件獎,江蘇省科技進(jìn)步獎、南京市創(chuàng)新成果獎。獲國家發(fā)明專利和實用新型專利20多個。
目 錄
第1章 Android開發(fā)入門 1
1.1 Android平臺簡介 1
1.2 Android Studio 3.x安裝 2
1.2.1 安裝前的準(zhǔn)備 2
1.2.2 安裝Android Studio 3
1.3 第一個Android應(yīng)用程序 5
1.3.1 創(chuàng)建Android Studio工程 6
1.3.2 設(shè)計應(yīng)用程序界面 8
1.3.3 添加程序代碼 9
1.3.4 Android應(yīng)用程序運行 12
1.3.5 Android Studio工程結(jié)構(gòu) 17
1.3.6 應(yīng)用程序代碼解析 19
1.3.7 事件處理的4種編程范式 25
1.4 Android SDK的安裝與管理 28
1.4.1 通過下載AVD映像安裝SDK 29
1.4.2 通過SDK Manager安裝SDK 29
1.4.3 兩種安裝方式的區(qū)別與聯(lián)系 30
第2章 Android用戶界面 31
2.1 用戶界面基礎(chǔ) 31
2.1.1 用戶界面基本要求 31
2.1.2 控件概述 34
2.2 基本的界面控件 39
2.2.1 文本視圖:TextView 39
2.2.2 按鈕和圖像按鈕:Button/ImageButton 42
2.2.3 圖像視圖:ImageView 45
2.2.4 復(fù)選框:CheckBox 48
2.2.5 單選按鈕及其容器:RadioButton和RadioGroup 50
2.2.6 文本編輯框:EditText 53
2.2.7 下拉框:Spinner 58
2.2.8 自動完成文本視圖:AutoCompleteTextView 61
2.2.9 日期時間選擇器:DatePicker/TimePicker 63
2.3 界面事件 67
2.3.1 按鍵事件 67
2.3.2 觸摸事件 69
第3章 界面布局與活動頁 73
3.1 界面布局 73
3.1.1 約束布局:ConstraintLayout 73
3.1.2 自定義布局 76
3.1.3 界面布局的應(yīng)用 82
3.2 Activity活動頁 85
3.2.1 Activity概述 86
3.2.2 頁面間的數(shù)據(jù)交互 86
3.2.3 頁面生命周期 92
第4章 移動App高級界面開發(fā)技術(shù) 98
4.1 App通用界面元素 98
4.2 界面元素開發(fā) 100
4.2.1 標(biāo)簽欄 100
4.2.2 輪播條 106
4.2.3 頻道欄 111
4.3 內(nèi)容的呈現(xiàn) 116
4.3.1 列表視圖 116
4.3.2 網(wǎng)格視圖 122
4.3.3 類別標(biāo)簽列表 128
4.4 整合為完整App 134
4.4.1 界面元素集成 135
4.4.2 通知消息計數(shù) 138
第5章 Android服務(wù)與廣播程序設(shè)計 143
5.1 Service(服務(wù))程序設(shè)計 143
5.1.1 Service概述 143
5.1.2 啟動方式使用Service 145
5.1.3 綁定方式使用Service 150
5.1.4 多Service交互及生命周期 155
5.2 廣播(BroadcastReceiver) 162
5.2.1 BroadcastReceiver概述 162
5.2.2 普通廣播舉例 165
5.2.3 有序廣播舉例 166
第6章 Android數(shù)據(jù)存儲與共享 171
6.1 SharedPreferences(共享優(yōu)先)存儲 171
6.1.1 SharedPreferences概述 171
6.1.2 SharedPreferences舉例 172
6.2 內(nèi)部文件存儲 183
6.2.1 Android系統(tǒng)文件訪問 183
6.2.2 文件存儲舉例 184
6.3 SQLite數(shù)據(jù)庫存儲與共享 187
6.3.1 SQLite概述 187
6.3.2 SQLite應(yīng)用舉例 188
6.4 ContentProvider數(shù)據(jù)共享組件 191
6.4.1 ContentProvider組件 191
6.4.2 ContentProvider創(chuàng)建 192
6.4.3 ContentProvider應(yīng)用舉例 195
第7章 Android數(shù)據(jù)庫和網(wǎng)絡(luò)編程 199
7.1 數(shù)據(jù)庫準(zhǔn)備 199
7.2 Android JDBC編程 200
7.2.1 基本原理 200
7.2.2 Android JDBC直連MySQL 202
7.2.3 Android JDBC直連SQL Server 205
7.2.4 Android JDBC直連Oracle 206
7.2.5 以表格形式顯示數(shù)據(jù)庫表數(shù)據(jù) 206
7.3 Android HTTP編程 213
7.3.1 基本原理 213
7.3.2 環(huán)境安裝 215
7.3.3 Web應(yīng)用開發(fā)和部署 217
7.3.4 移動端Android程序開發(fā) 222
7.4 Android與WebService交互 226
7.4.1 基本原理 226
7.4.2 配置IIS服務(wù)器 227
7.4.3 開發(fā)WebService 229
7.4.4 發(fā)布WebService 233
7.4.5 移動端Android程序開發(fā) 234
7.5 網(wǎng)上商城JSON數(shù)據(jù)操作 237
7.5.1 基本原理 237
7.5.2 Web端開發(fā) 238
7.5.3 移動端開發(fā) 240
第8章 Android多媒體和圖形圖像編程 246
8.1 媒體播放器的開發(fā) 246
8.1.1 視頻播放 246
8.1.2 音頻播放 256
8.1.3 錄像功能 258
8.2 圖形圖像處理 263
8.2.1 圖像傾斜縮放 263
8.2.2 圖像扭曲 267
8.3 手機相冊功能 270
8.4 OpenGL圖形庫 276
8.4.1 OpenGL簡介 276
8.4.2 構(gòu)建OpenGL環(huán)境 276
8.4.3 定義和繪制圖形 279
第9章 Android第三方開發(fā)與設(shè)備操作 282
9.1 生成和掃描二維碼(ZXing庫) 282
9.1.1 ZXing概述 282
9.1.2 整合ZXing框架 282
9.1.3 界面設(shè)計 286
9.1.4 二維碼生成 286
9.1.5 二維碼掃描 289
9.2 接入支付寶(alipaySdk庫) 291
9.2.1 支付接口 291
9.2.2 集成支付功能 294
9.2.3 支付功能實現(xiàn) 295
9.3 地圖應(yīng)用開發(fā)(高德地圖開放平臺) 300
9.3.1 配置地圖環(huán)境 300
9.3.2 地圖基本檢索應(yīng)用 306
9.3.3 GPS定位和周邊搜索 314
9.3.4 駕駛路徑規(guī)劃 320
9.3.5 百度地圖應(yīng)用開發(fā) 327
9.4 Android設(shè)備操作 328
9.4.1 計步器 328
9.4.2 搖一搖 330
9.4.3 藍(lán)牙設(shè)備發(fā)現(xiàn) 332
9.4.4 手電筒 335
習(xí)題和實驗 338
第1章 Android開發(fā)入門 338
第2章 Android用戶界面 340
第3章 界面布局與活動頁 343
第4章 移動App高級界面開發(fā)技術(shù) 346
第5章 Android服務(wù)與廣播程序設(shè)計 348
第6章 Android數(shù)據(jù)存儲與共享 349
第7章 Android數(shù)據(jù)庫和網(wǎng)絡(luò)編程 350
第8章 Android多媒體和圖形圖像編程 352
第9章 Android第三方開發(fā)與設(shè)備操作 354
習(xí)題參考答案 356
第1章 Android開發(fā)入門 356
第2章 Android用戶界面 357
第3章 界面布局與活動頁 358
第4章 移動App高級界面開發(fā)技術(shù) 359
第5章 Android服務(wù)與廣播程序設(shè)計 360
第6章 Android數(shù)據(jù)存儲與共享 361
第7章 Android數(shù)據(jù)庫和網(wǎng)絡(luò)編程 361
第8章 Android多媒體和圖形圖像編程 362
第9章 Android第三方開發(fā)與設(shè)備操作 363