北仑网站网页建设,住房和城乡建设部网站,怎么建设seo自己网站,网站建设移交内容1、config.json配置
鸿蒙中的config.json应该类似于Android开发中Manifest.xml#xff0c;可以进行页面的配置。根据顺序#xff0c;会识别启动应用的时候#xff0c;要打开哪个界面。 2、 Ability详解#xff0c;以及与Android的Activity对比。
他人的学习文章连接…1、config.json配置
鸿蒙中的config.json应该类似于Android开发中Manifest.xml可以进行页面的配置。根据顺序会识别启动应用的时候要打开哪个界面。 2、 Ability详解以及与Android的Activity对比。
他人的学习文章连接请点击
一个 HarmonyOS 应用可以包含多个 AbilityAbility 可以分为 Feature Ability简称 FA有界面也被称为元程序 Particle Ability简称 PA无界面也被称为元服务
FA 类似于 Android 的 Activity PA 类似于 Android 的 Services。
FA 支持 Page Ability代表了 UI 的能力Page 模板是 FA 唯一支持的模板用于提供与用户交互的能力。一个Page实例可以包含一组相关页面每个页面用一个 AbilitySlice 实例表示。
PA 支持 Service Ability 和 Data Ability Service 模板用于提供后台运行任务的能力提供应用服务例如播放音乐等。 Data 模板用于对外部提供统一的数据访问抽象提供了统一的数据访问接口方便 FA 的统一调用例如对本地文件的读取。
那么FA与PA如何交互呢我也不太清楚继续学习。 -- 在下加的。
使用 Ability 时必须在配置文件 config.json 中注册该 Ability 设置相应的属性该文件存储在每个应用程序的 Java 代码的根目录中。
在 Java 中Ability 是一个类。事实上鸿蒙应用程序的开发就是对 Ability 进行继承并进行应用扩展。所有的应用程序的功能最终必须要体现在开发者所创建的 Ability 的子类中。
①Page Ability
Page Ability 是 Feature Ability 唯一支持的模板。用于提供与用户的交互能力其实就是页面的父级。
一个 Page 可以由一个或多个 AbilitySlice 构成AbilitySlice 是指应用的单个页面及其控制逻辑的总和。
官方认为当一个 Page 由多个 AbilitySlice 共同构成时这些 AbilitySlice 页面提供的业务能力应具有高度相关性。
在配置文件config.json中注册 Ability 时可以通过配置 Ability 元素中的 “type” 属性来指定 Ability 模板类型示例如下 下边这张图在下不是非常明白吧。感觉就像是类似于Android的activity栈 ②Page Ability 的生命周期
Ability 生命周期介绍Ability Life Cycle是 Ability 被调度到 INACTIVE、ACTIVE、BACKGROUND 等各个状态的统称主要涉及 PageAbility 类型和 ServiceAbility 类型的 Ability。
PageAbility 类型的 Ability 生命周期流转如下图所示 主要生命周期如下 首先初始化 Ability初始化完毕后状态是 INITIAL 状态 初始化完成后, 会调用 onStart() 方法初始化 UI 界面中使用到的控件和变量, 执行完毕后状态变为 INACTIVE 状态 快要显示时会调用 onActive() 方法状态变为 ACTIVE 状态 如果由于某些原因该 Page Ability 失去焦点进入后台如弹出对话框另一个 Page Ability 前台显示会回调 onInactive() 方法状态变为 INACTIVE 状态 窗口彻底不显示但是还处于后台状态会回调 onBackground() 方法状态变 BACKGROUND 状态
有几种特殊情况 如果当前处于 INACTIVE 状态用户返回 Page Ability则回调 onActive() 方法进入 ACTIVE 状态 如果当前的 Page Ability 处于 BACKGROUND 状态当用户从后台返回前台时, 会回调 onForeground() 方法状态变为 INACTIVE 状态 如果当前的 Page Ability 处于 BACKGROUND 状态当该 Ability 彻底销毁正在结束因内存不足终止用户重新进入该界面时会回调 onStop() 方法状态变为 INITIAL 状态
生命周期图如下 ③Service Ability
--- 应该是对应着Android的Service。---
Service Ability 是 Particle Ability 支持的模板之一。用于后台运行任务如执行音乐播放、文件下载等但不提供用户交互界面。
Service 可由其他应用或 Ability 启动即使用户切换到其他应用Service 仍将在后台继续运行。
Service 是单实例的。在一个设备上相同的Service 只会存在一个实例。如果多个 Ability 共用这个实例只有当与 Service 绑定的所有 Ability 都退出后Service 才能够退出。
由于 Service 是在主线程里执行的因此如果在 Service 里面的操作时间过长开发者必须在 Service 里创建新的线程来处理防止造成主线程阻塞应用程序无响应。
④sevice ability 生命周期
与 Page 类似Service 也拥有生命周期如图所示 根据调用方法的不同其生命周期有以下两种路径 启动 Service该 Service 在其他 Ability 调用startAbility()时创建然后保持运行。其他 Ability 通过调用stopAbility()来停止 ServiceService 停止后系统会将其销毁。 连接 Service该 Service 在其他 Ability 调用 connectAbility() 时创建客户端可通过调用 disconnectAbility() 断开连接。多个客户端可以绑定到相同 Service而且当所有绑定全部取消后系统即会销毁该 Service。
connectAbility() 也可以连接通过 startAbility() 创建的 Service 。在配置文件中“module abilities”字段下对当前 Service 做如下配置
{module: {...abilities: [{...name: .ServiceAbility,type: service,visible: true,...}]...}...
} ⑤Data Ability
Data Ability 是 Particle Ability 支持的模板之一。用于应用管理其自身和其他应用存储数据的访问并提供与其他应用共享数据的方法。
Data 既可用于同设备不同应用的数据共享也支持跨设备不同应用的数据共享。
数据的存放形式多样可以是数据库也可以是磁盘上的文件。Data 对外提供对数据的增、删、改、查以及打开文件等接口这些接口的具体实现由开发者提供。
⑥URI 介绍
Data 的提供方和使用方都通过 URIUniform Resource Identifier来标识一个具体的数据例如数据库中的某个表或磁盘上的某个文件。
URI 的组成图如下 HarmonyOS 的 URI 仍基于 URI 通用标准格式如下 scheme协议方案名固定为“dataability”代表 Data Ability 所使用的协议类型。 authority设备 ID。如果为跨设备场景则为目标设备的 ID如果为本地设备场景则不需要填写。 path资源的路径信息代表特定资源的位置信息。 query查询参数。 fragment可以用于指示要访问的子资源。 URI 示例
跨设备场景
dataability://device_id/com.domainname.dataability.persondata/person/10本地设备
dataability:///com.domainname.dataability.persondata/person/10
在配置文件中“module abilities”字段下对当前 Data 做如下配置
{module: {...abilities: [{...type: data...}]...}...
}