马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在先容鸿蒙应用开发的细节,我们来相识工程目次布局,如许我们才知道我们能做什么。
我们如今来逐一先容这些目次都是用来做什么的。
- AppScope > app.json5 应用级的设置信息
- AppScope > resources 这个目次下的base>element用于存放全局使用的根本元素,如字符串、颜色和布尔值。base>media目次则存储媒体、动画和布局等资源文件。如果模块下的resources的有同样的资源,那么就会优先使用模块下的资源,否则就使用这里的资源。
- hvigor:这个目次与android工程的gradle目次很像,使用的功能也雷同。
- oh_modules 这个目任命来存放第三方库依赖信息
- build-profile.json5 这个文件位于根目次,它放置应用级设置信息,包罗署名设置和产物设置,它的作用于android工程中的根目次下的build.gradle差不多。
- hvigorfile.ts 应用的编译脚本
- local.properties 这个与android工程的谁人差不多
- hvigorw: 这个与android工程的gradlew的作用相似。hvigorw.bat是对应在windows中使用的脚本。
- entry 这个目次与android工程的app目次是划一作用,就是这个应用的入口,以是在鸿蒙干脆它的目次名也起成了入口(entry)。我们的写的应用的代码都是放在这个目次中,打包时,就会将这里的代码编译,天生HAP,即HarmonyOS Ability package鸿蒙本领包,对就android的apk(application package)包。
entry目次下的子目次及其作用
- build-profile.json5这个是编译设置文件,它包罗了当前模块的信息和编译设置选项等等,就像android工程中每个module(模块)下都有一个build.gradle来管理当前模块的编译。Note: 在鸿蒙应用工程的根目次也有一个如许的文件,谁人是应用级的,全局的,这个是当前模块的局部的,android工程中的build.gradle也是一样,有一个应用级的,也有一个当前模块的。
- hvigorfile.ts 这是一个模块级的编译脚本,在鸿蒙应用工程根目次也一个,谁人是应用级的。在android工程倒是没有如许独立出来的编译脚本,它的编译脚本都放在了对应的build.gradle脚本中。
- src > main > module.json5 这个文件形貌了应用的全局设置信息,这个目次下的这份文件相当于android中app模块下的AndroidManifest.xml。
- src > main > ets 放ArkTS源代码的地方,鸿蒙应用可以使用官方的开发语言ArkTS来开发。
- src > main > ets > entryability 这个目次就是用来放所那些应用或服务的入口的,实在就是那些继承了UIAbility类的类文件。相当于android应用中的activity类
- src > main > ets > pages 这个目次是专门用来放页面的,由于ArkTS接纳了声明式UI,和android的Compose和iOS的SwiftUI都同样的产物。鸿蒙在这个目次里界说好页面,然后在src > main > ets > entryability 对应的ability加载出来。
- src > main > resources 这个目次相当于android工程的res目次,用来放置应用用到的资源文件,如图片、多媒体、笔墨等,国际化也是在这里界说的。资源目次分为base基目次、qualifiers限定符目次和rawfile目次。
base 目次是默认提供的。在这个目次下,element子目次存放了诸如笔墨、颜色、布尔值等。media 和 profile 子目次存放了诸如多媒体、动画、布局等。编译时,这些资源文件都会被编译成二进制文件,并分配相应的ID。
这些资源由于是设置在entry中, 以是也是在entry中来使用,使用的方法也很简单,它们是基于资源范例和资源名来引用,如在entry模块下的module.json5引用它们。如element>string.json有如许的设置:- {
- "string": [
- {
- "name": "EntryAbility_label",
- "value": "label"
- }
- ]
- }
复制代码 引用这个资源方式就是$string:EntryAbility_label,下面是entry模块下module.json5 对一些资源的引用:
qualifiers限定符目次,en_US和zh_CN是默认的两个限定符目次,我们可以根据我们的必要来增长别的的限定符目次。 这些限定符目次实在存放的也是和base目次里的东西差不多,比如动画可以用一套,那么就直接用base根本目次里的就好,笔墨必要分开表现英语、简体中文、繁体中文,那么就必要在限定符目次里增长对应的笔墨资源,应用国际化就是如许一个好例子。英文、简体、繁体等笔墨、图片等资源都是不一样的,必要根据用户的选择来适配,那么便是我们有三份笔墨或图片来适配。图片偶然也必要的,比方,图片上有一句话是产物做宣传用的,那么这张图片就应该有三张。下面是笔墨的例子:
实在上面讲的base目次和限定符目次,和android工程中的values , values-en-rUS,values-zh-rCN是一样。
rawfile目次与android工程的raw目次是一样的。我们可以创建具有自界说名称的多级子目次来存储各种资源文件。 rawfile目次中的资源文件直接打包到应用步调中而不举行编译,而且不会为资源文件分配id。这里的资源的引用是通过指定的文件路径和文件名来引用。
|