鴻蒙征途:App開發(fā)實(shí)戰(zhàn)
定 價:89.8 元
- 作者:李寧
- 出版時間:2021/8/1
- ISBN:9787115563866
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁碼:286
- 紙張:
- 版次:01
- 開本:16開
《鴻蒙征途:App開發(fā)實(shí)戰(zhàn)》是一本基于Java的鴻蒙操作系統(tǒng)(HarmonyOS)App開發(fā)指南。全書系統(tǒng)、由淺入深地介紹了HarmonyOS App開發(fā)的知識、相關(guān)經(jīng)驗(yàn)和技巧。本書以理論與實(shí)戰(zhàn)相結(jié)合的方式向讀者呈現(xiàn)HarmonyOS App開發(fā)的整個過程。全書分為兩個部分,第一部分詳細(xì)講解HarmonyOS App開發(fā)所需的知識,并提供大量的真實(shí)案例代碼供讀者練習(xí);第二部分給出兩個實(shí)戰(zhàn)項(xiàng)目,分別為應(yīng)用類App項(xiàng)目(在線電子詞典)和游戲類App項(xiàng)目(俄羅斯方塊),通過這兩個項(xiàng)目,讀者可以很好地回顧和總結(jié)前面10章講解的知識點(diǎn),并付諸實(shí)踐。
本書內(nèi)容通俗易懂,循序漸進(jìn),既是HarmonyOS初學(xué)者的入門圖書,也是HarmonyOS開發(fā)人員的進(jìn)階讀物。
1.基于Java的全場景開發(fā)指南,可在各個鴻蒙系統(tǒng)設(shè)備上進(jìn)行應(yīng)用開發(fā)
2.系統(tǒng)講解鴻蒙核心技術(shù)和分布式特性
3.基于鴻蒙真機(jī)作為載體的豐富案例及兩個完整App實(shí)戰(zhàn)項(xiàng)目
4.提供所有案例和實(shí)戰(zhàn)項(xiàng)目源代碼及配套視頻
李寧,計算機(jī)專業(yè)碩士,首批HarmonyOS系統(tǒng)課程開發(fā)者,某大型軟件公司前高級技術(shù)專家,IT暢銷書作者,企業(yè)IT內(nèi)訓(xùn)講師,騰訊課堂特約講師,CSDN學(xué)院高級講師。曾出版多本IT暢銷書,寫過數(shù)百篇技術(shù)文章。主要著作包括《Kotlin程序開發(fā)入門精要》《Swift 權(quán)威指南》《Android開發(fā)權(quán)威指南》《Android深度探索》等。
第 1章 開啟鴻蒙(HarmonyOS)之旅 6
1.1 了解鴻蒙(HarmonyOS) 6
1.1.1 HarmonyOS的由來 6
1.1.2 HarmonyOS的技術(shù)定位和目標(biāo) 7
1.1.3 HarmonyOS的系統(tǒng)架構(gòu) 8
1.2 手把手帶你搭建HarmonyOS開發(fā)環(huán)境 9
1.3 創(chuàng)建第 一個HarmonyOS App 10
1.3.1 創(chuàng)建HelloWorld項(xiàng)目 10
1.3.2 啟動模擬器 13
1.3.3運(yùn)行HelloWorld 14
1.4 分析第 一個HarmonyOS程序 15
1.4.1 HarmonyOS工程的目錄結(jié)構(gòu) 15
1.4.2 HarmonyOS工程的主配置文件:config.json 16
1.5 開發(fā)跨設(shè)備的HarmonyOS App 17
1.6 調(diào)試代碼 19
1.6.1 設(shè)置斷點(diǎn) 19
1.6.2 輸出日志 20
1.7 在真機(jī)上運(yùn)行HarmonyOS App 22
1.7.1 生成簽名文件 22
1.7.2 簽名HarmonyOS App 26
1.7.3 網(wǎng)絡(luò)部署App 28
1.8 解決gradle下載太慢的問題 28
1.9 總結(jié)與回顧 29
第02章 HarmonyOS中的窗口 31
2.1 Page Ability概述 31
2.2 Page Ability的基本用法 32
2.2.1 手動創(chuàng)建Page Ability類 32
2.2.2 在config.json文件中注冊Page Ability 32
2.2.3 創(chuàng)建布局文件 33
2.2.4 裝載布局文件 33
2.2.5 顯示Page Ability 34
2.2.6 銷毀Page Ability 35
2.3 Page Ability之間的交互 35
2.3.1 顯式使用Intent 35
2.3.2 隱式使用Intent 36
2.3.3 Page Ability之間的交互 38
2.4 Page Ability的啟動類型(LaunchType) 41
2.5 Page Ability的跨設(shè)備遷移 44
2.5.1 跨設(shè)備遷移前的準(zhǔn)備工作 45
2.5.2 獲取設(shè)備列表 46
2.5.3 根據(jù)設(shè)備ID調(diào)用Page Ability 50
2.6 AbilitySlice 53
2.6 生命周期 57
2.7 總結(jié)與回顧 59
第03章 布局 60
3.1 方向布局(DirectionalLayout) 60
3.2 依賴布局(DependentLayout) 62
3.3 棧布局(StackLayout) 64
3.4 表格布局(TableLayout) 65
3.5 位置布局(PositionLayout) 66
3.6 動態(tài)裝載布局 68
3.7 總結(jié)與回顧 71
第04章 UI組件 72
4.1 展示組件 72
4.1.1 文本組件(Text) 72
4.1.2 圖像組件(Image) 74
4.1.3 進(jìn)度條組件(ProgressBar) 75
4.1.4 圓形進(jìn)度條(RoundProgressBar) 77
4.1.5 時鐘組件(Clock) 78
4.2 交互組件 79
4.2.1 按鈕組件(Button) 80
4.2.2 切換按鈕組件(ToggleButton) 82
4.2.3 文本編輯組件(TextField) 84
4.2.4 單選和多選組件(RadioButton和Checkbox) 86
4.2.5 開關(guān)組件(Switch) 89
4.4 高級組件 91
4.4.1 列表組件(ListContainer) 91
4.4.2 標(biāo)簽列表組件(TabList) 96
4.4.3 滑動選擇器組件(Picker) 99
4.4.5 日期選擇器組件(DatePicker) 102
4.4.6 時間選擇器組件(TimePicker) 105
4.4.7 滾動視圖組件(ScrollView) 108
4.5 總結(jié)與回顧 112
第05章 對話框 113
5.1 普通對話框 113
5.1.1 顯示一個最簡單的對話框 113
5.1.2 為對話框添加“關(guān)閉”按鈕 113
5.1.3 為對話框添加多個按鈕 114
5.1.4 調(diào)整按鈕的尺寸 115
5.1.5 自動關(guān)閉對話框 116
5.2 定制對話框 117
5.3 Toast信息框 118
5.4 總結(jié)與回顧 119
第06章 數(shù)據(jù)管理 120
6.1 讀寫配置文件 120
6.1.1 Preferences的基本用法 120
6.1.2 監(jiān)控配置文件的寫入動作 122
6.1.3 移動和刪除配置文件 123
6.2 操作SQLite數(shù)據(jù)庫 124
6.2.1 使用SQL操作SQLite數(shù)據(jù)庫 124
6.2.2 使用謂詞操作SQLite數(shù)據(jù)庫 126
6.2.3 使用事務(wù) 128
6.3 對象關(guān)系映射 129
6.4 分布式文件 132
6.5 分布式數(shù)據(jù) 135
6.5.1 同步數(shù)據(jù) 135
6.5.2 用謂詞查詢分布式數(shù)據(jù) 137
6.7 總結(jié)與回顧 144
第07章 Data Ability 145
7.1 Data Ability概述 145
7.2 Data Ability中的URI 145
7.3 創(chuàng)建Data Ability 146
7.4 訪問本地數(shù)據(jù)庫 147
7.5 訪問本地文件 153
7.6 跨設(shè)備訪問數(shù)據(jù)庫 157
7.7 跨設(shè)備訪問文件 159
7.8 總結(jié)與回顧 160
第08章 Service Ability 161
8.1 Service Ability的生命周期 161
8.2 后臺運(yùn)行Service Ability 162
8.1.2 操作本地的Service Ability 162
8.1.2 跨設(shè)備操作Service Ability 165
8.2 跨設(shè)備調(diào)用Service Ability中的API 165
8.3 總結(jié)與回顧 172
第09章 多媒體 173
9.1 音頻 173
9.1.1 準(zhǔn)備本地音頻文件 173
9.1.2 播放本地音頻文件 175
9.1.3 暫停和繼續(xù)播放音頻 176
9.1.4 停止播放音頻 176
9.1.5 播放在線音頻文件 176
9.1.6 播放音頻的完整案例 176
9.2 視頻 180
9.3 相機(jī) 185
9.3.1 拍照API的使用方式 185
9.3.2 使用相機(jī)需要申請的權(quán)限 188
9.3.3 拍照的完整案例 188
9.4 總結(jié)與回顧 194
第 10章 其他高級技術(shù) 195
10.1 人工智能(AI) 195
10.1.1 初始化AI引擎 195
10.1.2 分詞 195
10.1.3 詞性標(biāo)注 197
10.1.4 意圖分析 198
10.1.5 關(guān)鍵詞提取 199
10.1.6 實(shí)體識別 200
10.2 傳感器 201
10.2.1 獲取當(dāng)前設(shè)備支持的傳感器 201
10.2.2 訂閱方向傳感器 202
10.4 定位 203
10.5 藍(lán)牙 206
10.5.1 打開和關(guān)閉藍(lán)牙 206
10.5.2 發(fā)現(xiàn)和連接藍(lán)牙設(shè)備 208
10.6 撥打電話 212
10.7 總結(jié)與回顧 212
第 11章 應(yīng)用項(xiàng)目:跨設(shè)備在線電子詞典 214
11.1 功能需求分析 214
11.2 搭建項(xiàng)目框架 217
11.2.1 創(chuàng)建項(xiàng)目工程 217
11.2.2讓項(xiàng)目可以在多種設(shè)備上運(yùn)行 218
11.2.3 配置App圖標(biāo)和名稱 219
11.2.4 添加權(quán)限 220
11.3 利用網(wǎng)絡(luò)爬蟲生成本地詞庫 220
11.3.1 分析Web版詞庫的HTML代碼 220
11.3.2 利用網(wǎng)絡(luò)爬蟲生成本地詞庫 223
11.3.3 管理本地詞庫 225
11.4 查詢本地詞庫 227
11.4.1 主界面布局 227
11.4.2 如何讓本地詞庫與App一同發(fā)布 228
11.4.3 打開rawfile目錄中的SQLite數(shù)據(jù)庫文件 229
11.4.4 查詢本地詞庫 230
11.4.5 在主界面中顯示查詢結(jié)果 231
11.5 實(shí)現(xiàn)跨設(shè)備運(yùn)行 232
11.5.1 不同的設(shè)備使用不同的布局文件 232
11.5.2 代碼選擇布局文件 234
11.5.3 跨設(shè)備查詢本地詞庫 235
11.5.4 在智能手表上顯示查詢結(jié)果 236
11.6 查詢網(wǎng)絡(luò)詞庫 237
11.6.1 分析網(wǎng)絡(luò)詞典的HTML代碼 237
11.6.2 異步查詢網(wǎng)絡(luò)詞庫 239
11.6.3 同時從本地詞典和網(wǎng)絡(luò)詞典查詞 242
11.7 總結(jié)與回顧 244
第 12章 游戲項(xiàng)目:5分鐘搞定俄羅斯方塊 245
12.1 功能需求分析 245
12.2 類的繼承關(guān)系 247
12.3 使用Tetris組件 247
12.3.1 先把Tetris組件搭建起來再說 247
12.3.2 游戲主界面的布局 248
12.3.3 使用Tetris組件 250
12.4 實(shí)現(xiàn)Tetris組件 251
12.4.1 定義Tetris組件的事件類 251
12.4.2 定義游戲事件屬性 251
12.4.3 初始化Tetris組件 252
12.4.4 繪制游戲邊框 254
12.4.5 繪制小方格 256
12.4.6 繪制游戲背景方塊 257
12.4.7 隨機(jī)產(chǎn)生block 258
12.4.8 消除行 259
12.4.9 block歸位 261
12.4.10 校驗(yàn)當(dāng)前位置是否可以繪制block 261
12.4.11 繪制block 263
12.4.12 順時針旋轉(zhuǎn)block 264
12.4.13 開始和停止游戲 265
12.4.14 快速下落與正常下落之間的切換 266
12.4.15 左右水平移動block 267
12.4.16 為Tetris組件增加屬性 267
12.5 讓游戲更完美 268
12.5.1 開始玩游戲 268
12.5.2 顯示下一個block 269
12.5.3 控制block左右移動 270
12.5.4 控制block快速下落 270
12.5.5 處理積分 271
12.5.6 游戲結(jié)束 271
12.6 總結(jié)與回顧 272