HarmonyOS Model(模块管理)
开发环境
DevEco Studio 3.1.1 Release
Api 9
Stage模型
一个应用包含一个或者多个Module,可以在DevEco Studio工程中创建一个或者多个Module。Module是HarmonyOS应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。Module分为“Ability”和“Library”两种类型,“Ability”类型的Module对应于编译后的HAP(Harmony Ability Package);“Library”类型的Module对应于HAR(Harmony Archive),或者HSP(Harmony Shared Package)。
应用程序包结构(Stage模型)
Module与UIAbility组件关系示意图
创建Stage模型的项目
(Create Project -> Application -> (Template Market(选择一个模板)-> Next ) )
Model:选择Stage
创建项目Module
选择Module模板(演示使用“Library”类型的Module对应于HAR(Harmony Archive))
共享Model(Lib)的代码类
model需要共享的类export
export class Log{
static err(tag: string, ...args: any[]) {
console.error(tag, args)
}
}
model根目录index.ets加入需要共享的代码类
export { Log } from './src/main/ets/utils/Log'
引入依赖Model(lib)
需要引入依赖的Model里面oh-package.json5的dependencies加入引用model
一定要Run 'ohpm Install' 之后点击Sync Now
之后就可以愉快的玩耍了,直接使用lib里面公开的类
import UIAbility from '@ohos.app.ability.UIAbility';
import hilog from '@ohos.hilog';
import window from '@ohos.window';
import {Log} from "custom" //This
export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) {
Log.err('testTag', '%{public}s', 'Ability onCreate') //This
}
...
}
总结:
创建Library Model,export需要共享的类,model根目录index.ets加入需要共享的代码类,需要引入依赖的Model里面oh-package.json5的dependencies加入引用model,一定要Run 'ohpm Install' 之后点击Sync Now,import {your class } from "your model name"