Android移動應用開發(fā)教程 9787111715429 李立亞 江蘇省高等學校重點教材 立體化教材
定 價:69 元
叢書名:江蘇省高等學校重點教材 高等職業(yè)教育系列教材
- 作者:李立亞 張春燕 吳麗
- 出版時間:2022/11/1
- ISBN:9787111715429
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TN929.53
- 頁碼:266
- 紙張:
- 版次:
- 開本:16
本書采用活頁式教材思路設計章節(jié)內(nèi)容,并設計了62個相互獨立的案例,這些案例可以靈活組合和拓展,方便讀者設計個性化的學習方案,自主進行拓展練習。
本書共14章。第1章介紹Android開發(fā)環(huán)境及項目結(jié)構(gòu)。第2、3章介紹Android界面設計基礎知識。第4、5章介紹Android窗口開發(fā)。第6章介紹Android子窗口設計。第7章介紹數(shù)據(jù)訪問技術。第8、9章介紹廣播、內(nèi)容提供者和服務的開發(fā)。第10章介紹線程開發(fā)、Handler消息機制和消息驅(qū)動線程,并介紹了Android提供的HandlerThread、AsyncTask、IntentService工具類的使用。第11章介紹網(wǎng)絡編程。第12章介紹WebView控件的使用。第13章介紹傳感器與定位,并通過一個項目案例來演示如何獲取北斗等導航系統(tǒng)的可見衛(wèi)星數(shù)量。第14章介紹藍牙通信編程,并通過綜合案例—藍牙串口助手的開發(fā),演示廣播、服務、線程和消息機制等組件的綜合運用。
本書可作為高職高專、職業(yè)本科、應用本科院校的計算機、物聯(lián)網(wǎng)、移動應用開發(fā)、移動互聯(lián)應用技術等專業(yè)的教材,也可作為Android自學者和從事Android應用開發(fā)的工程技術人員的參考用書。
前言
第1章 Android開發(fā)簡介1
1.1 Android OS簡介1
1.1.1 Android的發(fā)展歷史1
1.1.2 Android體系結(jié)構(gòu)1
1.1.3 Dalvik虛擬機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 第一個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 思考與練習19
第2章 Android應用界面布局設計20
2.1 UI控件簡介20
2.2 經(jīng)典布局22
2.2.1 線性布局LinearLayout23
2.2.2 案例1 制作用戶注冊頁面25
2.2.3 幀布局FrameLayout26
2.3 約束布局ConstraintLayout27
2.3.1 相對定位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 思考與練習40
第3章 Android應用界面效果41
3.1 樣式和主題41
3.1.1 樣式和主題介紹41
3.1.2 案例2 使用自定義樣式和主題42
3.2 國際化43
3.2.1 國際化方式43
3.2.2 案例3 讓頁面支持中英顯示44
3.3 shape形狀46
3.3.1 shape形狀語法介紹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選擇器語法介紹51
3.5.2 案例10 顏色選擇器和圖形選擇器的使用52
3.6 思考與練習53
第4章 Android應用人機交互54
4.1 Android應用事件處理54
4.1.1 案例11 在代碼中操作控件54
4.1.2 案例12 以注冊監(jiān)聽器方式響應用戶單擊事件56
4.1.3 案例13 重寫事件方法以處理按鍵操作57
4.2 菜單58
4.2.1 案例14 為頁面添加選項菜單59
4.2.2 案例15 為頁面添加上下文菜單60
4.3 常用控件62
4.3.1 文本顯示控件62
4.3.2 輸入框控件62
4.3.3 按鈕類控件63
4.3.4 圖片顯示控件64
4.3.5 案例16 幾個控件的使用65
4.4 軟鍵盤67
4.4.1 軟鍵盤的設置67
4.4.2 案例17 軟鍵盤的使用68
4.5 思考與練習69
第5章 Activity和Intent70
5.1 Activity介紹70
5.1.1 Activity的啟動模式70
5.1.2 Activity生命周期71
5.1.3 案例18 啟動窗口輸出生命周期方法73
5.2 啟動新窗口74
5.2.1 Intent介紹74
5.2.2 案例19 添加新窗口并啟動76
5.2.3 案例20 使用瀏覽器瀏覽網(wǎng)頁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 注冊頁面頭像選擇81
5.4 對話框83
5.4.1 日期和時間對話框類的使用84
5.4.2 AlertDialog對話框類的使用85
5.5 思考與練習88
第6章 子窗口設計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控件簡介94
6.2.2 案例24 Fragment與BottomNavigationView結(jié)合實現(xiàn)子窗口切換95
6.3 ViewPager控件97
6.3.1 ViewPager控件簡介97
6.3.2 PagerAdapter適配器98
6.3.3 案例25 用ViewPager實現(xiàn)簡單的圖片切換99
6.4 TabLayout控件100
6.4.1 TabLayout控件簡介100
6.4.2 TabLayout的使用100
6.4.3 案例26 TabLayout與ViewPager結(jié)合設計子欄目102
6.5 Fragment的嵌套使用103
6.5.1 Fragment的嵌套103
6.5.2 Fragment適配器103
6.5.3 案例27 結(jié)合TabLayout、ViewPager、Fragment嵌套實現(xiàn)頁中頁104
6.6 思考與練習106
第7章 數(shù)據(jù)訪問107
7.1 SharedPreferences的使用107
7.1.1 SharedPreferences簡介107
7.1.2 案例28 使用SharedPreferences保存用戶名和密碼108
7.2 文件存儲110
7.2.1 內(nèi)部存儲110
7.2.2 案例29 使用內(nèi)部存儲保存文本文件110
7.2.3 外部存儲112
7.2.4 案例30 使用外部存儲保存文件112
7.3 JSON解析115
7.3.1 JSON數(shù)據(jù)115
7.3.2 JSON解析方法116
7.3.3 案例31 使用org.json解析學生信息118
7.3.4 案例32 使用Gson解析天氣信息119
7.4 SQLite數(shù)據(jù)庫122
7.4.1 創(chuàng)建數(shù)據(jù)庫122
7.4.2 數(shù)據(jù)庫操作123
7.4.3 ListView控件的使用126
7.4.4 案例33 學生成績管理126
7.5 思考與練習129
第8章 廣播和內(nèi)容提供者131
8.1 廣播介紹131
8.1.1 廣播運轉(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 思考與練習146
第9章 服務147
9.1 服務簡介147
9.1.1 服務的使用方式147
9.1.2 自定義服務類的創(chuàng)建147
9.1.3 自定義服務類的注冊148
9.2 服務的生命周期149
9.2.1 服務運行流程149
9.2.2 生命周期方法介紹149
9.2.3 服務的終止150
9.3 啟動方式使用服務150
9.3.1 開發(fā)流程說明150
9.3.2 案例37 啟動方式使用服務152
9.4 綁定方式使用服務153
9.4.1 開發(fā)流程說明154
9.4.2 案例38 綁定方式使用服務154
9.5 前臺服務157
9.6 案例39 音樂播放器158
9.6.1 MediaPlayer媒體播放類介紹158
9.6.2 音樂播放器的實現(xiàn)160
9.7 思考與練習162
第10章 線程與消息處理163
10.1 線程編程介紹163
10.1.1 進程、線程和應用程序163
10.1.2 Android應用中的線程163
10.1.3 案例40 用Java線程類開發(fā)線程164
10.2 Handler消息機制166
10.2.1 Handler消息機制運轉(zhuǎn)方式166
10.2.2 案例41 使用post方式更新UI窗口167
10.2.3 案例42 使用send方式向UI窗口發(fā)消息169
10.3 消息驅(qū)動線程172
10.3.1 如何在線程中支持消息機制172
10.3.2 案例43 在后臺線程中實現(xiàn)消息機制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 思考與練習185
第11章 網(wǎng)絡編程186
11.1 案例47 獲取網(wǎng)絡狀態(tài)186
11.2 HttpURLConnection編程188
11.2.1 HTTP簡介188
11.2.2 案例48 以GET方式獲得網(wǎng)頁和天氣189
11.2.3 案例49 以POST方式登錄服務器191
11.3 Volley框架195
11.3.1 Volley中請求類的使用195
11.3.2 案例50 使用ImageRequest獲取網(wǎng)絡圖片197
11.3.3 案例51 使用ImageLoader類和NetworkImageView控件加載圖片199
11.4 思考與練習202
第12章 WebView控件203
12.1 WebView控件介紹203
12.1.1 WebView控件方法203
12.1.2 案例52 使用WebView控件瀏覽網(wǎng)頁204
12.2 WebView控件功能定制205
12.2.1 WebView控件功能定制類205
12.2.2 案例53 使用WebView控件加載網(wǎng)頁并支持JavaScript207
12.3 案例54 監(jiān)聽長按事件并獲取網(wǎng)頁內(nèi)容208
12.4 與網(wǎng)頁代碼交互210
12.4.1 案例55 使用WebView控件調(diào)用JavaScript代碼211
12.4.2 案例56 JavaScript調(diào)用Android代碼213
12.5 案例57 從網(wǎng)頁中下載文件216
12.6 思考與練習219
第13章 傳感器與定位220
13.1 Android平臺傳感器介紹220
13.1.1 Android平臺支持的傳感器220
13.1.2 傳感器坐標系和模擬器221
13.1.3 傳感器開發(fā)框架介紹222
13.1.4 案例58 獲得設備傳感器及傳感事件處理224
13.2 傳感器數(shù)據(jù)獲取225
13.2.1 環(huán)境傳感器225
13.2.2 動態(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 思考與練習241
第14章 藍牙通信編程242
14.1 藍牙通信編程介紹242
14.2 開啟藍牙242
14.3 經(jīng)典藍牙通信編程244
14.3.1 掃描藍牙244
14.3.2 藍牙配對245
14.3.3 藍牙連接246
14.3.4 在藍牙連接上通信248
14.4 低功耗藍牙通信編程248
14.4.1 掃描藍牙249
14.4.2 藍牙連接250
14.4.3 在藍牙連接上通信251
14.5 案例62 藍牙串口助手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服務類代碼259
14.5.6 MainActivity類代碼260
14.6 思考與練習266