2024年HarmonyOS鸿蒙最新鸿蒙Stage模型和FA模型区别_鸿蒙arkts stage模型和fa模型的区别,腾讯开发岗面试题

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

let context = featureAbility.getContext();

Stage

Stage 模型中包含多种 Context,比较常用的有 AbilityContext 和在 eTS 页面中访问 Context。

AbilityContext

Stage 模型下,每个 Ability 中都包含了一个 Context 属性:

图片

在继承 Ability 的类中通过 this.context 就可以获取 AbilityContext,从而操作 Ability 的方法(如 startAbility、connectAbility 等)

import Ability from ‘@ohos.application.Ability’

export default class MainAbility extends Ability {
onCreate(want, launchParam) {
this.context.requestPermissionsFromUser(PERMISSIONS)
}
onWindowStageCreate(windowStage) {
let context = this.context;
}

};

在 eTS 页面中访问 Context:

图片

// 获取当前component关联的Context
let context = getContext(this) as any

启动 Ability

FA:

featureAbility.startAbility({
want: {
bundleName: ‘com.haoc.distributevideoplayer’,
abilityName: ‘com.haoc.distributevideoplayer.MainAbility’,
deviceId: deviceId,
parameters: {
isFA: ‘FA’
}
}
})

Stage:

context.startAbility({
bundleName: ‘com.haoc.distributevideoplayer’,
abilityName: ‘EntryAbility’,
deviceId: deviceId,
parameters: {
isFA: ‘FA’
}
})

①Stage 模型不再使用 featureAbility 接口,而需要先获取当前 Ability 的上下文,再由 AbilityContext 调用 startAbility 方法。

②相比 FA 模型少了一对{}括号。

③MainAbility 改名为 EntryAbility,且 abilityName 不再是由 package + Ability name 组成。

结语

由于开发时部分接口在 API9 以上才提供,所以需要将应用 API 升级到 9。

但其实 API9 也提供了 FA 模型,只需要在 API8 的基础上进行小部分修改即可,那笔者为何还花费大量精力去折腾 Stage 模型呢?

一个是想体验一下这两者在开发上的差别,另一个是未来将不再主推 FA 模型,现在学习的成本没有以后的成本高。

笔者在开发时还发现许多接口将被废弃,例如 Ability,将会用 UIAbility 代替,不过接口基本上不会有很大改变,都是改个名字、加个参数之类。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

sdn.net/topics/618636735)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值