第二章 OpenHarmony工程介绍

本章内容

  • 方舟框架介绍

  • 初识Ability

  • FA模型和Stage模型

  • eTS文件基本组成

  • 资源管理

    • 访问应用资源

    • 访问系统资源

  • 像素单位

  • 国际化

本章目标

  • ArkUI框架简介
  • 资源管理
  • 像素单位
  • 国际化

创建工程信息详解

上一章运行了一个Hello World程序,在工程配置阶段并没有进行详细说明。

工程信息详解

在这里插入图片描述
Project name:工程的名称
可以自定义,由大小写字母、数据和下划线组成。
Project type:工程的类型
标识该工程是一个传统方式的需要安装的应用(Application)或原子化服务(Atomic service),默认类型为Application。
Bundle name:软件包名称
默认情况下,应用ID也会使用该名称,应用发布时,应用ID需要唯一。如果“Project type”选择了Atomic service,则Bundle name的后缀名必须是.hmservice。
Save location:工程文件本地存储路径
由大小写字母、数字和下划线等组成,不能包含中文字符。
Compile SDK:编译的SDK版本。
Model:选择FA模型或Stage模型(Stage模型仅Compile API为9及以上支持)。
Enable Super Visual:选择开发模式,部分模板支持低代码开发,可选择打开该开关。
Language:开发语言。
Compatible SDK:兼容的SDK最低版本。
Device type:该工程模板支持的设备类型

Default 代表了一个功能比较全面的OpenHarmony设备,具有全部的系统能力,开发者可以不用判断即可使用OpenHarmony的全部API。
Show in service center:是否在服务中心展示。(服务卡片)

工程目录结构

FA模型和Stage模型的工程目录结构存在差异,API version8只支持FA模型,API version9则两者都支持。

eTS工程目录结构(FA模型)

在这里插入图片描述

  • entry:OpenHarmony工程模块,编译构建生成一个Hap包。

    • src > main > ets:用于存放ets源码。 src > main > ets > MainAbility:应用/服务的入口。
    • src > main > ets > MainAbility > app.ets:承载Ability生命周期。
    • src > main > ets > pages:MainAbility包含的页面。
    • src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。
      • base>element:包括字符串、整型数、颜色、样式等资源的json文件。
      • base>media:多媒体文件,如图形、视频、音频等文件,支持的文件格式包 括:.png、.gif、.mp3、.mp4等。
    • src > main >config.json:模块配置文件,主要包含HAP包的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
    • build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
    • hvigorfile.js:模块级编译构建任务脚本。
    • build-profile.json5:应用级配置信息,包括签名、产品配置等。
  • hvigorfile.js:应用级编译构建任务脚本。

eTS工程目录结构(Stage模型)

在这里插入图片描述

  • AppScope > app.json5:应用的全局配置信息。
  • entry:OpenHarmony工程模块,编译构建生成一个Hap包。
    • src > main > ets:用于存放ets源码。
    • src > main > ets > Application > AbilityStage.ts:实现AbilityStage接口。
    • src > main > ets > MainAbility:应用/服务的入口。
    • src > main > ets > MainAbility > MainAbility.ts:承载Ability生命周期。
    • src > main > ets > pages:MainAbility包含的页面。
    • src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布 局文件等。
      • base>element:包括字符串、整型数、颜色、样式等资源的json文件。
      • base>media:多媒体文件,如图形、视频、音频等文件,支持的文件格式包 括:.png、.gif、.mp3、.mp4等。
    • base>profile:用于存储任意格式的原始资源文件。
    • src > main > module.json5:模块配置文件,主要包含HAP包的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
    • build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
    • hvigorfile.js:模块级编译构建任务脚本。
  • build-profile.json5:应用级配置信息,包括签名、产品配置等。
  • hvigorfile.js:应用级编译构建任务脚本。

对于初学者,两者区别主要讲目录区别,和思想区别,生命周期等熟练使用后在讲解。初学者更需要一个直观的了解。

初识Ability

什么是Ability?

Ability译为能力,一个OpenHarmony应用包含N个能力(Ability),它们是系统调用应用的最小单元。应用程序开发其实本质上就是开发Ability。

在这里插入图片描述
自己试试对应用进行拆分,你会发现它们具备很多小能力。把这些小能力组合起来就变成了一个应用。

开发模型

OpenHarmony又对这些能力(Ability)进行了划分:

第一种按照特征(可见与不可见)划分为FA(Feature Ability)和PA(Particle Ability)。简称FA模型开发。
FA支持Page Ability,PA支持Service Ability、Data Ability、以及FormAbility。
PageAbility是具备ArkUI实现的Ability,是用户具体可见并可以交互的Ability实例。
ServiceAbility也是Ability一种,但是没有UI,提供其他Ability调用自定义的服务,在后台运行。
DataAbility也是没有UI的Ability,提供其他Ability进行数据的增删查服务,在后台运行。
FormAbility是卡片Ability,是一种界面展示形式。

第二种按照发展(一个基础能力当参照物)划分为Abilit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智海深渊

对您有帮助给点鼓励吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值