【HarmonyOS Next之旅】DevEco Studio使用指南(一)

目錄

1 -> 工具簡介

1.1 -> 概述

1.2 -> HarmonyOS應用/服務開發流程

1.2.1 -> 開發準備

1.2.2 -> 開發應用/服務

1.2.3 -> 運行、調試和測試應用/服務

1.2.4 -> 發布應用/服務

2 -> 工程介紹

2.1 -> APP包結構

2.2 -> 切換工程視圖

3 -> 工程目錄結構

3.1 -> ArkTS工程目錄結構(Stage模型)

3.2 -> C++工程目錄結構(Stage模型)

3.3 -> JS工程目錄結構(FA模型)


1 -> 工具簡介

1.1 -> 概述

HUAWEI DevEco Studio(以下簡稱DevEco Studio)是基于IntelliJ IDEA Community開源版本打造,面向全場景多設備,提供一站式的分布式應用開發平臺,支持分布式多端開發、分布式多端調測、多端模擬仿真,全方位的質量與安全保障。

作為一款開發工具,除了具有基本的代碼開發、編譯構建及調測等功能外,DevEco Studio還具有如下特點:

  • 高效智能代碼編輯:支持eTS、JavaScript、C/C++等語言的代碼高亮、代碼智能補齊、代碼錯誤檢查、代碼自動跳轉、代碼格式化、代碼查找等功能,提升代碼編寫效率。
  • 低代碼可視化開發:豐富的UI界面編輯能力,支持自由拖拽組件和可視化數據綁定,可快速預覽效果,所見即所得;同時支持卡片的零代碼開發,降低開發門檻和提升界面開發效率。
  • 多端雙向實時預覽:支持UI界面代碼的雙向預覽、實時預覽、動態預覽、組件預覽以及多端設備預覽,便于快速查看代碼運行效果。
  • 多端設備模擬仿真:提供HarmonyOS本地模擬器、遠程模擬器、超級終端模擬器,支持手機、智慧屏、智能穿戴等多端設備的模擬仿真,便捷獲取調試環境。

1.2 -> HarmonyOS應用/服務開發流程

使用DevEco Studio,只需要按照如下幾步,即可輕松開發并上架一個HarmonyOS應用/服務到華為應用市場。

1.2.1 -> 開發準備

開發工具的安裝以及環境的配置參考往期文章:

【HarmonyOS之旅】DevEco Studio的安裝與環境配置

1.2.2 -> 開發應用/服務

DevEco Studio集成了手機、智慧屏、智能穿戴等設備的典型場景模板,可以通過工程向導輕松的創建一個新的工程。

接下來還需要定義應用/服務的UI、開發業務功能等編碼工作,可以根據HarmonyOS應用開發概述來查看具體的開發過程,通過查看API接口文檔查閱需要調用的API接口。

在開發代碼的過程中,可以使用預覽器查看應用/服務效果,支持實時預覽、動態預覽、雙向預覽等功能,使編碼的過程更高效。

1.2.3 -> 運行、調試和測試應用/服務

應用/服務開發完成后,可以???????使用真機進行調試(需要申請調測證書進行簽名)或者???????使用模擬器進行調試,支持單步調試、跨設備調試、跨語言調試、變量可視化等調試手段,使得應用/服務調試更加高效。

HarmonyOS應用/服務開發完成后,在發布到應用/服務市場前,還需要???????對應用進行測試,主要包括漏洞、隱私、兼容性、穩定性、性能等進行測試,確保HarmonyOS應用/服務純凈、安全,給用戶帶來更好的使用體驗。

1.2.4 -> 發布應用/服務

HarmonyOS應用/服務開發、測試完成后,需要???????將應用/服務發布至應用市場,以便應用市場對應用/服務進行分發,普通消費者可以通過應用市場或服務中心獲取到對應的HarmonyOS應用/服務。需要注意的是,發布到華為應用市場或服務中心的HarmonyOS應用/服務,必須使用應用市場頒發的發布證書進行簽名。

2 -> 工程介紹

2.1 -> APP包結構

在進行應用/元服務開發前,開發者應該掌握應用/元服務的邏輯結構。

應用/元服務發布形態為APP Pack(Application Package),它是由一個或多個???????HAP(Harmony Ability Package)包以及描述APP Pack屬性的pack.info文件組成。

一個HAP在工程目錄中對應一個Module,它是由代碼、資源、三方庫及應用/元服務配置文件組成,HAP可以分為Entry和Feature兩種類型。

  • Entry:應用的主模塊,作為應用的入口,提供了應用的基礎功能。

  • Feature:應用的動態特性模塊,作為應用能力的擴展,可以根據用戶的需求和設備類型進行選擇性安裝。

基于Stage模型和FA模型開發的應用,應用程序包結構并不相同。

Stage模型應用程序包結構如下圖所示。

FA模型應用程序包結構如下圖所示。

2.2 -> 切換工程視圖

DevEco Studio工程目錄結構提供工程視圖和Ohos視圖。工程視圖(Project)展示工程中實際的文件結構,Ohos視圖會隱藏一些編碼中不常用到的文件,并將常用到的文件進行重組展示,方便開發者查詢或定位所需編輯的模塊或文件。

工程創建或打開后,默認顯示工程視圖,如果要切換到Ohos視圖,在左上角單擊Project?>?Ohos進行切換

3 -> 工程目錄結構

3.1 -> ArkTS工程目錄結構(Stage模型)

ArkTS Stage模型支持API Version 10及以上版本,其工程目錄結構如下圖所示:

  • AppScope > app.json5:應用的全局配置信息。
  • entry:應用/元服務模塊,編譯構建生成一個HAP。
    • src > main > ets:用于存放ArkTS源碼。
    • src > main > ets > entryability:應用/元服務的入口。
    • src > main > ets > pages:應用/元服務包含的頁面。
    • src > main > resources:用于存放應用/元服務模塊所用到的資源文件,如圖形、多媒體、字符串、布局文件等。
資源目錄資源文件說明
base>element

包括字符串、整型數、顏色、樣式等資源的json文件。每個資源均由json格式進行定義,例如:

  • boolean.json:布爾型
  • color.json:顏色
  • float.json:浮點型
  • intarray.json:整型數組
  • integer.json:整型
  • pattern.json:樣式
  • plural.json:復數形式
  • strarray.json:字符串數組
  • string.json:字符串值
base>media多媒體文件,如圖形、視頻、音頻等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。
rawfile用于存儲任意格式的原始資源文件。rawfile不會根據設備的狀態去匹配不同的資源,需要指定文件路徑和文件名進行引用。
    • src > main > module.json5:Stage模型模塊配置文件,主要包含HAP的配置信息、應用在具體設備上的配置信息以及應用的全局配置信息。
    • build-profile.json5:當前的模塊信息、編譯信息配置項,包括buildOption、targets配置等。
    • hvigorfile.ts:模塊級編譯構建任務腳本。
    • oh-package.json5:描述三方包的包名、版本、入口文件(類型聲明文件)和依賴項等信息。
  • oh_modules:用于存放三方庫依賴信息,包含應用/元服務所依賴的第三方庫文件。
  • build-profile.json5:應用級配置信息,包括簽名、產品配置等。
  • hvigorfile.ts:應用級編譯構建任務腳本。
  • oh-package.json5:描述全局配置,如:依賴覆蓋(overrides)、依賴關系重寫(overrideDependencyMap)和參數化配置(parameterFile)等。

3.2 -> C++工程目錄結構(Stage模型)

C++ Stage模型支持API Version 10以上版本,支持使用ArkTS+C++進行開發,其工程目錄結構如下圖所示。

  • entry:應用模塊,編譯構建生成一個HAP。
  • src > main > cpp > types:用于存放C++的API接口描述文件
  • src > main > cpp > types?> libentry > index.d.ts:描述C++ API接口行為,如接口名、入參、返回參數等。
  • src > main > cpp > types?> libentry> oh-package.json5:配置.so三方包聲明文件的入口及包名。
  • src > main > cpp > CMakeLists.txt:CMake配置文件,提供CMake構建腳本。
  • src > main > cpp > napi_init.cpp:定義C++ API接口的文件
  • src > main > ets:用于存放ArkTS源碼。
  • src > main > resources:用于存放應用所用到的資源文件,如圖形、多媒體、字符串、布局文件等。
資源目錄資源文件說明
base>element

包括字符串、整型數、顏色、樣式等資源的json文件。每個資源均由json格式進行定義,例如:

  • boolean.json:布爾型
  • color.json:顏色
  • float.json:浮點型
  • intarray.json:整型數組
  • integer.json:整型
  • pattern.json:樣式
  • plural.json:復數形式
  • strarray.json:字符串數組
  • string.json:字符串值。
base>media多媒體文件,如圖形、視頻、音頻等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。
rawfile用于存儲任意格式的原始資源文件。rawfile不會根據設備的狀態去匹配不同的資源,需要指定文件路徑和文件名進行引用。
    • src > main > module.json5:Stage模塊配置文件,主要包含HAP的配置信息、應用在具體設備上的配置信息以及應用的全局配置信息。
    • build-profile.json5:當前的模塊信息、編譯信息配置項,包括buildOption、targets配置等。
    • hvigorfile.ts:模塊級編譯構建任務腳本。
  • build-profile.json5:應用級配置信息,包括簽名、產品配置等。
  • hvigorfile.ts:應用級編譯構建任務腳本。

3.3 -> JS工程目錄結構(FA模型)

JS工程只支持FA模型,其工程目錄結構如下圖所示:

  • entry:應用/元服務模塊,編譯構建生成一個HAP。
  • src > main > js:用于存放js源碼。
  • src > main > js > MainAbility:應用/元服務的入口。
  • src > main > js > MainAbility > i18n:用于配置不同語言場景資源內容,比如應用文本詞條、圖片路徑等資源。
  • src > main > js > MainAbility > pages:MainAbility包含的頁面。
  • src > main > js > MainAbility > app.js:承載Ability生命周期。
  • src > main > resources:用于存放應用/元服務所用到的資源文件,如圖形、多媒體、字符串、布局文件等。
資源目錄資源文件說明
base>element

包括字符串、整型數、顏色、樣式等資源的json文件。每個資源均由json格式進行定義,例如:

  • boolean.json:布爾型
  • color.json:顏色
  • float.json:浮點型
  • intarray.json:整型數組
  • integer.json:整型
  • pattern.json:樣式
  • plural.json:復數形式
  • strarray.json:字符串數組
  • string.json:字符串值
base>media多媒體文件,如圖形、視頻、音頻等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。
rawfile用于存儲任意格式的原始資源文件。rawfile不會根據設備的狀態去匹配不同的資源,需要指定文件路徑和文件名進行引用。
    • src > main > config.json:模塊配置文件,主要包含HAP的配置信息、應用在具體設備上的配置信息以及應用的全局配置信息。
    • build-profile.json5:當前的模塊信息、編譯信息配置項,包括buildOption、targets配置等。
    • hvigorfile.ts:模塊級編譯構建任務腳本。
    • oh-package.json5:配置三方包聲明文件的入口及包名。
  • build-profile.json5:應用級配置信息,包括簽名、產品配置等。
  • hvigorfile.ts:應用級編譯構建任務腳本。

感謝各位大佬支持!!!

互三啦!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71568.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71568.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71568.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Manus開源平替-開源通用智能體

原文鏈接:https://i68.ltd/notes/posts/250306-opensource-agi-agent/ OWL-比Manus還強的全能開源Agent OWL: Optimized Workforce Learning for General Multi-Agent Assistance in Real-World Task Automation,現實世界中執行自動化任務的通用多代理輔助優化學習…

【3.2-3.8學習周報】

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 摘要Abstract一、方法介紹1.任務適應性持續預訓練(TACP)2.領域自適應連續預訓練(DACP)3.ETS-DACP和ETA-DACP 二、實驗…

【Linux】用戶和組

思考 使用useradd在Linux下面創建一個用戶,默認情況下,會自動創建一個同名組,并且加入其中,那么是先創建用戶呢?還是先創建組呢? 很簡單,我們實踐一下不就知道了,如下所示&#xff…

新編大學應用英語綜合教程2 U校園全套參考答案

全套答案獲取: 鏈接:https://pan.quark.cn/s/389618f53143

SAP 顧問的五年職業規劃

SAP 顧問的職業發展受到技術進步、企業需求變化和全球經濟環境的影響,因此制定長遠規劃充滿挑戰。面對 SAP 產品路線圖的不確定性,如向 S/4HANA 和 Business Technology Platform (BTP) 的轉變,顧問必須具備靈活性,以保持競爭力和…

圖像生成-ICCV2019-SinGAN: Learning a Generative Model from a Single Natural Image

圖像生成-ICCV2019-SinGAN: Learning a Generative Model from a Single Natural Image 文章目錄 圖像生成-ICCV2019-SinGAN: Learning a Generative Model from a Single Natural Image主要創新點模型架構圖生成器生成器源碼 判別器判別器源碼 損失函數需要源碼講解的私信我 S…

Networking Based ISAC Hardware Testbed and Performance Evaluation

文章目錄 Applications and Challenges of Networked SensingCooperation Mechanism in Networked SensingChallenges and Key Enabling Technologies 5G NR Frame Structure Based ISAC ApproachSignals Available for Radio SensingMulti-Dimensiona Resource Optimization S…

2025年主流原型工具測評:墨刀、Axure、Figma、Sketch

2025年主流原型工具測評:墨刀、Axure、Figma、Sketch 要說2025年國內產品經理使用的主流原型設計工具,當然是墨刀、Axure、Figma和Sketch了,但是很多剛入行的產品經理不了解自己適合哪些工具,本文將從核心優勢、局限短板、協作能…

我代表中國受邀在亞馬遜云科技全球云計算大會re:Invent中技術演講

大家好我是小李哥,本名叫李少奕,目前在一家金融行業公司擔任首席云計算工程師。去年5月很榮幸在全球千萬名開發者中被選為了全球亞馬遜云科技認證技術專家(AWS Hero),是近10年來大陸地區僅有的第9名大陸專家。同時作為…

LeetCode 解題思路 12(Hot 100)

解題思路: 定義三個指針: prev(前驅節點)、current(當前節點)、nextNode(臨時保存下一個節點)遍歷鏈表: 每次將 current.next 指向 prev,移動指針直到 curre…

Ubuntu搭建最簡單WEB服務器

安裝apache2 sudo apt install apache2 檢查狀態 $ sudo systemctl status apache2 ● apache2.service - The Apache HTTP ServerLoaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>Active: active (running) since Thu 2025-03-06 09:51:10…

Linux 軟硬鏈接

目錄 軟硬鏈接 軟鏈接 硬鏈接 軟硬鏈接的區別 硬鏈接場景 軟連接場景 軟硬鏈接 軟鏈接 我們可以通過以下命令創建一個文件的軟連接 ln -s mytest softlink-mytest 通過 ls -i -l 命令我們可以看到,軟鏈接文件的inode號與源文件的inode號是不同的&#xff0c…

不同開發語言之for循環的用法、區別總結

一、Objective-C &#xff08;1&#xff09;標準的c風格 for (int i 0; i < 5; i) {NSLog("i %d", i); } &#xff08;2&#xff09;for in循環。 NSArray *array ["apple", "banana", "orange"]; for (NSString *fruit in …

計算機畢設-基于springboot的物業管理系統的設計與實現(附源碼+lw+ppt+開題報告)

博主介紹&#xff1a;?多個項目實戰經驗、多個大型網購商城開發經驗、在某機構指導學員上千名、專注于本行業領域? 技術范圍&#xff1a;Java實戰項目、Python實戰項目、微信小程序/安卓實戰項目、爬蟲大數據實戰項目、Nodejs實戰項目、PHP實戰項目、.NET實戰項目、Golang實戰…

景聯文科技:以精準數據標注賦能AI進化,構筑智能時代數據基石

在人工智能技術席卷全球的浪潮中&#xff0c;高質量數據已成為驅動AI模型進化的核心燃料。作為全球領先的AI數據服務解決方案提供商&#xff0c;景聯文科技深耕數據標注領域多年&#xff0c;以技術為基、以專業為本&#xff0c;致力于為全球客戶提供全場景、高精度、多模態的數…

批量合并 Word 文檔,支持合并成一個 Word,也支持按文件夾合并

我們經常會碰到需要將多個 Word 文檔批量合并成一個 Word 文檔的場景&#xff0c;比如需要合并后打印、合并后方便整理存檔等等。如果是人工的操作&#xff0c;會非常的麻煩。因此我們通常會借助一些批量處理腳本或者尋找批量處理的工具來幫我們實現批量合并 Word 文檔的操作。…

數據安全基石:備份文件的重要性與自動化實踐

在數字化時代&#xff0c;數據已成為企業和個人不可或缺的重要資產。無論是企業的運營數據、客戶資料&#xff0c;還是個人的學習資料、家庭照片&#xff0c;這些數據都承載著巨大的價值。然而&#xff0c;數據的安全問題也日益凸顯&#xff0c;硬件故障、軟件錯誤、人為失誤以…

用IdleHandler來性能優化及原理源碼分析

背景&#xff1a; 經常在做一些app冷啟動速度優化等性能優化工作時候&#xff0c;經常可能會發現有時候需要引入一些第三方sdk&#xff0c;或者庫&#xff0c;這些庫一般會要求我們在onCreate中進行初始化等&#xff0c;但是onCreate屬于生命周期的回調方法&#xff0c;如果on…

SyntaxError: Invalid or unexpected token in JSON at position x

&#x1f90d; 前端開發工程師、技術日更博主、已過CET6 &#x1f368; 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 &#x1f560; 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 &#x1f35a; 藍橋云課簽約作者、…

04.基于C++實現多線程TCP服務器與客戶端通信

基于C實現多線程TCP服務器與客戶端通信 目錄 一、項目背景與目標二、從零開始理解網絡通信三、相關技術背景知識 1. 守護進程(Daemon Process)2. 線程池(Thread Pool)3. RAII設計模式 四、項目整體結構與邏輯五、核心模塊詳細分析 1. TCP服務器模塊2. 線程池模塊3. 任務處理模…