Module是應用/服務的基本功能單元,包含了源代碼、資源文件、第三方庫及應用/服務配置文件,每一個Module都可以獨立進行編譯和運行。一個HarmonyOS應用/服務通常會包含一個或多個Module,因此,可以在工程中創建多個Module,每個Module分為Ability和Library兩種類型。
在工程中添加Module
創建新的Module
1.通過如下兩種方法,在工程中添加新的Module。
- 方法1:鼠標移到工程目錄頂部,單擊鼠標右鍵,選擇New > Module…,開始創建新的Module。
- 方法2:選中工程目錄中任意文件,然后在菜單欄選擇File > New > Module…,開始創建新的Module。
2.在New Project Module界面中,選擇需要創建的模板,單擊Next。
3.在Module配置頁面,設置新增Module的基本信息,然后單擊Next。
- Module name:新增模塊的名稱。
- Module type:僅在Ability模板存在該字段,可以選擇Feature和Entry類型。如果同一類型的設備已經存在Entry模塊,添加新Module選擇Entry類型時,還需要配置distroFilter分發規則。
- Enable Super Visual:是否使用低代碼開發方式。
- Language:選擇該Module的開發語言。
- Device type:選擇模塊的設備類型,如果新建模塊的Module type為feature,則只能選擇該工程原有的設備類型;如果Module type為entry,可以選擇該Module支持的其他設備類型。
- Enable native:僅Library模板存在,將創建一個可以調用C/C++的共享包。
4.若該Module的模板類型為Ability,還需要設置新增Ability的Ability name和Exported參數,Exported參數表示該Ability是否可以被其它應用/服務所調用(FA模型下為Visible參數)。
- 勾選(true):可以被其它應用/服務調用。
- 不勾選(false):不能被其它應用/服務調用。
5.單擊Finish,等待創建完成后,可以在工程目錄中查看和編輯新增的Module。
導入Module
HarmonyOS工程支持從其它工程中導入HarmonyOS模塊的功能,導入的模塊只能是HarmonyOS工程中的模塊。當前僅支持FA模型的模塊導入到FA模型,Stage模型的模塊導入到Stage模型,不支持FA模型的模塊導入到Stage模型或Stage模型的模塊導入到FA模型。
1.在菜單欄單擊File > New >Import… >Import Module。
2.選擇導入的模塊時。其中SDK 4-7的工程既可以選擇模塊也可以選擇工程,而SDK 8-9的工程只可以選擇模塊。下面以SDK 8-9的工程為例介紹導入模塊的具體操作。
在指定路徑下,選擇導入的模塊,單擊OK。導入的模塊可以為文件夾,也可以為zip格式。
配置distroFilter分發規則
同一類型的設備(Phone、Wearable、Lite Wearable等)可能在系統API版本(apiVersion)、屏幕形狀(screenShape)、分辨率(screenWindow)上存在差異。針對這些差異,開發者需要針對同一類型設備的不同型號進行適配開發,然后在應用市場實現精準的分發,以便不同設備的用戶能獲得更好的使用體驗。為了實現應用市場的精準分發,需要在一個工程中,針對同一類型設備添加多個Entry模塊來適配不同型號的設備,然后再配置不同的分發規則。具體規則如下:
- 通過DeviceType與screenShape等屬性的組合唯一確定一個Entry。
- distroFilter中至少包含屬性中的一個標簽。
- 如果一個Entry模塊中配置了screenShape等任意一個或多個標簽,則其他的Entry模塊也必須包含相同的標簽。
- 一般情況下,screenShape和screenWindow標簽用于Lite Wearable設備中。
- 不同屬性標簽的配置格式如下。其中,policy取值為include時,表示設備滿足value取值時,應用市場向該設備進行分發;policy取值為exclude時,表示除了value的取值外,其它合法的取值,應用市場都會向設備進行分發。
說明
screenWindow標簽的policy取值只能為include。
Stage模型配置分發規則
1.在entry > src > main > resources > profile文件中新建一個.json文件,并根據開發實際需要,配置如下代碼信息。Stage模型下分發規則請參見distroFilter標簽。
{"distroFilter": {"apiVersion": { //API 版本"policy": "include","value": [4, 5]},"screenShape": { //屏幕形狀枚舉"policy": "include","value": ["circle", "rect"]},"screenWindow": { //屏幕尺寸"policy": "include","value": ["454*454", "466*466"]},"screenDensity": { //屏幕的像素密度"policy": "exclude","value": ["ldpi", "xldpi"]},"countryCode": { //國家地區"policy": "include","value": ["CN", "HK"] }}
}
2.在module.json文件中指定分發文件。
{"module": {"name": "MyAbilityStage","metadata": [{"name": "ohos.module.distro","resource": "$profile:distro_filter_config" //distro_filter_config為被指定的分發文件}]}
}
FA模型下配置分發規則
在同一個工程中,如果同一個設備存在多個Entry模塊,需要在每一個Entry模塊的config.json文件中,配置distroFilter分發規則。FA模型distroFilter字段請參見distroFilter對象的內部結構。
"module": {..."distroFilter": {"標簽名字": {"policy": "include|exclude""value": [ a, b, c] }}
}
刪除Module
在工程目錄中選中要刪除的模塊,單擊鼠標右鍵,選中Delete,并在彈出的對話框中單擊Delete。
為了能夠讓大家跟上互聯網時代的技術迭代,在這里跟大家分享一下我自己近期學習心得以及參考網上資料整理出的一份最新版的鴻蒙學習提升資料,有需要的小伙伴自行領取,限時開源,先到先得~~~~
領取以下高清學習路線原圖請點擊→《鴻蒙基礎入門學習指南》純血鴻蒙HarmonyOS基礎技能學習路線圖
領取以上完整高清學習路線圖,請點擊→《鴻蒙 (Harmony OS)開發學習手冊》小編自己整理的部分學習資料(包含有高清視頻、開發文檔、電子書籍等)
以上分享的學習路線都適合哪些人跟著學習?
-應屆生/計算機專業通過學習鴻蒙新興技術,入行互聯網,未來高起點就業。
-0基礎轉行提前布局新方向,抓住風口,自我提升,獲得更多就業機會。
-技術提升/進階跳槽發展瓶頸期,提升職場競爭力,快速掌握鴻蒙技術,享受藍海紅利。
最后
鴻蒙開發學習是一個系統化的過程,從基礎知識的學習到實戰技能的錘煉,再到對前沿技術的探索,每一環節都至關重要。希望這份教程資料能幫助您快速入門并在鴻蒙開發之路上步步攀升,成就一番事業。讓我們一起乘風破浪,擁抱鴻蒙生態的廣闊未來!
如果你覺得這篇內容對你有幫助,我想麻煩大家動動小手給我:點贊,轉發,有你們的 『點贊和評論』,才是我創造的動力。
關注我,同時可以期待后續文章ing,不定期分享原創知識。
想要獲取更多完整鴻蒙最新VIP學習資料,請點擊→《鴻蒙全套學習指南》