鴻蒙HarmonyOS移動開發指南

鴻蒙HarmonyOS移動開發指南

《鴻蒙HarmonyOS移動開發指南》是是2024年中國水利水電出版社出版的圖書,作者是張益琿,主要介紹了HarmonyOS移動端套用的開發流程和方法,完整地講解了移動開發中涉及的組件使用、布局、網路、數據持久化、多媒體、感測器等技術,並通過範例、實戰編碼等方式幫助讀者熟悉HarmonyOS套用開發。力求通過完成本書的學習,使讀者具備直接上手開發商業套用的能力。

基本介紹

  • 中文名:鴻蒙HarmonyOS移動開發指南
  • 作者:張益琿
  • 題材:鴻蒙
  • 語言:國語
  • 出版時間:2024年3月1日
  • 出版社:中國水利水電出版社
  • 頁數:396 頁
  • 字數:504千字
  • ISBN:9787522622569
  • 類別:科技
  • 定價:79.8 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,作者簡介,

內容簡介

隨著網際網路技術的發展,移動套用普及生活的方方面面。能夠自主掌握移動端作業系統核心技術,對國家的信息技術發展非常重要。讓人欣喜的是,作業系統除了iOS和Android外,HarmonyOS已經成為第三大移動端作業系統,並且在物聯網方面,HarmonyOS有著更顯著的優勢和更可觀的發展前景。研習HarmonyOS不僅能滿足市場上很多實際工作崗位的需求,也能夠為HarmonyOS社區的發展、系統生態環境的完善提供支持。
本書系統介紹了HarmonyOS移動端套用的開發流程和方法,完整地講解了移動開發中涉及的組件使用、布局、網路、數據持久化、多媒體、感測器等技術,並通過範例、實戰編碼等方式幫助讀者熟悉HarmonyOS套用開發。力求通過完成本書的學習,使讀者具備直接上手開發商業套用的能力。
本書適合計算機相關專業的學生、講師或其他編程愛好者學習使用,同時也適合想要了解和體驗 HarmonyOS開發的其他編程工作人員參閱。

圖書目錄

第1章  從混沌到統一—— 鴻蒙時代................................ 1
1.1 HarmonyOS簡介.................................................. 2
1.1.1 HarmonyOS的發展史 ............................................2
1.1.2 HarmonyOS的核心特性 ..........................................3
1.1.3 HarmonyOS的分散式特性 ........................................3
1.1.4 HarmonyOS的設計理念 ..........................................4
1.2 HarmonyOS開發初體驗 ............................................5
1.2.1 開發環境的安裝 ..............................................6
1.2.2 DevEco Studio簡介 ............................................8
1.3 HarmonyOS的Hello World程式 ...................................10
1.3.1 模擬器的使用 ...............................................10
1.3.2 HarmonyOS工程結構 ...........................................12
1.3.3 修改Hello World項目的功能 ...................................15
1.4 內容回顧 .....................................................18
第2章  應用程式的骨架——認識Ability框架 .......................19
2.1 Ability基礎 ...................................................20
2.1.1 關於Page Ability ...........................................20
2.1.2 Page Ability的生命周期 ......................................23
2.1.3 頁面間導航與傳值 ............................................27
2.1.4 關於Service Ability .........................................35
2.1.5 Service Ability的生命周期和保持後台運行 .....................38
2.1.6 關於Data Ability ............................................41
2.2 公共事件的發布和訂閱 ..........................................45
2.2.1 訂閱公共事件 ................................................46
2.2.2 發布自定義公共事件 ..........................................47
2.3 執行緒管理 ......................................................48
2.3.1 使用任務分發器 ..............................................48
2.3.2 任務分發器示例.............................................. 50
2.4 剪貼簿的使用.................................................. 51
2.5 配置檔案詳解 ..................................................52
2.5.1 app配置項 ..................................................52
2.5.2 deviceConfig配置項 ..........................................53
2.5.3 module配置項................................................ 54
2.6 內容回顧 ..................................................55
第3章  人靠衣裝馬靠鞍——UI組件基礎 .............................57
3.1 在頁面顯示文字與圖片 .........................................58
3.1.1 UI組件的基類Component..................................... 58
3.1.2 用來渲染文本的Text組件 .................................62
3.1.3 用來顯示圖片的Image組件 ...................................65
3.2 基礎的用戶互動組件:按鈕與文本輸入框 ..........................68
3.2.1 按鈕Button組件 .........................................68
3.2.2 文本輸入框TextField組件................................... 70
3.3 選擇器組件的套用 .........................................72
3.3.1 通用選擇器Picker組件........................................ 72
3.3.2 用於日期選擇的DatePicker 組件 ..............................76
3.3.3 用於時間選擇的TimePicker 組件 ..............................79
3.4 開關與選擇按鈕 ..............................82
3.4.1 Switch開關按鈕組件 ..................................82
3.4.2 單選按鈕組件 .................................84
3.4.3 多選按鈕組件 ..................................88
3.5 進度條組件 ...................................90
3.5.1 直線樣式的進度條組件................................... 90
3.5.2 圓形進度條組件 ..................................94
3.6 彈窗相關組件 ..................................95
3.6.1 ToastDialog組件.................................. 95
3.6.2 PopupDialog組件 ..................................96
3.6.3 CommonDialog組件 ..................................98
3.7 實踐:調研表單頁面實踐 ..................................100
3.8 內容回顧 ...................................................107
第4章 UI組件中的高級玩意兒—— 高級UI組件...................... 109
4.1 展示更多內容的ScrollView組件 ..............................110
4.1.1 ScrollView組件初試 ..............................110
4.1.2 ScrollView組件中封裝的常用方法 ............................112
4.2 列表組件ListContainer的套用 ..............................113
4.2.1 創建列表視圖 ...............................................114
4.2.2 ListContainer組件的更多用法.............................. 118
4.2.3 關於ListContainer組件的性能最佳化 ..........................120
4.3 頁簽欄TabList組件的套用 ....................................121
4.3.1 使用TabList頁簽欄組件 ....................................121
4.3.2 TabList與Tab組件的一些配置接口 ............................123
4.4 分頁組件PageSlider的套用..................................... 126
4.4.1 PageSlider組件的簡單使用.................................. 126
4.4.2 PageSlider組件的更多配置與常用方法 ........................130
4.4.3 PageSlider組件與TabList組件的結合使用 ..................132
4.5 網頁視圖WebView組件的使用 .................................137
4.5.1 WebView組件使用示例 .......................................137
4.5.2 WebView組件常用方法解析.................................... 140
4.6 實踐:簡易社交軟體頁面搭建 ...................................142
4.6.1 搭建主框架 .................................................142
4.6.2 實現會話列表和聯繫人列表................................... 145
4.7 內容回顧.. ...................................................155
第5章 做頁面結構的魔法師——頁面布局技術 ........................156
5.1 定向布局組件 .................................................157
5.1.1 嘗試使用DirectionalLayout組件 .............................157
5.1.2 DirectionalLayout組件的對齊方式與內容組件權重 ............159
5.2 約束布局組件 ...............................................164
5.2.1 DependentLayout組件簡介.................................... 164
5.2.2 DependentLayout組件布局示例 ................................166
5.3 堆疊布局組件 ...............................................169
5.4 表格布局組件 ................................................ 170
5.4.1 體驗TableLayout組件 .......................................170
5.4.2 關於TableLayout組件中子組件的行列控制屬性 .................172
5.5 定位布局組件 ................................................173
5.6 彈性盒模型布局 ..............................................174
5.7 內容回顧 ..................................................177
第6章 絢麗多彩的用戶體驗——自定義組件與動畫 ...................178
6.1 自定義組件 .................................................179
6.1.1 實現一個自定義的圓形進度條組件 .............................179
6.1.2 為自定義組件添加XML支持 ..................................186
6.1.3 為自定義組件添加用戶互動支持 ...............................188
6.2 自定義布局 ...................................................190
6.3 使用動畫技術 .................................................199
6.3.1 使用幀動畫 .................................................199
6.3.2 使用數值動畫 ...............................................201
6.3.3 數值動畫過程的監聽 .........................................203
6.4 屬性動畫的套用 ...............................................204
6.4.1 使用屬性動畫 ...............................................204
6.4.2 AnimatorProperty屬性動畫詳解 ...............................206
6.4.3 動畫集合 ...................................................207
6.5 內容回顧 .....................................................209
第7章 數據信息的搬運工——數據持久化與網路技術 ..................211
7.1 輕量級數據存儲 ...............................................212
7.1.1 輕量級數據存儲的含義 .......................................212
7.1.2 Preferences使用示例 ........................................212
7.1.3 Preferences功能詳解 ........................................214
7.2 關係型資料庫存儲 .............................................217
7.2.1 使用關係型資料庫 ...........................................217
7.2.2 打開資料庫 .................................................220
7.2.3 新增與修改數據 ............................................221
7.2.4 查詢數據 ..............................................222
7.2.5 處理查詢結果 ..............................................225
7.2.6 資料庫的其他操作 ..........................................227
7.3 數據模型映射資料庫技術 .......................................228
7.3.1 將數據模型與資料庫做映射 ..................................228
7.3.2 資料庫表映射類的高級配置................................... 233
7.3.3 關於OrmContext與 OrmPredicates類 .........................234
7.4 分散式數據服務....................................... 237
7.4.1 分散式數據服務簡介..................................... 237
7.4.2 分散式資料庫的簡單套用 ...................................237
7.5 網路技術 .................................................240
7.5.1 使用網路接口獲取網際網路上的數據............................ 241
7.5.2 使用網際網路上的API服務 ...................................246
7.5.3 封裝通用的網路請求類 ...................................249
7.6 實戰:開發一款小巧的天氣預報程式 ..............................254
7.6.1 用戶頁面搭建 ...................................255
7.6.2 數據解析與渲染 ...................................262
7.7 內容回顧 ..............................................265
第8章 程式中的感官世界——多媒體與感測器的套用................ 267
8.1 音視頻開發 ..............................................268
8.1.1 音頻播放 ..............................................268
8.1.2 視頻播放 ..............................................270
8.2 感測器的開發 ..............................................277
8.2.1 感測器概述 ..............................................277
8.2.2 感測器的套用 .............................................278
8.3 地理位置信息 ..............................................283
8.3.1 獲取設備位置信息 ........................................283
8.3.2 與位置服務相關的幾個重要的類 ............................286
8.4 LED燈與振動器 .............................................288
8.4.1 LED燈開發 ..........................................288
8.4.2 振動器開發 ..............................................289
8.5 內容回顧 .....................................................290
第9章 精緻美觀的小組件——服務卡片開發 ..........................291
9.1 認識服務卡片 ............................................292
9.1.1 服務卡片簡介 .............................................292
9.1.2 體驗服務卡片 ...............................................293
9.2 開發服務卡片 .................................................296
9.2.1 服務卡片的配置 ...........................................296
9.2.2 創建服務卡片 ..............................................298
9.2.3 服務卡片的更新與刪除 ......................................303
9.2.4 服務卡片的跳轉 ............................................305
9.3 內容回顧 .................................................308
第10章 套用安全與AI能力 .......................................309
10.1 套用安全................................................ 310
10.1.1 了解許可權系統 .......................................310
10.1.2 許可權的申請與定義 .......................................311
10.1.3 系統預定義的許可權 .......................................315
10.1.4 生物特徵識別驗證 .......................................317
10.2 HarmonyOS中的AI能力 .......................................322
10.2.1 生成二維碼 .......................................322
10.2.2 文字識別能力 .......................................325
10.3 內容回顧 .......................................328
第11章 從互聯到物聯——穿戴設備開發............................. 329
11.1 體驗智慧型手錶套用 .......................................330
11.1.1 創建跨平台的應用程式.................................... 330
11.1.2 為套用添加智慧型穿戴模組................................... 332
11.2 使用通知 .............................................333
11.2.1 發出系統通知....................................... 333
11.2.2 系統通知的配置與控制 ..................................336
11.3 內容回顧 .............................................340
第12章 實戰:咖啡點餐套用實戰 ...................................341
12.1 項目搭建與首頁開發 .......................................342
12.1.1 需求分析與項目搭建 .......................................342
12.1.2 項目搭建 ...........................................343
12.2 首頁開發 ............................................344
12.2.1 頁面整體框架搭建 .......................................344
12.2.2 餐品類別列表與餐品列表發 ..................................348
12.2.3 列表聯動............................................... 357
12.3 店鋪列表和搜尋頁面開發 ....................................361
12.3.1 店鋪列表開發 .......................................361
12.3.2 搜尋頁面開發....................................... 370
12.4 餐品詳情頁與訂單頁面開發 ..................................374
12.4.1 餐品詳情頁開發 .......................................374
12.4.2 訂單詳情頁開發....................................... 384
12.5 內容回顧 ............................................391

作者簡介

張益琿
美國亞利桑那州立大學計算機工程碩士,資深軟體開發者,軟體架構師。
從業近10年,有著多年大前端開發經驗。曾就職於知名上市公司,主導開發過多款知名應用程式,並對移動跨平台開發、前端開發,Vue.js、React.js、Flutter、小程式與iOS和Android原生開發擁有豐富的經驗。開源中國特邀技術專家,以琿少為筆名發表相關技術博文400餘篇,訪問量超過150萬次。出版技術圖書有《循序漸進Vue.js3前端開發實戰》《微信小程式與雲開發從入門到實踐》《Swift5從零到精通iOS開發訓練營》多部。

相關詞條

熱門詞條

聯絡我們