本書以Android Studio 3.x作為平臺,系統(tǒng)介紹Android平臺App開發(fā)。本書秉承前一版以應用開發(fā)為主線,在應用中理解Android開發(fā)基本內容及相互關系的優(yōu)點,貼近5G智能手機,又大幅增加**的應用體系,還增加系統(tǒng)介紹移動App高級界面開發(fā)、數(shù)據(jù)庫和網(wǎng)絡編程、多媒體和圖形圖像編程以及各種常用第三方開發(fā)與設備操作等內容。全書盡量采用(或模擬)當前移動互聯(lián)網(wǎng)實際應用的真實場景,學以致用。配套的實例盡量做到獨立完整,方便讀者試做;同時又增強了啟發(fā)性,提示讀者可以根據(jù)需要進行更改和完善。本書配套的習題和實驗均進行了擴充,更加系統(tǒng)化,同時緊密貼近當前5G智能手機上真實的App案例。掃描書中二維碼可在線觀看微視頻,另外還提供配套的教學課件和全部應用實例代碼(工程文件)。本書可作為大學本科和高職高專院校有關專業(yè)的教材和教學參考書,也可作為Android自學用書和開發(fā)參考書。
前 言
Android是目前流行的智能手機操作系統(tǒng)之一,其中文名稱為“安卓系統(tǒng)”。隨著5G時代的來臨,基于Android的應用開發(fā)將出現(xiàn)更多新的應用場景。
Android官方推薦的開發(fā)環(huán)境—Android Studio,基于IntelliJ IDEA,集成了Android 平臺的諸多組件,并提供完善的Android開發(fā)和調試工具,無論安裝還是使用都十分簡便,成為當下用于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增加了默認的約束布局(ConstraintLayout),為用戶設計布局優(yōu)雅的App界面提供了便捷之處。
本書以Android Studio 3.x作為平臺,系統(tǒng)介紹Android平臺App開發(fā),刪減了過時和簡單常識性的內容,貼近當前5G智能手機,又大幅增加新的應用體系和讀者重點關注的內容。全書內容包括Android開發(fā)入門、Android用戶界面、界面布局與活動頁、移動App高級界面開發(fā)技術、Android服務與廣播程序設計、Android數(shù)據(jù)存儲與共享、Android數(shù)據(jù)庫和網(wǎng)絡編程、Android多媒體和圖形圖像編程,以及Android第三方開發(fā)與設備操作。本書秉承前一版以應用開發(fā)為主線,在應用中理解Android開發(fā)基本內容及相互關系的特點,并盡量采用(或模擬)當前移動互聯(lián)網(wǎng)實際應用的真實場景,學以致用。本書配套的實例盡量做到獨立完整,方便讀者單獨試做;同時又增強了啟發(fā)性,讀者可以根據(jù)自己的需要進行更改和完善。
本書的習題和實驗均在上一版的基礎上進行了擴充,更加系統(tǒng)化的同時更貼近當前5G智能手機上真實的App案例。習題用于消化知識,實驗則用于完成應用性實例。
掃描書中二維碼,可在線觀看相應的微視頻(建議在WiFi環(huán)境下操作),這些視頻將主要內容聯(lián)系起來講解,分析文件關系和代碼之間的相互聯(lián)系,介紹解決問題的過程和要點,回答讀者關心的問題。
本書提供配套的教學課件和全部應用實例代碼(工程文件),需要者可從華信教育資源網(wǎng)(www.hxedu.com.cn)免費下載。
本書由鄭阿奇(南京師范大學)主編,參加本書編寫工作的還有劉美芳、周何駿、孫德榮等。
由于編者水平有限,錯誤在所難免,敬請廣大師生、讀者批評指正。
意見建議郵箱:easybooks@163.com
編 者
鄭阿奇,南京師范大學計算機科學與技術學院,副教授,東南大學本科,曾任計算機軟件系主任,獲選南京師范大學教學名師培養(yǎng)人選。主編5套計算機系列教材,獲教育部優(yōu)秀教材二等獎、電子部優(yōu)秀教材二等獎、兩次獲江蘇省優(yōu)秀教學成果二等獎、江蘇省暢銷圖書編輯二等獎、全國高校出版社優(yōu)秀暢銷書二等獎、兩次獲南京師范大學優(yōu)秀教學成果一等獎、南京師范大學精品教材一等獎。參加主持國家八六三計劃子項目、江蘇省科技開發(fā)項目,主持南京市科技開發(fā)項目、泰州市科委項目、金陵石化公司項目,獲江蘇省優(yōu)秀軟件獎,江蘇省科技進步獎、南京市創(chuàng)新成果獎。獲國家發(fā)明專利和實用新型專利20多個。
目 錄
第1章 Android開發(fā)入門 1
1.1 Android平臺簡介 1
1.2 Android Studio 3.x安裝 2
1.2.1 安裝前的準備 2
1.2.2 安裝Android Studio 3
1.3 第一個Android應用程序 5
1.3.1 創(chuàng)建Android Studio工程 6
1.3.2 設計應用程序界面 8
1.3.3 添加程序代碼 9
1.3.4 Android應用程序運行 12
1.3.5 Android Studio工程結構 17
1.3.6 應用程序代碼解析 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 用戶界面基礎 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 復選框: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 界面布局的應用 82
3.2 Activity活動頁 85
3.2.1 Activity概述 86
3.2.2 頁面間的數(shù)據(jù)交互 86
3.2.3 頁面生命周期 92
第4章 移動App高級界面開發(fā)技術 98
4.1 App通用界面元素 98
4.2 界面元素開發(fā) 100
4.2.1 標簽欄 100
4.2.2 輪播條 106
4.2.3 頻道欄 111
4.3 內容的呈現(xiàn) 116
4.3.1 列表視圖 116
4.3.2 網(wǎng)格視圖 122
4.3.3 類別標簽列表 128
4.4 整合為完整App 134
4.4.1 界面元素集成 135
4.4.2 通知消息計數(shù) 138
第5章 Android服務與廣播程序設計 143
5.1 Service(服務)程序設計 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 內部文件存儲 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應用舉例 188
6.4 ContentProvider數(shù)據(jù)共享組件 191
6.4.1 ContentProvider組件 191
6.4.2 ContentProvider創(chuàng)建 192
6.4.3 ContentProvider應用舉例 195
第7章 Android數(shù)據(jù)庫和網(wǎng)絡編程 199
7.1 數(shù)據(jù)庫準備 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應用開發(fā)和部署 217
7.3.4 移動端Android程序開發(fā) 222
7.4 Android與WebService交互 226
7.4.1 基本原理 226
7.4.2 配置IIS服務器 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 構建OpenGL環(huán)境 276
8.4.3 定義和繪制圖形 279
第9章 Android第三方開發(fā)與設備操作 282
9.1 生成和掃描二維碼(ZXing庫) 282
9.1.1 ZXing概述 282
9.1.2 整合ZXing框架 282
9.1.3 界面設計 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 地圖應用開發(fā)(高德地圖開放平臺) 300
9.3.1 配置地圖環(huán)境 300
9.3.2 地圖基本檢索應用 306
9.3.3 GPS定位和周邊搜索 314
9.3.4 駕駛路徑規(guī)劃 320
9.3.5 百度地圖應用開發(fā) 327
9.4 Android設備操作 328
9.4.1 計步器 328
9.4.2 搖一搖 330
9.4.3 藍牙設備發(fā)現(xiàn) 332
9.4.4 手電筒 335
習題和實驗 338
第1章 Android開發(fā)入門 338
第2章 Android用戶界面 340
第3章 界面布局與活動頁 343
第4章 移動App高級界面開發(fā)技術 346
第5章 Android服務與廣播程序設計 348
第6章 Android數(shù)據(jù)存儲與共享 349
第7章 Android數(shù)據(jù)庫和網(wǎng)絡編程 350
第8章 Android多媒體和圖形圖像編程 352
第9章 Android第三方開發(fā)與設備操作 354
習題參考答案 356
第1章 Android開發(fā)入門 356
第2章 Android用戶界面 357
第3章 界面布局與活動頁 358
第4章 移動App高級界面開發(fā)技術 359
第5章 Android服務與廣播程序設計 360
第6章 Android數(shù)據(jù)存儲與共享 361
第7章 Android數(shù)據(jù)庫和網(wǎng)絡編程 361
第8章 Android多媒體和圖形圖像編程 362
第9章 Android第三方開發(fā)與設備操作 363