Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Coping0606
Docs
提交
773f3c2e
D
Docs
项目概览
Coping0606
/
Docs
与 Fork 源项目一致
Fork自
OpenHarmony / Docs
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
773f3c2e
编写于
9月 01, 2022
作者:
O
openharmony_ci
提交者:
Gitee
9月 01, 2022
浏览文件
操作
浏览文件
下载
差异文件
!8872 stage模型ability相关资料从module.json修改为module.json5
Merge pull request !8872 from 张亚菲/zyfRelease
上级
2c3241d9
22dc11f3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
10 addition
and
10 deletion
+10
-10
zh-cn/application-dev/ability/ability-brief.md
zh-cn/application-dev/ability/ability-brief.md
+2
-2
zh-cn/application-dev/ability/stage-ability.md
zh-cn/application-dev/ability/stage-ability.md
+5
-5
zh-cn/application-dev/ability/stage-serviceextension.md
zh-cn/application-dev/ability/stage-serviceextension.md
+3
-3
未找到文件。
zh-cn/application-dev/ability/ability-brief.md
浏览文件 @
773f3c2e
# Ability框架概述
Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。
Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。
Ability框架模型具有两种形态:
...
...
@@ -14,7 +14,7 @@
| 开发方式 | 提供类Web的API,UI开发与Stage模型一致。 | 提供面向对象的开发方式,UI开发与FA模型一致。 |
| 引擎实例 | 每个进程内的每个Ability实例独享一个JS VM引擎实例。 | 每个进程内的多个Ability实例共享一个JS VM引擎实例。 |
| 进程内对象共享 | 不支持。 | 支持。 |
| 包描述文件 | 使用config.json描述HAP包和组件信息,组件必须使用固定的文件名。 | 使用module.json描述HAP包和组件信息,可以指定入口文件名。 |
| 包描述文件 | 使用config.json描述HAP包和组件信息,组件必须使用固定的文件名。 | 使用module.json
5
描述HAP包和组件信息,可以指定入口文件名。 |
| 组件 | 提供PageAbility(页面展示),ServiceAbility(服务),DataAbility(数据分享)以及FormAbility(卡片)。 | 提供Ability(页面展示)、Extension(基于场景的服务扩展)。 |
除了上述设计上的差异外,对于开发者而言,两种模型的主要区别在于:
...
...
zh-cn/application-dev/ability/stage-ability.md
浏览文件 @
773f3c2e
# Ability开发指导
## 场景介绍
Stage模型是区别于FA模型的一种应用开发模型,对此模型的介绍详见
[
Stage模型综述
](
stage-brief.md
)
。开发Stage模型应用时,需要在module.json
和app.json
配置文件中对应用的包结构进行声明,对应用包结构配置文件的说明详见
[
应用包结构配置文件的说明
](
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/stage-structure.md
)
。基于Stage模型的Ability应用开发,主要涉及如下功能逻辑:
Stage模型是区别于FA模型的一种应用开发模型,对此模型的介绍详见
[
Stage模型综述
](
stage-brief.md
)
。开发Stage模型应用时,需要在module.json
5和app.json5
配置文件中对应用的包结构进行声明,对应用包结构配置文件的说明详见
[
应用包结构配置文件的说明
](
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/stage-structure.md
)
。基于Stage模型的Ability应用开发,主要涉及如下功能逻辑:
-
创建支持使用屏幕浏览及人机交互的Ability应用,包括实现Ability的生命周期、获取Ability配置信息、向用户申请授权及环境变化通知等场景。
-
启动Ability应用,包括相同设备启动Ability、跨设备启动Ability以及指定页面启动Ability等场景。
-
通用组件Call功能,详见
[
Call调用开发指导
](
stage-call.md
)
。
...
...
@@ -8,7 +8,7 @@ Stage模型是区别于FA模型的一种应用开发模型,对此模型的介
-
应用迁移,详见
[
应用迁移开发指导
](
stage-ability-continuation.md
)
。
### 启动模式
ability支持单实例、多实例和指定实例3种启动模式,在module.json中通过launchType配置。启动模式对应Ability被启动时的行为,对启动模式的详细说明如下:
ability支持单实例、多实例和指定实例3种启动模式,在module.json
5
中通过launchType配置。启动模式对应Ability被启动时的行为,对启动模式的详细说明如下:
| 启动模式 | 描述 |说明 |
| ----------- | ------- |---------------- |
...
...
@@ -16,7 +16,7 @@ ability支持单实例、多实例和指定实例3种启动模式,在module.js
| singleton | 单实例 | 系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例 |
| specified | 指定实例 | 运行时由ability内部业务决定是否创建多实例 |
缺省情况下是singleton模式,module.json示例如下:
缺省情况下是singleton模式,module.json
5
示例如下:
```
json
{
"module"
:
{
...
...
@@ -146,9 +146,9 @@ export default class MainAbility extends Ability {
}
```
### 应用向用户申请授权
应用需要获取用户的隐私信息或使用系统能力时,比如获取位置信息、使用相机拍摄照片或录制视频等,需要向用户申请授权。在开发过程中,首先需要明确涉及的敏感权限并在module.json中声明需要的权限,同时通过接口
`requestPermissionsFromUser`
以动态弹窗的方式向用户申请授权。以访问日历为例,具体示例代码如下:
应用需要获取用户的隐私信息或使用系统能力时,比如获取位置信息、使用相机拍摄照片或录制视频等,需要向用户申请授权。在开发过程中,首先需要明确涉及的敏感权限并在module.json
5
中声明需要的权限,同时通过接口
`requestPermissionsFromUser`
以动态弹窗的方式向用户申请授权。以访问日历为例,具体示例代码如下:
在module.json声明需要的权限:
在module.json
5
声明需要的权限:
```
json
"requestPermissions"
:
[
{
...
...
zh-cn/application-dev/ability/stage-serviceextension.md
浏览文件 @
773f3c2e
...
...
@@ -61,9 +61,9 @@ ExtensionAbility,是Stage模型中新增的扩展组件的基类,一般用
2.
注册ServiceExtensionAbility
需要在应用配置文件module.json中进行注册,注册类型type需要设置为service。
需要在应用配置文件module.json
5
中进行注册,注册类型type需要设置为service。
**module.json配置样例**
**module.json
5
配置样例**
```
json
"extensionAbilities"
:[{
...
...
@@ -72,6 +72,6 @@ ExtensionAbility,是Stage模型中新增的扩展组件的基类,一般用
"description"
:
"service"
,
"type"
:
"service"
,
"visible"
:
true
,
"srcEntrance"
:
"./ets/ServiceExtAbility/ServiceExtAbility.ts"
"srcEntrance"
:
"./ets/ServiceExtAbility/ServiceExtAbility.ts"
}]
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录