<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙OS開發:【一次開發,多端部署】(工程管理)

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-16 16:07 ? 次閱讀

工程管理

DevEco Studio的基本使用,請參考[DevEco Studio使用指南]。本章主要介紹如何使用DevEco Studio進行多設備應用開發。

說明: 本章的內容基于DevEco Studio 3.1.1 Release版本進行介紹,如您使用DevEco Studio其它版本,可能存在文檔與產品功能界面、操作不一致的情況,請以實際功能界面為準。
開發前請熟悉鴻蒙開發指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

工程創建

參考[創建系統工程],先創建出最基本的項目工程??梢钥吹紻evEco Studio創建出的默認工程,僅包含一個的entry類型的模塊。

zh-cn_image_0000001267274204

如果直接使用如下所示的平級目錄進行模塊管理,工程邏輯結構較混亂且模塊間的依賴關系不夠清晰,不利于開發及后期維護。

/application
├── common
├── feature1
├── feature2
├── featureN
├── wearable
├── default
└── productN

推薦使用本文[部署模型]小節中介紹的common、features、product三層工程結構。工程結構示例如下所示:

/application
 ├── common                  # 公共特性目錄
 │
 ├── features                # 功能模塊目錄
 │   ├── feature1            # 子功能
 │   ├── feature2            # 子功能2
 │   └── ...                 # 子功能n
 │
 └── product                 # 產品層目錄
     ├── wearable            # 智能穿戴泛類目錄
     ├── default             # 默認設備泛類目錄
     └── ...

接下來將依次介紹如何新建Module、修改配置文件以及調整目錄,以實現“一多”推薦的“三層工程結構”。

新建Module

參考[開發ohpm包]),新建三個ohpm模塊,分別命名為common、feature1、feature2。參考[添加/刪除Module],新建一個entry類型的模塊,假設命名為“wearable”(僅僅為了說明某一類產品)。示例如下:

zh-cn_image_0000001315434285

說明:

  • 在一個工程中同一個設備類型只支持一個Entry類型的模塊。
  • 在下一個小節,我們將介紹如何修改Module的配置,包括Module的類型以及其支持的設備類型等。

修改Module配置

修改Module名稱

修改創建工程時默認的entry模塊名稱。在該模塊上點擊鼠標右鍵,依次選擇”Refactor -> Rename”,將名稱修改為default。

zh-cn_image_0000001315914185

修改Module類型及其設備類型

通過修改每個模塊中的配置文件(module.json5)對模塊進行配置,配置文件中各字段含義詳見[配置文件說明]。

  • 將default模塊的deviceTypes配置為["default", "tablet"],同時將其type字段配置為entry。
    即default模塊編譯出的HAP在默認設備和平板上安裝和運行。
    zh-cn_image_0000001267914116
  • 將wearable模塊的deviceTypes配置為["wearable"],同時將其type字段配置為entry。 即wearable模塊編譯出的HAP僅在智能穿戴設備上安裝和運行。
    zh-cn_image_0000001267514192

調整目錄結構

調整目錄結構

在工程根目錄(MyApplication)上點擊鼠標右鍵,依次選擇“New -> Directory”新建子目錄。創建product和features兩個子目錄。

zh-cn_image_0000001266874320

用鼠標左鍵將default目錄拖拽到新建的product目錄中,在IDE彈出的確認窗口中,點擊“Refactor”即可。

zh-cn_image_0000001315714137

按照同樣的步驟,將wearable目錄放到product目錄中,將feature1和feature2放到features目錄中。

zh-cn_image_0000001316914105

修改依賴關系

回顧之前小節中關于“工程結構”的介紹,我們推薦在common目錄中存放基礎公共代碼,features目錄中存放相對獨立的功能模塊代碼,product目錄中存放完全獨立的產品代碼。這樣在product目錄中依賴features和common中的公共代碼來實現功能,可以最大程度實現代碼復用。

配置依賴關系可以通過修改模塊中的oh-package.json文件。如下圖所示,通過修改default模塊中的oh-package.json文件,使其可以使用common、feature1和feature2模塊中的代碼。

zh-cn_image_0000001267274208

同樣的,修改feature1和feature2模塊中的oh-package.json文件,使其可以使用common模塊中的代碼。

修改oh-package.json文件后,請點擊右上角的“Sync Now”,否則改動不會生效。

引用ohpm包中的代碼

在[開發ohpm包]中,僅介紹了如何使用ohpm包中的頁面和資源,本小節以例子的形式補充介紹如何使用ohpm包中的類和函數。

示例如下:

  • 在common模塊中新增ComplexNumber類,用于表征復數(數學概念,由實部和虛部組成),該類包含toString()方法,將復數轉換為字符形式。
  • 在common模塊中新增Add函數,用于計算并返回兩個數字的和。
  • 在default模塊中,使用common模塊新增的ComplexNumber類和Add函數。
  1. 在”common/src/main/ets”目錄中,按照需要新增文件和自定義類和函數。 zh-cn_image_0000001315434289
  2. 在”common/index.ets”文件中,申明需要export的類、函數的名稱及在當前模塊中的位置,否則其它模塊無法使用。 zh-cn_image_0000001315914189
  3. 在default模塊中import和使用這些類和函數。注意提前在default模塊的oh-package.json文件中配置對common模塊的依賴關系。 zh-cn_image_0000001267914120

搜狗高速瀏覽器截圖20240326151547.png

說明:
HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
如果需要將ohpm包發布供其他開發者使用,具體可參考[發布ohpm包]。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Common
    +關注

    關注

    0

    文章

    4

    瀏覽量

    6932
  • 鴻蒙
    +關注

    關注

    55

    文章

    1776

    瀏覽量

    42155
  • 鴻蒙OS
    +關注

    關注

    0

    文章

    145

    瀏覽量

    4290
收藏 人收藏

    評論

    相關推薦

    ?HarmonyOS"一次開發,多端部署"優秀實踐——玩機技巧

    的潛在用戶群體。一個應用要在多類設備上提供統一的內容,需要適配不同的屏幕尺寸和硬件,開發成本較高。"一次開發,多端部署"(后文中簡稱為"一多
    的頭像 發表于 08-30 10:25 ?1682次閱讀
    ?HarmonyOS"<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>"優秀實踐——玩機技巧

    HarmonyOS開發案例:【一次開發,多端部署-音樂專輯】

    基于自適應和響應式布局,實現一次開發、多端部署音樂專輯頁面。
    的頭像 發表于 05-13 16:48 ?363次閱讀
    HarmonyOS<b class='flag-5'>開發</b>案例:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>-音樂專輯】

    鴻蒙OS開發:【一次開發,多端部署】(天氣應用)案例

    本章通過一個天氣應用,介紹一多應用的整體開發過程,包括UX設計、工程管理及調試、頁面開發等。
    的頭像 發表于 05-15 15:42 ?309次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(天氣應用)案例

    鴻蒙OS開發:【一次開發,多端部署】(應用UX設計原則)

    當為多種不同的設備開發應用時,有如下設計原則:
    的頭像 發表于 05-15 16:07 ?372次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(應用UX設計原則)

    為滿足全場景智慧體驗 鴻蒙系統一四大技術特性!

    等級。同時由于鴻蒙OS微內核的代碼量只有Linux宏內核的千分之,其受攻擊幾率也大幅降低。4. 通過統IDE支撐一次
    發表于 09-03 21:09

    鴻蒙OS適用的全場景到底什么意思?

    全場景流暢體驗、架構級可信安全、跨終端無縫協同以及一次開發多終端部署的要求,鴻蒙應未來而生?!边@里說到的全場景到底什么意思呢?歡迎各位發表自己的見解!
    發表于 09-25 09:25

    [文章] HarmonyOS學習之鴻蒙HarmonyOS系統介紹

    。一次開發、多端部署。統OS,彈性部署Harmon
    發表于 12-02 16:57

    科普干貨|談談鴻蒙LiteOS-M與HUAWEI LiteOS內核的幾大不同之處

    、Ability框架以及UI框架,支持應用開發過程中多終端的業務邏輯和界面邏輯進行復用,能夠實現應用的一次開發、多端部署,提升了跨設備應用的
    發表于 12-11 10:42

    Happ開發后,如何實現多端部署?

    做出來后,怎么燒錄到它上面?說好的“一次開發,多端部署”2、DevEco Studio 開發出來的Happ,它能不能安裝到 android的
    發表于 09-10 21:42

    鴻蒙os用戶達2億!官方:版本必須再更新!

    開發者預覽版。華為表示,HarmonyOS 3 圍繞系統架構、超級終端、一次開發多端部署三個核心價值持續創新,帶來系統能力、
    發表于 10-23 16:38

    HarmonyOS\"一次開發,多端部署\"優秀實踐——玩機技巧,碼上起航

    工程一次開發上架,即可多端按需部署。公共能力層支持網絡框架、工具類、數據管理等能力。特性層抽象出
    發表于 08-30 18:14

    鴻蒙 OS 應用開發初體驗

    大家對華為生態的應用開發感興趣或者想深入學習借鑒華為做 OS 和物聯網的思路,鴻蒙系統就是個標桿。 轉自【巫山老妖】
    發表于 11-02 19:38

    華為開發者大會2021:一次開發 多端部署

    一次開發 多端部署使能開發者從單設備生態跨入多設備生態!
    的頭像 發表于 10-22 15:09 ?1415次閱讀
    華為<b class='flag-5'>開發</b>者大會2021:<b class='flag-5'>一次</b><b class='flag-5'>開發</b> <b class='flag-5'>多端</b><b class='flag-5'>部署</b>

    華為開發者大會2021:軟件部總裁龔體 鴻蒙系統 一次開發 多端部署 萬物互連

    華為開發者大會2021:鴻蒙系統 一次開發 多端部署 萬物互連 在華為
    的頭像 發表于 10-22 15:09 ?4104次閱讀
    華為<b class='flag-5'>開發</b>者大會2021:軟件部總裁龔體 <b class='flag-5'>鴻蒙</b>系統 <b class='flag-5'>一次</b><b class='flag-5'>開發</b> <b class='flag-5'>多端</b><b class='flag-5'>部署</b> 萬物互連

    鴻蒙OS開發:【一次開發,多端部署】(簡介)

    隨著終端設備形態日益多樣化,分布式技術逐漸打破單一硬件邊界,一個應用或服務,可以在不同的硬件設備之間隨意調用、互助共享,讓用戶享受無縫的全場景體驗。而作為應用開發者,廣泛的設備類型也能為應用帶來廣大
    的頭像 發表于 05-14 15:20 ?140次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發</b>:【<b class='flag-5'>一次</b><b class='flag-5'>開發</b>,<b class='flag-5'>多端</b><b class='flag-5'>部署</b>】(簡介)
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>