官术网_书友最值得收藏!

2.2.4 工程管理

1.工程結構介紹

(1)HarmonyOS App工程結構

在進行HarmonyOS應用開發前,你應該掌握HarmonyOS應用的邏輯結構(見圖2-42)。

圖2-42 HarmonyOS App工程結構

HarmonyOS應用以App Pack的形式發布,它是由一個或多個HAP以及描述App Pack屬性的pack.info文件組成。

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

HAP是Ability的部署包。HarmonyOS應用代碼圍繞Ability組件展開,它是由一個或多個Ability組成。Ability分為兩種類型:FA(元程序)和PA(元服務)。

(2)工程目錄結構

Java工程目錄結構如圖2-43所示。

圖2-43 Java工程目錄結構

以下是該目錄結構中部分目錄和文件的說明:

□.gradle:Gradle配置文件,由系統自動生成,一般情況下不需要進行修改。

□entry:默認啟動模塊(主模塊),開發者用于編寫源碼文件以及開發資源文件的目錄。

□entry>libs:用于存放entry模塊的依賴文件。

□entry>src>main>Java:用于存放Java源碼。

□entry>src>main>resources:用于存放應用所用到的資源文件,如圖形、多媒體、字符串、布局文件等(見圖2-44)。關于資源文件的詳細說明,請參考資源文件的分類(見2.2.3節)。

圖2-44 資源文件說明

□entry>src>main>config.json:HAP清單文件,詳細說明請參考config.json配置文件的介紹。

□entry>src>test:編寫代碼單元測試代碼的目錄,運行在本地Java虛擬機(JVM)上。

□entry>.gitignore:標識Git版本管理需要忽略的文件。

□entry>build.gradle:entry模塊的編譯配置文件。

JS工程目錄結構如圖2-45所示。

圖2-45 JS工程目錄結構

以下是該目錄結構中部分目錄和文件的說明:

□common:可選,用于存放公共資源文件,如媒體資源、自定義組件和JS文檔等。

□i18n:可選,用于存放多語言的json文件,可以在該目錄下定義應用在不同語言系統下顯示的內容,如應用文本詞條、圖片路徑等。

□pages:pages文件夾下可以包含1個或多個頁面,每個頁面都需要創建一個文件夾(如圖2-45中的index)。頁面文件夾下主要包含3種文件類型,即css、js和hml文件。

□pages>index>index.hml文件:hml文件定義了頁面的布局結構、使用到的組件,以及這些組件的層級關系。

□pages>index>index.css文件:css文件定義了頁面的樣式與布局,包含樣式選擇器和各種樣式屬性等。

□pages>index>index.js文件:js文件描述了頁面的行為邏輯,此文件里定義了頁面里所用到的所有邏輯關系,比如數據、事件等。

□resources:可選,用于存放資源配置文件,比如全局樣式、多分辨率加載等配置文件。

□app.js:全局的JavaScript邏輯文件和應用的生命周期管理。

2.適配歷史工程

由于最新版本的HarmonyOS SDK對應的API版本發生了躍遷,原有的API Version 3變成了API Version 4,原有的API Version 4變成了當前的API Version 5。因此,使用最新版本的DevEco Studio打開歷史工程,需要對歷史工程進行適配;如果歷史工程未做適配,則會導致工程出現運行錯誤。

在打開歷史工程前,建議先點擊Help>Check for Updates,檢查并升級DevEco Studio至最新版本;點擊Tools>SDK Manager,檢查并升級SDK及工具鏈版本至最新版本。

使用DevEco Studio打開歷史工程,會提示將歷史工程進行升級適配。點擊Update,工具會自動修改工程中的配置信息,包括:

□升級config.json和build.gradle中的API Version。

□升級編譯構建插件版本為2.4.2.4。

□升級config.json中的releaseType字段的值為Beta1。

□在build.gradle中添加OHOS測試框架的依賴。

工程升級前后的config.json關鍵字段對比如圖2-46所示。

圖2-46 工程升級前后的config.json關鍵字段對比

3.在工程中管理模塊

模塊(Module)是HarmonyOS應用的基本功能單元,包含了源代碼、資源文件、第三方庫及應用配置文件,每一個模塊都可以獨立編譯和運行。一個HarmonyOS應用通常會包含一個或多個模塊,因此,可以在工程中創建多個模塊,每個模塊分為Ability和Library(HarmonyOS Library和Java Library)兩種類型。

從前面關于HarmonyOS工程的介紹可知,在一個App中,對于同一類型設備有且只有一個Entry模塊,其余模塊的類型均為Feature。因此,在創建一個類型為Ability的模塊時,遵循如下原則:

□若新增模塊的設備類型為“已有設備”,則模塊的類型將自動設置為Feature。

□若新增模塊的設備類型為“當前還沒有創建模塊”,則模塊的類型將自動設置為Entry。

(1)新增模塊

通過如下兩種方法,在工程中添加新的模塊。

方法1:鼠標移到工程目錄頂部,點擊鼠標右鍵,選擇New>Module,開始創建新的模塊。

方法2:在菜單欄選擇File>New>Module,開始創建新的模塊。

在New Project Module界面中,選擇模塊對應的設備類型和模板(見圖2-47)。

圖2-47 在工程中添加新的模塊(1)

點擊Next,在模塊配置頁面設置新增模塊的基本信息(見圖2-48)。

模塊類型為Ability或者HarmonyOS Library時,請根據如下內容進行設置,然后點擊Next(見圖2-48)。

□Application/Library name:新增模塊所屬的類名稱。

□Module Name:新增模塊的名稱。

□Module Type:僅模塊類型為Ability時存在,工具自動根據設備類型下的模塊進行設置,設置規則請參考Ability的模塊類型設置原則。

□Package Name:軟件包名稱,可以點擊Edit修改默認包名稱,須全局唯一。

□Compatible SDK:兼容的SDK版本。

圖2-48 在工程中添加新的模塊(2)

模塊類型為Java Library時,請根據如下內容進行設置,然后點擊Finish完成創建(見圖2-49)。

圖2-49 在工程中添加新的模塊(3)

□Library name:Java Library類名稱。

□Java package name:軟件包名稱,可以點擊Edit修改默認包名稱,須全局唯一。

□Java class name:Java類文件名稱。

□Create .gitignore file:是否自動創建.gitignore文件,勾選表示創建。

設置新增Ability的Page Name。若該模塊的類型為Ability,則還需要設置Visible參數,表示該Ability是否可以被其他應用所調用。

□勾選(true):可以被其他應用調用。

□不勾選(false):不能被其他應用調用。

點擊Finish,等待創建完成后,可以在工程目錄中查看和編輯新增的模塊。

(2)刪除模塊

為防止開發者在刪除模塊的過程中,誤將其他模塊刪除,DevEco Studio提供統一的模塊管理功能,需要先在模塊管理中移除對應的模塊后,才允許刪除。

在菜單欄中選擇File>Project Structure>Modules,選擇需要刪除的模塊,點擊減號按鈕,然后在彈出的對話框中點擊Yes,如圖2-50所示。

圖2-50 刪除模塊

然后,在工程目錄中選中該模塊,點擊鼠標右鍵,選中Delete,并在彈出的對話框中點擊Delete。

主站蜘蛛池模板: 紫阳县| 高碑店市| 会泽县| 阜城县| 天长市| 个旧市| 建阳市| 英超| 玉龙| 邢台市| 岳池县| 当阳市| 米泉市| 九龙县| 兴文县| 莱州市| 庆城县| 平塘县| 汉中市| 岐山县| 双柏县| 忻城县| 赤壁市| 综艺| 上思县| 炎陵县| 清苑县| 陆丰市| 无为县| 涞水县| 紫金县| 苍梧县| 内丘县| 宿松县| 汝南县| 甘孜| 新密市| 肥乡县| 高安市| 甘德县| 来安县|