Android移動(dòng)應(yīng)用開發(fā)教程 9787111715429 李立亞 江蘇省高等學(xué)校重點(diǎn)教材 立體化教材
定 價(jià):69 元
叢書名:江蘇省高等學(xué)校重點(diǎn)教材 高等職業(yè)教育系列教材
- 作者:李立亞 張春燕 吳麗
- 出版時(shí)間:2022/11/1
- ISBN:9787111715429
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TN929.53
- 頁(yè)碼:266
- 紙張:
- 版次:
- 開本:16
本書采用活頁(yè)式教材思路設(shè)計(jì)章節(jié)內(nèi)容,并設(shè)計(jì)了62個(gè)相互獨(dú)立的案例,這些案例可以靈活組合和拓展,方便讀者設(shè)計(jì)個(gè)性化的學(xué)習(xí)方案,自主進(jìn)行拓展練習(xí)。
本書共14章。第1章介紹Android開發(fā)環(huán)境及項(xiàng)目結(jié)構(gòu)。第2、3章介紹Android界面設(shè)計(jì)基礎(chǔ)知識(shí)。第4、5章介紹Android窗口開發(fā)。第6章介紹Android子窗口設(shè)計(jì)。第7章介紹數(shù)據(jù)訪問技術(shù)。第8、9章介紹廣播、內(nèi)容提供者和服務(wù)的開發(fā)。第10章介紹線程開發(fā)、Handler消息機(jī)制和消息驅(qū)動(dòng)線程,并介紹了Android提供的HandlerThread、AsyncTask、IntentService工具類的使用。第11章介紹網(wǎng)絡(luò)編程。第12章介紹WebView控件的使用。第13章介紹傳感器與定位,并通過一個(gè)項(xiàng)目案例來(lái)演示如何獲取北斗等導(dǎo)航系統(tǒng)的可見衛(wèi)星數(shù)量。第14章介紹藍(lán)牙通信編程,并通過綜合案例—藍(lán)牙串口助手的開發(fā),演示廣播、服務(wù)、線程和消息機(jī)制等組件的綜合運(yùn)用。
本書可作為高職高專、職業(yè)本科、應(yīng)用本科院校的計(jì)算機(jī)、物聯(lián)網(wǎng)、移動(dòng)應(yīng)用開發(fā)、移動(dòng)互聯(lián)應(yīng)用技術(shù)等專業(yè)的教材,也可作為Android自學(xué)者和從事Android應(yīng)用開發(fā)的工程技術(shù)人員的參考用書。
前言
第1章 Android開發(fā)簡(jiǎn)介1
1.1 Android OS簡(jiǎn)介1
1.1.1 Android的發(fā)展歷史1
1.1.2 Android體系結(jié)構(gòu)1
1.1.3 Dalvik虛擬機(jī)2
1.2 搭建開發(fā)環(huán)境3
1.2.1 下載和安裝JDK3
1.2.2 下載和安裝Android Studio5
1.2.3 創(chuàng)建Android模擬器9
1.2.4 下載Android SDK11
1.3 第一個(gè)Android程序13
1.3.1 HelloWorld程序13
1.3.2 Android程序結(jié)構(gòu)16
1.3.3 Android程序打包17
1.4 配置文件build.gradle18
1.5 思考與練習(xí)19
第2章 Android應(yīng)用界面布局設(shè)計(jì)20
2.1 UI控件簡(jiǎn)介20
2.2 經(jīng)典布局22
2.2.1 線性布局LinearLayout23
2.2.2 案例1 制作用戶注冊(cè)頁(yè)面25
2.2.3 幀布局FrameLayout26
2.3 約束布局ConstraintLayout27
2.3.1 相對(duì)定位27
2.3.2 角度定位29
2.3.3 居中31
2.3.4 偏移32
2.3.5 尺寸約束33
2.3.6 鏈34
2.4 輔助布局工具36
2.4.1 分組36
2.4.2 屏障37
2.4.3 輔助線39
2.5 思考與練習(xí)40
第3章 Android應(yīng)用界面效果41
3.1 樣式和主題41
3.1.1 樣式和主題介紹41
3.1.2 案例2 使用自定義樣式和主題42
3.2 國(guó)際化43
3.2.1 國(guó)際化方式43
3.2.2 案例3 讓頁(yè)面支持中英顯示44
3.3 shape形狀46
3.3.1 shape形狀語(yǔ)法介紹46
3.3.2 案例4 shape形狀的使用47
3.4 layer-list圖層列表49
3.4.1 案例5 單線效果49
3.4.2 案例6 雙線效果49
3.4.3 案例7 陰影效果50
3.4.4 案例8 圖片疊放效果50
3.4.5 案例9 圖片旋轉(zhuǎn)疊放效果51
3.5 selector選擇器51
3.5.1 selector選擇器語(yǔ)法介紹51
3.5.2 案例10 顏色選擇器和圖形選擇器的使用52
3.6 思考與練習(xí)53
第4章 Android應(yīng)用人機(jī)交互54
4.1 Android應(yīng)用事件處理54
4.1.1 案例11 在代碼中操作控件54
4.1.2 案例12 以注冊(cè)監(jiān)聽器方式響應(yīng)用戶單擊事件56
4.1.3 案例13 重寫事件方法以處理按鍵操作57
4.2 菜單58
4.2.1 案例14 為頁(yè)面添加選項(xiàng)菜單59
4.2.2 案例15 為頁(yè)面添加上下文菜單60
4.3 常用控件62
4.3.1 文本顯示控件62
4.3.2 輸入框控件62
4.3.3 按鈕類控件63
4.3.4 圖片顯示控件64
4.3.5 案例16 幾個(gè)控件的使用65
4.4 軟鍵盤67
4.4.1 軟鍵盤的設(shè)置67
4.4.2 案例17 軟鍵盤的使用68
4.5 思考與練習(xí)69
第5章 Activity和Intent70
5.1 Activity介紹70
5.1.1 Activity的啟動(dòng)模式70
5.1.2 Activity生命周期71
5.1.3 案例18 啟動(dòng)窗口輸出生命周期方法73
5.2 啟動(dòng)新窗口74
5.2.1 Intent介紹74
5.2.2 案例19 添加新窗口并啟動(dòng)76
5.2.3 案例20 使用瀏覽器瀏覽網(wǎng)頁(yè)77
5.3 Activity中的數(shù)據(jù)傳遞78
5.3.1 數(shù)據(jù)正傳79
5.3.2 案例21 從登錄界面跳轉(zhuǎn)到新界面79
5.3.3 數(shù)據(jù)回傳80
5.3.4 案例22 注冊(cè)頁(yè)面頭像選擇81
5.4 對(duì)話框83
5.4.1 日期和時(shí)間對(duì)話框類的使用84
5.4.2 AlertDialog對(duì)話框類的使用85
5.5 思考與練習(xí)88
第6章 子窗口設(shè)計(jì)89
6.1 Fragment介紹89
6.1.1 Fragment的創(chuàng)建89
6.1.2 Fragment的生命周期91
6.1.3 Fragment的使用91
6.1.4 案例23 Fragment的使用92
6.2 BottomNavigationView控件94
6.2.1 BottomNavigationView控件簡(jiǎn)介94
6.2.2 案例24 Fragment與BottomNavigationView結(jié)合實(shí)現(xiàn)子窗口切換95
6.3 ViewPager控件97
6.3.1 ViewPager控件簡(jiǎn)介97
6.3.2 PagerAdapter適配器98
6.3.3 案例25 用ViewPager實(shí)現(xiàn)簡(jiǎn)單的圖片切換99
6.4 TabLayout控件100
6.4.1 TabLayout控件簡(jiǎn)介100
6.4.2 TabLayout的使用100
6.4.3 案例26 TabLayout與ViewPager結(jié)合設(shè)計(jì)子欄目102
6.5 Fragment的嵌套使用103
6.5.1 Fragment的嵌套103
6.5.2 Fragment適配器103
6.5.3 案例27 結(jié)合TabLayout、ViewPager、Fragment嵌套實(shí)現(xiàn)頁(yè)中頁(yè)104
6.6 思考與練習(xí)106
第7章 數(shù)據(jù)訪問107
7.1 SharedPreferences的使用107
7.1.1 SharedPreferences簡(jiǎn)介107
7.1.2 案例28 使用SharedPreferences保存用戶名和密碼108
7.2 文件存儲(chǔ)110
7.2.1 內(nèi)部存儲(chǔ)110
7.2.2 案例29 使用內(nèi)部存儲(chǔ)保存文本文件110
7.2.3 外部存儲(chǔ)112
7.2.4 案例30 使用外部存儲(chǔ)保存文件112
7.3 JSON解析115
7.3.1 JSON數(shù)據(jù)115
7.3.2 JSON解析方法116
7.3.3 案例31 使用org.json解析學(xué)生信息118
7.3.4 案例32 使用Gson解析天氣信息119
7.4 SQLite數(shù)據(jù)庫(kù)122
7.4.1 創(chuàng)建數(shù)據(jù)庫(kù)122
7.4.2 數(shù)據(jù)庫(kù)操作123
7.4.3 ListView控件的使用126
7.4.4 案例33 學(xué)生成績(jī)管理126
7.5 思考與練習(xí)129
第8章 廣播和內(nèi)容提供者131
8.1 廣播介紹131
8.1.1 廣播運(yùn)轉(zhuǎn)模式131
8.1.2 廣播分類132
8.2 全局廣播132
8.2.1 全局廣播的使用132
8.2.2 案例34 監(jiān)聽WiFi狀態(tài)134
8.3 本地廣播137
8.3.1 本地廣播的使用137
8.3.2 案例35 使用本地廣播發(fā)送數(shù)據(jù)138
8.4 內(nèi)容提供者139
8.4.1 內(nèi)容提供者介紹139
8.4.2 案例36 監(jiān)聽用戶截屏和短信142
8.5 思考與練習(xí)146
第9章 服務(wù)147
9.1 服務(wù)簡(jiǎn)介147
9.1.1 服務(wù)的使用方式147
9.1.2 自定義服務(wù)類的創(chuàng)建147
9.1.3 自定義服務(wù)類的注冊(cè)148
9.2 服務(wù)的生命周期149
9.2.1 服務(wù)運(yùn)行流程149
9.2.2 生命周期方法介紹149
9.2.3 服務(wù)的終止150
9.3 啟動(dòng)方式使用服務(wù)150
9.3.1 開發(fā)流程說(shuō)明150
9.3.2 案例37 啟動(dòng)方式使用服務(wù)152
9.4 綁定方式使用服務(wù)153
9.4.1 開發(fā)流程說(shuō)明154
9.4.2 案例38 綁定方式使用服務(wù)154
9.5 前臺(tái)服務(wù)157
9.6 案例39 音樂播放器158
9.6.1 MediaPlayer媒體播放類介紹158
9.6.2 音樂播放器的實(shí)現(xiàn)160
9.7 思考與練習(xí)162
第10章 線程與消息處理163
10.1 線程編程介紹163
10.1.1 進(jìn)程、線程和應(yīng)用程序163
10.1.2 Android應(yīng)用中的線程163
10.1.3 案例40 用Java線程類開發(fā)線程164
10.2 Handler消息機(jī)制166
10.2.1 Handler消息機(jī)制運(yùn)轉(zhuǎn)方式166
10.2.2 案例41 使用post方式更新UI窗口167
10.2.3 案例42 使用send方式向UI窗口發(fā)消息169
10.3 消息驅(qū)動(dòng)線程172
10.3.1 如何在線程中支持消息機(jī)制172
10.3.2 案例43 在后臺(tái)線程中實(shí)現(xiàn)消息機(jī)制173
10.4 Android提供的線程開發(fā)工具類176
10.4.1 案例44 HandlerThread類的使用177
10.4.2 案例45 AsyncTask類的使用179
10.4.3 案例46 IntentService類的使用182
10.5 思考與練習(xí)185
第11章 網(wǎng)絡(luò)編程186
11.1 案例47 獲取網(wǎng)絡(luò)狀態(tài)186
11.2 HttpURLConnection編程188
11.2.1 HTTP簡(jiǎn)介188
11.2.2 案例48 以GET方式獲得網(wǎng)頁(yè)和天氣189
11.2.3 案例49 以POST方式登錄服務(wù)器191
11.3 Volley框架195
11.3.1 Volley中請(qǐng)求類的使用195
11.3.2 案例50 使用ImageRequest獲取網(wǎng)絡(luò)圖片197
11.3.3 案例51 使用ImageLoader類和NetworkImageView控件加載圖片199
11.4 思考與練習(xí)202
第12章 WebView控件203
12.1 WebView控件介紹203
12.1.1 WebView控件方法203
12.1.2 案例52 使用WebView控件瀏覽網(wǎng)頁(yè)204
12.2 WebView控件功能定制205
12.2.1 WebView控件功能定制類205
12.2.2 案例53 使用WebView控件加載網(wǎng)頁(yè)并支持JavaScript207
12.3 案例54 監(jiān)聽長(zhǎng)按事件并獲取網(wǎng)頁(yè)內(nèi)容208
12.4 與網(wǎng)頁(yè)代碼交互210
12.4.1 案例55 使用WebView控件調(diào)用JavaScript代碼211
12.4.2 案例56 JavaScript調(diào)用Android代碼213
12.5 案例57 從網(wǎng)頁(yè)中下載文件216
12.6 思考與練習(xí)219
第13章 傳感器與定位220
13.1 Android平臺(tái)傳感器介紹220
13.1.1 Android平臺(tái)支持的傳感器220
13.1.2 傳感器坐標(biāo)系和模擬器221
13.1.3 傳感器開發(fā)框架介紹222
13.1.4 案例58 獲得設(shè)備傳感器及傳感事件處理224
13.2 傳感器數(shù)據(jù)獲取225
13.2.1 環(huán)境傳感器225
13.2.2 動(dòng)態(tài)傳感器225
13.2.3 位置傳感器228
13.2.4 案例59 獲得步數(shù)、光照、方位信息229
13.3 使用定位功能232
13.3.1 定位方式介紹233
13.3.2 定位開發(fā)框架233
13.3.3 案例60 獲得GPS定位數(shù)據(jù)235
13.3.4 案例61 獲得北斗等定位系統(tǒng)信息237
13.4 思考與練習(xí)241
第14章 藍(lán)牙通信編程242
14.1 藍(lán)牙通信編程介紹242
14.2 開啟藍(lán)牙242
14.3 經(jīng)典藍(lán)牙通信編程244
14.3.1 掃描藍(lán)牙244
14.3.2 藍(lán)牙配對(duì)245
14.3.3 藍(lán)牙連接246
14.3.4 在藍(lán)牙連接上通信248
14.4 低功耗藍(lán)牙通信編程248
14.4.1 掃描藍(lán)牙249
14.4.2 藍(lán)牙連接250
14.4.3 在藍(lán)牙連接上通信251
14.5 案例62 藍(lán)牙串口助手251
14.5.1 輔助工具的使用251
14.5.2 功能和總體結(jié)構(gòu)252
14.5.3 AppConfig類和廣播接收者類代碼254
14.5.4 ThreadBltClient類256
14.5.5 MyService服務(wù)類代碼259
14.5.6 MainActivity類代碼260
14.6 思考與練習(xí)266