跟大哥说:我悟了! 鸿蒙小白开发:Ability究竟为何物,其实如此简单!

754 阅读1分钟

小白学鸿蒙第一坑,到底什么是Ability,这个问题太难了!

看鸿蒙开发文档时候,你会遇到很多...Ability ,如下图(Stage模型概念图)。

ability.png 然而Ability到底是什么我都解决不了,我还学什么其他Ability,鸿蒙我要放弃你了。

掀桌子.png

那Ability到底是什么?

  • 是英译中的能力?
  • 是英译中的本领?

直接简单粗暴描述:Ability是一个任务窗口!

我明白你的不懂直接看图操作~~~

1、先看什么是任务窗口 :如图所示。

对!你没看错,这就是你每天杀死手机后台的页面的操作,而这个页面就是你的任务窗口。

1.png

2、点击页面的 “点击” 后,进行页面跳转,跳转页面为:

818aaacec0dc7d14ccf9231a796d721.png

3、此时这时候的后台为:

9252a88368dfac773f41c049eaf13c8.png

Ability的解释就这么简单,他就是一个任务窗口

然而我们看到所谓的UIAbility、ExtensionAbility这些东西都是在任务窗口上进行操作,不要将Ability想的复杂即可!

最头疼的阶段

实现创建一个Ability的过程、并且实现不同Ability之间跳转的操作。

1.png

2.png

3.png

若图片不清晰,跳转方式如下。

Column(){
  Button('点击')
    .onClick(async ()=>{
      const context = getContext() as common.UIAbilityContext
      const result = await context.startAbilityForResult({
        abilityName: 'twoAbility',
        bundleName: 'com.yugong.myapplication',
      })
    })
}