本書(shū)以目前較為穩(wěn)定的Android 9.0(API level 28)為基礎(chǔ),全面講解了Android程序設(shè)計(jì),涵蓋了Android程序設(shè)計(jì)所需的必備知識(shí)點(diǎn),每個(gè)知識(shí)點(diǎn)都對(duì)應(yīng)了示例。全書(shū)共12章,具體內(nèi)容包括:Android快速入門(mén)、Activity組件、UI組件基礎(chǔ)、AdapterView組件、UI組件進(jìn)階、Fragment 組件、線程間通信、數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)通信、Service 組件、廣播、應(yīng)用程序間的數(shù)據(jù)共享。
本書(shū)適合Android初學(xué)者入門(mén)使用,也可作為高等院校相關(guān)課程的教材,還可作為Android程序員的參考用書(shū)。
Android系統(tǒng)作為當(dāng)今最為流行、最為普及的移動(dòng)端操作系統(tǒng)之一,受到了廣大開(kāi)發(fā)人員的青睞。本書(shū)旨在引導(dǎo)開(kāi)發(fā)人員快速入門(mén)Android程序設(shè)計(jì),在學(xué)習(xí)本書(shū)前開(kāi)發(fā)人員應(yīng)具備Java語(yǔ)言的基礎(chǔ)知識(shí)。
1. 本書(shū)內(nèi)容簡(jiǎn)介
從準(zhǔn)確意義上說(shuō),Android不是一門(mén)語(yǔ)言,而是一個(gè)程序設(shè)計(jì)框架。作為一個(gè)全新的程序設(shè)計(jì)框架,讀者應(yīng)將學(xué)習(xí)的重點(diǎn)集中在框架本身的功能及模塊上。
本書(shū)以目前較為穩(wěn)定的Android 9.0(API level 28)為基礎(chǔ),全面講解了Android程序設(shè)計(jì)。全書(shū)共分為12章,涵蓋了Android程序設(shè)計(jì)的必備知識(shí)點(diǎn),每個(gè)知識(shí)點(diǎn)都對(duì)應(yīng)了示例,秉承北京尚學(xué)堂實(shí)戰(zhàn)化的教學(xué)理念,讓大家高效學(xué)習(xí),迅速進(jìn)入開(kāi)發(fā)者角色。
本書(shū)所涉及內(nèi)容以Java程序設(shè)計(jì)為基礎(chǔ),建議在開(kāi)設(shè)本書(shū)課程前應(yīng)設(shè)置不少于32學(xué)時(shí)的Java程序設(shè)計(jì)課程。本書(shū)內(nèi)容注重實(shí)踐,建議教學(xué)時(shí)理論課時(shí)數(shù)不少于24學(xué)時(shí),實(shí)驗(yàn)課時(shí)數(shù)不少于32學(xué)時(shí)。
本書(shū)第1~6章由山西農(nóng)業(yè)大學(xué)史廣編寫(xiě),第7~12章由北京尚學(xué)堂科技有限公司高昱編寫(xiě),全書(shū)由北京尚學(xué)堂科技有限公司高淇主審。
本書(shū)適合Android初學(xué)者入門(mén)使用,也可作為高等院校相關(guān)課程的教材,還可作為Android程序員的參考用書(shū)。
2. 叢書(shū)作者團(tuán)隊(duì)簡(jiǎn)介
本書(shū)為“百戰(zhàn)程序員”系列叢書(shū)之一。本系列叢書(shū)由北京尚學(xué)堂科技有限公司組織編寫(xiě)。公司目前業(yè)務(wù)涵蓋軟件開(kāi)發(fā)、技術(shù)培訓(xùn)、技術(shù)咨詢、在線教育四大領(lǐng)域,事業(yè)部遍布國(guó)內(nèi)十多個(gè)城市。公司目前與北京大學(xué)軟件工程國(guó)家研發(fā)中心聯(lián)合研發(fā)了“程序理解與代碼正確性智能判斷”技術(shù),連續(xù)多年被新浪網(wǎng)、騰訊網(wǎng)授予“中國(guó)好老師”“金牌教育機(jī)構(gòu)”等稱(chēng)號(hào),具有豐富的軟件開(kāi)始經(jīng)驗(yàn)與教材編寫(xiě)實(shí)力。這套“百戰(zhàn)程序員”系列叢書(shū)涉及大數(shù)據(jù)、人工智能、Android開(kāi)發(fā)、Java語(yǔ)言、C語(yǔ)言、Python語(yǔ)言等領(lǐng)域,其中每?jī)?cè)書(shū)均配有一定的相關(guān)資源。
叢書(shū)編寫(xiě)組郵箱:book@sxt.cn,歡迎聯(lián)系交流。
本系列叢書(shū)配套資料可掃描以下二維碼獲。
三人行必有我?guī),如讀者在閱讀本系列叢書(shū)的過(guò)程中發(fā)現(xiàn)有不妥之處,望請(qǐng)指出,我們會(huì)不斷改進(jìn)、完善。
第1章 Android快速入門(mén) 1
1.1 Android系統(tǒng)概述 1
1.1.1 Android系統(tǒng)的版本更替 2
1.1.2 Android系統(tǒng)的特性 3
1.1.3 Android系統(tǒng)的體系結(jié)構(gòu) 3
1.2 開(kāi)發(fā)環(huán)境的搭建 5
1.2.1 開(kāi)發(fā)工具 5
1.2.2 開(kāi)發(fā)環(huán)境的搭建 5
1.3 Android項(xiàng)目的創(chuàng)建 11
1.3.1 創(chuàng)建項(xiàng)目 11
1.3.2 模擬器的配置 14
1.3.3 運(yùn)行項(xiàng)目 15
1.4 Android項(xiàng)目的結(jié)構(gòu) 16
1.5 日志工具Log的使用 19
習(xí)題 20
第2章 Activity組件 21
2.1 Activity簡(jiǎn)介 21
2.2 創(chuàng)建Activity 21
2.3 創(chuàng)建Layout 23
2.4 綁定Layout 24
2.5 Activity的生命周期 25
2.6 Activity的起死回生 26
2.7 Activity之間的切換 29
2.7.1 使用顯式Intent 29
2.7.2 使用隱式Intent 32
2.7.3 Intent向下傳遞數(shù)據(jù) 33
2.7.4 Intent向上傳遞數(shù)據(jù) 35
2.8 Activity的啟動(dòng)模式 38
2.8.1 standard模式 39
2.8.2 singleTop模式 40
2.8.3 singleTask模式 40
2.8.4 singleInstance模式 43
習(xí)題 43
第3章 UI組件基礎(chǔ) 44
3.1 View和ViewGroup 44
3.2 布局組件 45
3.2.1 LinearLayout(線性布局) 45
3.2.2 RelativeLayout(相對(duì)布局) 47
3.2.3 TableLayout(表格布局) 49
3.2.4 FrameLayout(幀布局) 52
3.2.5 GridLayout(網(wǎng)格布局) 54
3.2.6 AbsoluteLayout(絕對(duì)布局) 55
3.3 常用UI組件 56
3.3.1 TextView(文本框) 56
3.3.2 EditText (輸入框) 58
3.3.3 Button(按鈕) 59
3.3.4 ImageView(圖像視圖) 61
3.3.5 RadioButton(單選按鈕) 64
3.3.6 CheckBox(復(fù)選框) 66
3.3.7 ProgressBar(進(jìn)度條) 70
習(xí)題 72
第4章 AdapterView組件 73
4.1 AdapterView簡(jiǎn)介 73
4.2 Adapter簡(jiǎn)介 73
4.3 ListView組件 74
4.4 使用自定義Adapter填充ListView組件 75
4.5 使用ArrayAdapter填充ListView組件 79
4.6 使用SimpleAdapter填充ListView組件 80
4.7 ListView的事件 83
4.8 ListView的緩存機(jī)制 83
4.9 Spinner組件 85
4.10 RecyclerView組件 87
4.10.1 RecyclerView的基本使用 87
4.10.2 RecyclerView的布局管理器 90
4.10.3 RecyclerView的點(diǎn)擊事件 93
習(xí)題 94
第5章 UI組件進(jìn)階 95
5.1 Dialog(對(duì)話框) 95
5.1.1 AlertDialog(提示對(duì)話框) 95
5.1.2 ProgressDialog(進(jìn)度條對(duì)話框) 101
5.1.3 DatePickerDialog(日期選擇對(duì)話框) 102
5.2 Menu(菜單) 104
5.2.1 OptionsMenu(選項(xiàng)菜單) 104
5.2.2 ContextMenu(上下文菜單) 106
5.2.3 SubMenu(子菜單) 109
5.3 Notification (通知) 111
5.3.1 Notification的使用 111
5.3.2 Notification的大視圖風(fēng)格 115
5.4 Toast(消息提示框) 118
5.4.1 Toast的使用 119
5.4.2 自定義Toast 122
5.5 樣式和主題 123
5.5.1 樣式 124
5.5.2 主題 125
5.6 單位和尺寸 125
習(xí)題 126
第6章 Fragment組件 127
6.1 Fragment簡(jiǎn)介 127
6.2 Fragment的生命周期 128
6.3 Fragment的靜態(tài)加載 129
6.4 Fragment的動(dòng)態(tài)加載 132
6.5 Fragment的回退棧 137
習(xí)題 139
第7章 線程間通信 140
7.1 Handler消息傳遞機(jī)制 140
7.2 Message對(duì)象 145
7.3 MessageQueue消息隊(duì)列 146
7.4 Looper消息循環(huán) 146
7.4.1 Looper簡(jiǎn)介 147
7.4.2 主線程向子線程發(fā)送消息 147
7.5 AsyncTask異步任務(wù)執(zhí)行類(lèi) 149
習(xí)題 153
第8章 數(shù)據(jù)存儲(chǔ) 154
8.1 文件存儲(chǔ) 154
8.1.1 將數(shù)據(jù)存儲(chǔ)到文件中 154
8.1.2 從文件中讀取數(shù)據(jù) 157
8.2 SharedPreferences存儲(chǔ) 160
8.2.1 數(shù)據(jù)寫(xiě)入SharedPreferences中 160
8.2.2 讀取SharedPreferences中的數(shù)據(jù) 163
8.3 SQLite存儲(chǔ) 165
8.3.1 創(chuàng)建數(shù)據(jù)庫(kù) 166
8.3.2 升級(jí)數(shù)據(jù)庫(kù) 169
8.3.3 增加數(shù)據(jù) 172
8.3.4 刪除數(shù)據(jù) 175
8.3.5 修改數(shù)據(jù) 178
8.3.6 查詢數(shù)據(jù) 182
習(xí)題 185
第9章 網(wǎng)絡(luò)通信 186
9.1 HTTP協(xié)議 186
9.2 獲取網(wǎng)絡(luò)狀態(tài) 186
9.3 使用WebView加載網(wǎng)頁(yè) 190
9.4 使用HttpURLConnection發(fā)送HTTP請(qǐng)求 191
9.5 xml數(shù)據(jù)解析 195
9.6 json數(shù)據(jù)解析 196
習(xí)題 197
第10章 Service 組件 198
10.1 Service的生命周期 198
10.2 Service的創(chuàng)建 199
10.3 通過(guò)startService()方法啟動(dòng)Service 200
10.4 通過(guò)bindService()方法啟動(dòng)Service 203
10.5 使用IntentService實(shí)現(xiàn)Service的異步執(zhí)行 206
10.6 使用AIDL實(shí)現(xiàn)Service的進(jìn)程間通信 208
習(xí)題 216
第11章 廣播 217
11.1 廣播簡(jiǎn)介 217
11.2 廣播接收者 218
11.3 接收系統(tǒng)廣播 218
11.4 自定義廣播 221
習(xí)題 225
第12章 應(yīng)用程序間的數(shù)據(jù)共享 226
12.1 數(shù)據(jù)共享的原理 226
12.2 數(shù)據(jù)共享的權(quán)限 226
12.3 使用ContentResolver實(shí)現(xiàn)數(shù)據(jù)共享 230
12.4 使用ContentProvider實(shí)現(xiàn)數(shù)據(jù)共享 234
習(xí)題 242
附錄 Android系統(tǒng)權(quán)限一覽表 243
參考文獻(xiàn) 248