長沙Java培訓機構課件:HarmonyOS 專案結構
近期華為的鴻蒙系統(HarmonyOS)在各大平臺瘋狂刷屏,可謂是出盡了風頭,很多小夥伴都問有沒有鴻蒙相關的開發教程,那麼它來了!從今天起小編要更新一套千鋒 講師主講的有關鴻蒙系統開發的系列教程。本篇文章講解一下HarmonyOS 專案結構:
一、使用者應用程式包結構
HarmonyOS的使用者應用程式包以APP Pack(Application Package)形式釋出,它是由一個或多個HAP(HarmonyOS Ability Package)以及描述每個HAP屬性的組成。HAP是Ability的部署包,HarmonyOS應用程式碼圍繞Ability元件展開。 一個HAP是由程式碼、資源、第三方庫及應用配置檔案組成的模組包,可分為entry和feature兩種模組型別,如圖所示。
entry:應用的主模組。一個APP中,對於同一裝置型別必須有且只有一個entry型別的HAP,可獨立安裝執行。
feature:應用的動態特性模組。一個APP可以包含一個或多個feature型別的HAP,也可以不含。只有包含Ability的HAP才能夠獨立執行。
Ability是應用所具備的能力的抽象,一個應用可以包含一個或多個Ability。Ability分為兩種型別:FA(Feature Ability)和PA(Particle Ability)。FA/PA是應用的基本組成單元,能夠實現特定的業務功能。FA有UI介面,而PA無UI介面。
庫檔案是應用依賴的第三方程式碼(例如so、jar、bin、har等二進位制檔案),存放在libs目錄。
資原始檔: 應用的資原始檔(字串、圖片、音訊等)存放於resources目錄下,便於開發者使用和維護。
配置檔案: 配置檔案 (config.json) 是應用的Ability資訊,用於宣告應用的Ability,以及應用所需許可權等資訊。
二、程式目錄結構
首先有一個entry目錄,結合上篇的內容,我們知道一個應用是由一個或多個Hap包所組成的,Hap包又可以分為entry型別和feature型別,每個Hap包由:程式碼、資源、第三方庫及應用配置檔案組成。所以我們程式碼中的entry目錄其實就一個應用的Hap包,它的型別的entry型別的Hap包。一個Hap包由程式碼、資源、第三方庫及應用配置檔案組成,接著我們來看這些資源,程式碼等都分佈在entry包的哪裡。
在src/main/java下以包名命名的資料夾內分佈著Java程式碼。這裡的程式碼可以用來建立佈局,動態調整佈局以及為互動提供支撐服務。和java資料夾同級的resources目錄下分佈應用資源,該目錄的base目錄下,按資源用途又分為多個資料夾資源:
element:表示元素資源,該資料夾下主要存放json格式的檔案,主要用來表示 字串、顏色值、布林值等,可以在其他地方被引用。
graphic:表示可繪製資源。用xml檔案來表示,比如我們專案中設定的 圓角按鈕、按鈕顏色等都是通過引用這裡的資源來統一管理的。
layout:表示佈局資源,用xml檔案來表示,比如頁面的佈局資源,都放在這裡。
media:表示媒體資源,包括圖片、音訊、視訊等非文字格式的檔案。
config.json專案配置檔案:每一個hap包下都包含了該hap包的配置資訊,這個配置檔案位於:entry/src/main/目錄下,由工具幫我們生成,命名為config.json,harmonyOS應用配置採用json格式的形式。下面我們來看一下這個配置檔案中的內容,並簡要介紹一下配置的作用。該配置檔案中,主要有三個模組,如下所示:
app:表示應用的全域性配置資訊。同一個應用的不同HAP包的“app”配置必須保持一致。
deviceConfig:表示應用在具體裝置上的配置資訊。
module:表示HAP包的配置資訊。該標籤下的配置只對當前HAP包生效。
bundleName:表示應用的包名,用於標識應用的唯一性。通常採用反轉的域名。
vendor:表示開發應用的廠商。
version:code表示內部版本號,用於系統管理版本使用,對使用者不可見,name表示應用的版本號,用於向使用者呈現。
apiVersion:包含三個選項。 1、compatible:表示應用執行需要的API最小版本。 2、target:表示應用執行需要的API目標版本。 3、releaseType:表示應用執行需要的API目標版本的型別,取值為“CanaryN”、“BetaN”或者“Release”,其中,N代表大於零的整數。
Canary:受限釋出的版本。
Beta:公開發布的Beta版本。
Release:公開發布的正式版本。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2844973/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 長沙Java培訓機構課件:HarmonyOS快速入門Java
- Java培訓:長沙Java培訓機構排名Java
- 長沙Java培訓機構面試題:專案實操Java面試題
- 為什麼要參加長沙Java培訓?長沙Java培訓機構哪家好?Java
- 去長沙Java培訓機構如何提升自己?Java
- 長沙Java培訓班出來怎麼找工作?長沙Java培訓機構哪家好?Java
- 長沙前端培訓機構:新手練手前端專案實戰前端
- 長沙Java培訓機構哪家好?怎麼才能避免Java培訓的坑?Java
- Java難入門嗎?長沙Java培訓機構哪家好?Java
- 長沙Java培訓:JAVA練手專案分享Java
- 長沙Java培訓:Java開源專案分享Java
- 長沙Java培訓機構出來好找工作嗎?Java
- 參加千鋒長沙Java培訓機構怎麼樣?Java
- 長沙前端培訓多少錢?前端培訓機構怎麼選?前端
- 長沙前端培訓機構:10個適合新手練手的前端專案前端
- 長沙IT培訓機構哪家好?程式語言培訓學哪個?
- 自學Java能找工作嗎?長沙Java培訓機構哪家靠譜Java
- 長沙Java培訓:Java架構師核心知識點分享Java架構
- 長沙Web前端培訓機構哪裡好?花錢培訓值得嗎?Web前端
- 想要參加長沙Java培訓,那麼多機構裡哪家更好 ?Java
- 長沙Java培訓機構哪家好?學出來好找工作嗎?Java
- 長沙Java培訓機構靠譜嗎?可以自學Java去求職嗎?Java求職
- 長沙Java培訓:Java開源IDE工具分享JavaIDE
- Java培訓教程之JDBC URL結構分析JavaJDBC
- 關於培訓結構
- 長沙web前端培訓班學費多少?長沙培訓前端多少錢?Web前端
- 長沙Java培訓:學不懂Java是為什麼?Java
- 培訓機構班課管理軟體怎麼選?
- 長沙Java培訓:自學Java程式設計有必要報培訓班麼?Java程式設計
- 找Java培訓機構需要注意那些Java
- 長沙Java培訓:千鋒一一哥spring security系列教程總結JavaSpring
- 長沙IT培訓:程式設計師面試專案經驗分享程式設計師面試
- 千鋒教育長沙Java培訓怎麼樣?Java
- 參加長沙Java培訓怎麼才能學好Java?Java
- 不參加長沙Java培訓如何深入學習JavaJava
- 長沙Java培訓:零基礎小白自學JavaJava
- 怎麼自學Web前端?長沙Web前端培訓機構都教什麼內容Web前端
- 長沙Java培訓:Java基礎通往高階進階篇Java