鴻蒙征途:App開(kāi)發(fā)實(shí)戰(zhàn)
定 價(jià):89.8 元
- 作者:李寧
- 出版時(shí)間:2021/8/1
- ISBN:9787115563866
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁(yè)碼:286
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
《鴻蒙征途:App開(kāi)發(fā)實(shí)戰(zhàn)》是一本基于Java的鴻蒙操作系統(tǒng)(HarmonyOS)App開(kāi)發(fā)指南。全書(shū)系統(tǒng)、由淺入深地介紹了HarmonyOS App開(kāi)發(fā)的知識(shí)、相關(guān)經(jīng)驗(yàn)和技巧。本書(shū)以理論與實(shí)戰(zhàn)相結(jié)合的方式向讀者呈現(xiàn)HarmonyOS App開(kāi)發(fā)的整個(gè)過(guò)程。全書(shū)分為兩個(gè)部分,第一部分詳細(xì)講解HarmonyOS App開(kāi)發(fā)所需的知識(shí),并提供大量的真實(shí)案例代碼供讀者練習(xí);第二部分給出兩個(gè)實(shí)戰(zhàn)項(xiàng)目,分別為應(yīng)用類App項(xiàng)目(在線電子詞典)和游戲類App項(xiàng)目(俄羅斯方塊),通過(guò)這兩個(gè)項(xiàng)目,讀者可以很好地回顧和總結(jié)前面10章講解的知識(shí)點(diǎn),并付諸實(shí)踐。
本書(shū)內(nèi)容通俗易懂,循序漸進(jìn),既是HarmonyOS初學(xué)者的入門(mén)圖書(shū),也是HarmonyOS開(kāi)發(fā)人員的進(jìn)階讀物。
1.基于Java的全場(chǎng)景開(kāi)發(fā)指南,可在各個(gè)鴻蒙系統(tǒng)設(shè)備上進(jìn)行應(yīng)用開(kāi)發(fā)
2.系統(tǒng)講解鴻蒙核心技術(shù)和分布式特性
3.基于鴻蒙真機(jī)作為載體的豐富案例及兩個(gè)完整App實(shí)戰(zhàn)項(xiàng)目
4.提供所有案例和實(shí)戰(zhàn)項(xiàng)目源代碼及配套視頻
李寧,計(jì)算機(jī)專業(yè)碩士,首批HarmonyOS系統(tǒng)課程開(kāi)發(fā)者,某大型軟件公司前高級(jí)技術(shù)專家,IT暢銷書(shū)作者,企業(yè)IT內(nèi)訓(xùn)講師,騰訊課堂特約講師,CSDN學(xué)院高級(jí)講師。曾出版多本IT暢銷書(shū),寫(xiě)過(guò)數(shù)百篇技術(shù)文章。主要著作包括《Kotlin程序開(kāi)發(fā)入門(mén)精要》《Swift 權(quán)威指南》《Android開(kāi)發(fā)權(quán)威指南》《Android深度探索》等。
第 1章 開(kāi)啟鴻蒙(HarmonyOS)之旅 6
1.1 了解鴻蒙(HarmonyOS) 6
1.1.1 HarmonyOS的由來(lái) 6
1.1.2 HarmonyOS的技術(shù)定位和目標(biāo) 7
1.1.3 HarmonyOS的系統(tǒng)架構(gòu) 8
1.2 手把手帶你搭建HarmonyOS開(kāi)發(fā)環(huán)境 9
1.3 創(chuàng)建第 一個(gè)HarmonyOS App 10
1.3.1 創(chuàng)建HelloWorld項(xiàng)目 10
1.3.2 啟動(dòng)模擬器 13
1.3.3運(yùn)行HelloWorld 14
1.4 分析第 一個(gè)HarmonyOS程序 15
1.4.1 HarmonyOS工程的目錄結(jié)構(gòu) 15
1.4.2 HarmonyOS工程的主配置文件:config.json 16
1.5 開(kāi)發(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下載太慢的問(wèn)題 28
1.9 總結(jié)與回顧 29
第02章 HarmonyOS中的窗口 31
2.1 Page Ability概述 31
2.2 Page Ability的基本用法 32
2.2.1 手動(dòng)創(chuàng)建Page Ability類 32
2.2.2 在config.json文件中注冊(cè)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的啟動(dòng)類型(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 動(dòng)態(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 時(shí)鐘組件(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 開(kāi)關(guān)組件(Switch) 89
4.4 高級(jí)組件 91
4.4.1 列表組件(ListContainer) 91
4.4.2 標(biāo)簽列表組件(TabList) 96
4.4.3 滑動(dòng)選擇器組件(Picker) 99
4.4.5 日期選擇器組件(DatePicker) 102
4.4.6 時(shí)間選擇器組件(TimePicker) 105
4.4.7 滾動(dòng)視圖組件(ScrollView) 108
4.5 總結(jié)與回顧 112
第05章 對(duì)話框 113
5.1 普通對(duì)話框 113
5.1.1 顯示一個(gè)最簡(jiǎn)單的對(duì)話框 113
5.1.2 為對(duì)話框添加“關(guān)閉”按鈕 113
5.1.3 為對(duì)話框添加多個(gè)按鈕 114
5.1.4 調(diào)整按鈕的尺寸 115
5.1.5 自動(dòng)關(guān)閉對(duì)話框 116
5.2 定制對(duì)話框 117
5.3 Toast信息框 118
5.4 總結(jié)與回顧 119
第06章 數(shù)據(jù)管理 120
6.1 讀寫(xiě)配置文件 120
6.1.1 Preferences的基本用法 120
6.1.2 監(jiān)控配置文件的寫(xiě)入動(dòng)作 122
6.1.3 移動(dòng)和刪除配置文件 123
6.2 操作SQLite數(shù)據(jù)庫(kù) 124
6.2.1 使用SQL操作SQLite數(shù)據(jù)庫(kù) 124
6.2.2 使用謂詞操作SQLite數(shù)據(jù)庫(kù) 126
6.2.3 使用事務(wù) 128
6.3 對(duì)象關(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 訪問(wèn)本地?cái)?shù)據(jù)庫(kù) 147
7.5 訪問(wèn)本地文件 153
7.6 跨設(shè)備訪問(wèn)數(shù)據(jù)庫(kù) 157
7.7 跨設(shè)備訪問(wèn)文件 159
7.8 總結(jié)與回顧 160
第08章 Service Ability 161
8.1 Service Ability的生命周期 161
8.2 后臺(tái)運(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ī)需要申請(qǐng)的權(quán)限 188
9.3.3 拍照的完整案例 188
9.4 總結(jié)與回顧 194
第 10章 其他高級(jí)技術(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í)體識(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 打開(kāi)和關(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ò)爬蟲(chóng)生成本地詞庫(kù) 220
11.3.1 分析Web版詞庫(kù)的HTML代碼 220
11.3.2 利用網(wǎng)絡(luò)爬蟲(chóng)生成本地詞庫(kù) 223
11.3.3 管理本地詞庫(kù) 225
11.4 查詢本地詞庫(kù) 227
11.4.1 主界面布局 227
11.4.2 如何讓本地詞庫(kù)與App一同發(fā)布 228
11.4.3 打開(kāi)rawfile目錄中的SQLite數(shù)據(jù)庫(kù)文件 229
11.4.4 查詢本地詞庫(kù) 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è)備查詢本地詞庫(kù) 235
11.5.4 在智能手表上顯示查詢結(jié)果 236
11.6 查詢網(wǎng)絡(luò)詞庫(kù) 237
11.6.1 分析網(wǎng)絡(luò)詞典的HTML代碼 237
11.6.2 異步查詢網(wǎng)絡(luò)詞庫(kù) 239
11.6.3 同時(shí)從本地詞典和網(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組件搭建起來(lái)再說(shuō) 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 順時(shí)針旋轉(zhuǎn)block 264
12.4.13 開(kāi)始和停止游戲 265
12.4.14 快速下落與正常下落之間的切換 266
12.4.15 左右水平移動(dòng)block 267
12.4.16 為T(mén)etris組件增加屬性 267
12.5 讓游戲更完美 268
12.5.1 開(kāi)始玩游戲 268
12.5.2 顯示下一個(gè)block 269
12.5.3 控制block左右移動(dòng) 270
12.5.4 控制block快速下落 270
12.5.5 處理積分 271
12.5.6 游戲結(jié)束 271
12.6 總結(jié)與回顧 272