HarmonyOS應用程序開發與實戰(Java版)
定 價:¥59
中 教 價:¥45.73 (7.75折)
庫 存 數: 2
叢 書 名:高等學校計算機專業系列教材
本書系統全面地講解在鴻蒙操作系統(HarmonyOS)下基于Java的應用程序開發的基礎理論知識,通過豐富、詳細的案例向讀者呈現HarmonyOS應用程序的開發流程。全書共13章。第1章對HarmonyOS的概念、技術特性以及技術架構進行了綜合介紹;第2章以一個簡單的Hello World工程為例,介紹HarmonyOS應用程序的開發環境、開發工具以及應用的調試過程,并對HarmonyOS的工程結構進行講解,使讀者能更好地切入和理解后續章節的學習內容;第3章詳細介紹HarmonyOS應用程序的一大核心Page Ability,其是完成后續章節學習的基礎;第4~6章分別對布局、組件以及對話框進行系統介紹;第7章介紹HarmonyOS應用程序中多媒體的開發過程;第8、9章介紹HarmonyOS應用程序中數據管理和文件管理的部分;第10章介紹HarmonyOS應用程序中后臺任務如何通過Service Ability運行;第11~13章分別介紹三個完整的案例(工大通、定點巡檢、多媒體播放器),不僅涉及基本的布局、組件、數據管理等基礎知識,還涉及了對設備硬件調用等進階知識,讀者可以在這三個案例的基礎上進行二次開發,使其功能更加豐富,更具有實用性和應用性。 本書主要面向鴻蒙應用的入門開發人員,也可作為高校教材或培訓機構的參考用書。
系統全面地講解在鴻蒙系統(HarmonyOS)下基于Java的應用程序開發的基礎理論知識,通過豐富、詳細的案例向讀者呈現鴻蒙系統應用程序的開發流程。
HarmonyOS是華為自2012年開發的一款可兼容Android應用程序的跨平臺分布式操作系統。自從華為對外流出鴻蒙操作系統(HarmonyOS)相關的設計概念以來,HarmonyOS就引起了廣泛關注,它被認為是國產新一代操作系統的希望,是一款面向未來面向萬物互聯的全場景分布式操作系統。2019年8月,華為在開發者大會上正式發布HarmonyOS,并將該系統開源,供廣大開發者學習。2020年9月,華為在開發者大會上發布了HarmonyOS 2.0,推出應用開發者Beta版本,并在同年12月推出了手機開發者Beta版。2021年10月,華為正式發布HarmonyOS 3.0 Beta版,這意味著HarmonyOS整體開發環境和SDK支持也逐步趨于成熟。HarmonyOS的產生體現出堅持守正創新的二十大精神,能夠培養學生勇于進行理論探索和創新的能力。HarmonyOS與Android和iOS一樣,是獨立的操作系統,都支持多種硬件設備,但搭載HarmonyOS的每個設備都不是孤立的,在系統層多終端融為一體,成為超級終端,終端之間能力、資源可以互助共享。這是HarmonyOS獨有的特性,即華為提出的萬物互聯的概念。隨著5G時代以及以后的6G時代、7G時代的來臨,更多的硬件設備將得到網絡支持,而有了HarmonyOS,這些設備不再是獨立的個體,而是物聯網的一部分,這些物聯網設備所產生的數據將在全球物聯網大腦中流動,其產生的力量將難以置信。本書針對HarmonyOS SDK 4版本,對HarmonyOS的應用開發基礎進行了梳理和介紹,并搭配對應案例進行講解,幫助讀者快速掌握。本書最后提供了三個完整的HarmonyOS應用程序的開發案例,供讀者學習。全書共13章。第1章對HarmonyOS的概念、技術特性以及技術架構進行了綜合介紹,讓讀者對HarmonyOS有一個全面的了解。第2章以一個簡單的Hello World工程為例,介紹HarmonyOS應用程序的開發環境、開發工具以及應用的調試過程,并對HarmonyOS的工程結構進行講解,使讀者能更好地切入和理解后續章節學習內容。第3章詳細介紹HarmonyOS應用程序的一大核心Page Ability,其是完成后續章節學習的基礎,使讀者更好地學習后續內容。第4~6章分別對布局、組件以及對話框進行系統介紹。第7章介紹HarmonyOS應用程序中多媒體的開發過程。第8、9章介紹HarmonyOS應用程序中的數據管理和文件管理的部分。第10章介紹HarmonyOS應用程序中后臺任務如何通過Service Ability運行。第11~13章分別介紹三個完整的案例(工大通、定點巡檢、多媒體播放器),不僅涉及基本的布局、組件、數據管理等基礎知識,還涉及了對設備硬件調用等進階開發知識,讀者可以在這三個案例的基礎上進行二次開發,使其功能更加豐富。本書非常適合初學者入門,在內容講解上,針對代碼部分也采用循序漸進的方式進行講解,保證讀者能夠根據提供的代碼逐步掌握書中的知識點,并且提供直觀的可視化效果作為參考。在本書編寫時,HarmonyOS的應用開發能力和系統還未完全成熟,處于快速更新迭代的狀態,因此本書內容的廣度和深度有限,僅涉及HarmonyOS應用開發中的一些基礎核心功能。另外,在編寫過程中,由于HarmonyOS的多次更新迭代,本書的代碼也經歷了多次測試和更改,因此讀者在學習過程中也難免會碰到一些問題,還望讀者見諒,也歡迎隨時聯系我們反饋問題。在此,也要感謝李強、刑偉偉、齊楚鋒、劉大勇、房立國、王能森、楊望旭、劉旭、何川、張雨辰、章鍇杰、林朗、陸琦超、周倩、王鳴飛、袁知恒等在書稿的編寫、校對、核驗以及本書案例代碼的編寫、調試等方面做出的貢獻。
編者2023年3月
第1章HarmonyOS簡介/11.1HarmonyOS的前世今生11.1.1HarmonyOS概述11.1.2HarmonyOS全場景戰略11.2HarmonyOS的技術特性21.2.1硬件互助,資源共享31.2.2一次開發,多端部署51.2.3統一操作系統,彈性部署51.3HarmonyOS的技術架構61.3.1內核層61.3.2系統服務層71.3.3框架層71.3.4應用層7第2章Hello World/82.1HarmonyOS應用程序的開發環境82.2運行 Hello World102.2.1創建HelloWorld項目工程102.2.2啟動模擬器132.2.3運行HelloWorld工程152.2.4分析HelloWord工程152.3HarmonyOS應用程序運行調試162.3.1設置斷點162.3.2輸出日志182.4HarmonyOS應用程序設備調試192.4.1生成簽名文件192.4.2簽名HarmonyOS App252.4.3無線真機調試25第3章窗口/273.1Page Ability概述27HarmonyOS應用程序開發與實戰(Java版)目錄3.2Page Ability的基本用法283.2.1手動創建Page Ability類283.2.2在config.json文件中注冊Page Ability283.2.3創建布局文件303.2.4靜態裝載布局文件313.2.5顯示Page Ability313.2.6銷毀Page Ability323.3Page Ability之間的交互333.3.1Intent的基本概念333.3.2顯式使用Intent333.3.3隱式使用Intent353.3.4Page Ability之間的通信373.4Page Ability的啟動類型423.5Page Ability的跨設備遷移433.5.1跨設備遷移前的準備工作443.5.2獲取設備列表443.5.3根據設備ID調用Page Ability493.6AbilitySlice間導航543.6.1AbilitySlice的基礎用法543.6.2同一Page間導航553.6.3不同Page間導航583.7生命周期593.7.1Page Ability的生命周期593.7.2AbilitySlice的生命周期60第4章布局/624.1Java UI框架概述624.2方向布局634.2.1支持的XML屬性634.2.2排列方式644.2.3對齊方式664.2.4權重684.3依賴布局704.3.1支持的XML屬性704.3.2排列方式714.4表格布局764.4.1支持的XML屬性764.4.2設置行列數764.4.3設置布局排列方向784.4.4設置對齊方式784.5棧布局804.5.1支持的XML屬性804.5.2使用默認布局添加組件804.5.3使用相對位置添加組件814.6位置布局824.7自適應盒子布局844.7.1常用方法844.7.2場景示例84第5章UI組件/885.1展示組件885.1.1文本組件885.1.2圖像組件915.1.3進度條組件945.1.4圓形進度條975.1.5時鐘組件975.2交互組件1015.2.1按鈕組件1015.2.2切換按鈕組件1045.2.3文本編輯組件1055.2.4單選組件 1075.2.5多選組件1095.2.6開關組件1115.3高級組件1135.3.1列表組件1135.3.2標簽列表組件1185.3.3滑動選擇器組件 1215.3.4日期選擇器組件1245.3.5時間選擇器組件1275.3.6滾動視圖組件130第6章對話框/1336.1普通對話框1336.1.1顯示一個簡單的對話框1336.1.2為對話框添加關閉按鈕1346.1.3為對話框添加多個按鈕1356.1.4調整按鈕的尺寸1366.1.5自動關閉對話框1386.2定制對話框1396.3Toast 信息框1406.4Popup 對話框142第7章多媒體/1437.1音頻1437.1.1準備本地音頻文件1437.1.2播放本地音頻文件1457.1.3暫停和繼續播放音頻 1467.1.4停止播放音頻 1467.1.5播放在線音頻文件1467.1.6播放音頻的完整案例1467.2視頻1487.3相機1517.3.1拍照API的使用方式 1517.3.2使用相機需要申請的權限1527.3.3拍照的完整案例 152第8章數據管理/1608.1輕量級數據存儲開發1608.1.1Preferences類的基本用法 1608.1.2響應文件寫入動作1628.1.3輕量級存儲的移動和刪除1648.2關系數據庫開發1658.2.1使用SQL語句操作SQLite數據庫1668.2.2使用謂詞操作SQLite數據庫1688.2.3使用事務1718.3對象關系映射數據庫1748.4分布式文件1778.5分布式數據1808.5.1同步數據1808.5.2用謂詞查詢分布式數據183第9章Data Ability/1909.1Data Ability概述1909.2Data Ability中的URI1909.3創建Data Ability1919.3.1手動創建Data Ability1919.3.2自動創建Data Ability1929.3.3創建DataAbilityHelper1939.4Data Ability訪問數據庫1939.5Data Ability訪問文件1989.6Data Ability跨設備訪問201第10章Service Ability/20610.1Service Ability概述20610.2Service Ability的生命周期20610.2.1啟動狀態的Service Ability20610.2.2連接狀態的Service Ability20710.3Service Ability的創建20710.3.1創建Service Ability20710.3.2創建前臺Service Ability20910.4Service Ability的啟動與關閉21010.4.1啟動Service Ability21010.4.2關閉Service Ability21110.5Service Ability的連接21410.5.1創建接口定義文件21410.5.2連接Service Ability214第11章工大通/21911.1功能需求分析21911.1.1每日一報21911.1.2通行碼領取22011.1.3數據管理22011.1.4業務流程圖22011.1.5系統構架圖22011.2搭建項目框架22111.2.1創建項目22111.2.2配置起始頁22211.2.3配置App圖標和名稱22211.3界面設計22311.3.1登錄界面22311.3.2主界面22411.3.3每日一報界面22711.3.4通行碼領取界面22911.4功能實現23011.4.1登錄功能23011.4.2表單信息收集23111.4.3數據管理23311.4.4表單提交23611.4.5通行碼領取236第12章定點巡檢/23912.1功能需求分析23912.1.1設備定位及地圖位置展示24012.1.2振動提示24012.1.3拍照打卡24012.1.4歷史打卡記錄24012.2搭建項目框架24012.2.1項目架構24012.2.2權限設置24012.3頁面設計24212.3.1地圖界面24212.3.2打卡拍照界面24212.3.3打卡記錄界面24212.4功能實現24412.4.1數據管理24412.4.2定位及地圖展示24712.4.3振動器調用25012.4.4相機調用25012.4.5打卡操作25212.4.6打卡記錄查詢253第13章多媒體播放器/25513.1功能需求分析25513.1.1獲取讀取本地媒體文件權限25513.1.2獲取本地媒體文件25613.1.3播放音頻和視頻25613.2搭建項目框架25613.2.1項目結構25613.2.2添加應用權限25613.2.3配置相關的abilities25713.3界面設計25813.3.1歡迎界面25813.3.2媒體列表頁25813.3.3播放器界面26113.4功能實現26313.4.1歡迎界面及權限授予26313.4.2媒體列表及獲取本地媒體文件26413.4.3封裝一個Player播放器類26813.4.4實現PlayerAbility270