福田做棋牌网站建设多少钱,女生适合计算机哪个专业,免费注册公司邮箱,网站设计说明1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器#xff1a;定义组件重用样式 Extend装饰器#xff1a;定义扩展组件样式 5、HarmonyOS 应用开发…1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器定义组件重用样式 Extend装饰器定义扩展组件样式 5、HarmonyOS 应用开发学习笔记 state状态管理概述 6、HarmonyOS应用开发学习笔记 包名、icon图标应用名修改 UIAbility组件介绍、UIAbility启动模式、UIAbility组件基本用法 7、HarmonyOS应用开发学习笔记 UIAbility组件与UI的数据同步 EventHub、globalThis 8、HarmonyOS应用开发学习笔记 UIAbility组件间交互 UIAbility启动页面跳转结果回调
概叙
Context是应用中对象的上下文其提供了应用的一些基础信息例如resourceManager资源管理、applicationInfo当前应用信息、dir应用开发路径、area文件分区等以及应用的一些基本方法例如createBundleContext()、getApplicationContext()等。UIAbility组件和各种ExtensionAbility派生类组件都有各自不同的Context类。分别有基类Context、ApplicationContext、AbilityStageContext、UIAbilityContext、ExtensionContext、ServiceExtensionContext等Context。
各类Context的继承关系
项目描述获取UIAbilityContextlet abilityStageContext this.context;获取AbilityStageContextlet abilityStageContext this.context;获取ApplicationContextlet applicationContext this.context.getApplicationContext();
Context的典型使用场景
1、 获取应用文件路径
import UIAbility from ohos.app.ability.UIAbility;export default class EntryAbility extends UIAbility {onCreate(want, launchParam) {let cacheDir this.context.cacheDir;let tempDir this.context.tempDir;let filesDir this.context.filesDir;let databaseDir this.context.databaseDir;let bundleCodeDir this.context.bundleCodeDir;let distributedFilesDir this.context.distributedFilesDir;let preferencesDir this.context.preferencesDir;// ...}
}通过ApplicationContext获取应用级别的应用文件路径此路径是应用全局信息推荐的存放路径这些文件会跟随应用的卸载而删除。
项目描述bundleCodeDir路径前缀/el1/bundle/cacheDir路径前缀/加密等级/base/cache/filesDir路径前缀/加密等级/base/files/preferencesDir路径前缀/加密等级/base/preferences/tempDir路径前缀/加密等级/base/temp/databaseDir路径前缀/加密等级/database/distributedFilesDir路径前缀/el2/distributedFiles/
通过AbilityStageContext、UIAbilityContext、ExtensionContext获取HAP级别的应用文件路径。此路径是HAP相关信息推荐的存放路径这些文件会跟随HAP的卸载而删除但不会影响应用级别路径的文件除非该应用的HAP已全部卸载。
项目描述bundleCodeDir路径前缀/el1/bundle/cacheDir路径前缀/加密等级/base/haps//cache/filesDir路径前缀/加密等级/base/haps//files/preferencesDir路径前缀/加密等级/base/haps//preferences/tempDir路径前缀/加密等级/base/haps//temp/databaseDir路径前缀/加密等级/database//distributedFilesDir路径前缀/el2/distributedFiles//
2、 获取和修改加密分区
上一个场景中引入了加密等级的概念通过对Context的area属性的读写来实现获取和设置当前加密分区支持如下两种加密等级
AreaMode.EL1设备级加密区设备开机后可访问的数据区。AreaMode.EL2用户级加密区设备开机首次输入密码后才能够访问的数据区。
import UIAbility from ohos.app.ability.UIAbility;export default class EntryAbility extends UIAbility {onCreate(want, launchParam) {// 存储普通信息前切换到EL1设备级加密if (this.context.area 1) { // 获取areathis.context.area 0; // 修改area}// 存储普通信息// 存储敏感信息前切换到EL2用户级加密if (this.context.area 0) { // 获取areathis.context.area 1; // 修改area}// 存储敏感信息}
}