原创PDF |《Android 深入系统完全讲解》免费开源,可能价值百万!

王姨劝我学HarmonyOS鸿蒙2.0系列教程之一环境搭建&&跑起来模拟器!

王姨劝我学HarmonyOS鸿蒙2.0系列教程之二应用知识&&梳理逻辑!

昨晚写到凌晨了,也就没去找王姨,毕竟王姨一到每月15号,王姨便开车围城转一圈,浐灞,南湖,高新区,回来会给我说,收租是个体力活。

我心想,这体力活我想要~~~毕竟,我呀~~

趁着这几天王姨收租完,肯定会找她的闺蜜们嘚瑟,我还是抓紧继续来写文章了。

今天我们开始来讲下HarmonyOS应用开发中的一个关键概念,Ability,同时通过代码分析,来看下它的用法。

Ability可以分为FA(Feature Ability)和PA(Particle Ability)两种类型,FA支持 Page Ability,提供与用户交互的能力,点击,按键事件的接受处理。

一个Page实例可以包含一组相关页面,每个页面用一个AbilitySlice实例表示。

简单可以这么理解下:

整个项目是这么个结构:

由多个Module组成,然后有一个是定义成这个"moduleType": "entry",然后每个Module里面是由多个abilities组成。每个Ability里面可以有多个AbilitySlice。

这个图画了我们当前需要的界面AbilitySlice,实际中每个Module里面可以有

PA(Particle Ability),无界面的服务和内容提供者。我们在不断学习的过程,会给大家讲解。

从图中我们就能看到,我们的界面AbilitySlice,依据业务关系划分成一组,由AbilitySlice来管理。然后我们的AbilitySlice 相互之间的调用,使用present方法来操作,而Ability调用另一个Ability的时候,使用startAbility来完成。

现在我们来看默认生成的代码,里面的Ability,这里是MainAbility,代码为:

这里使用 super.setMainRoute(MainAbilitySlice.class.getName()); 来指定当前这个Ability的主界面(AbilitySlice),用来作为第一个界面。

而我们的MainAbilitySlice里面代码是:

使用 super.setUIContent(ResourceTable.Layout_ability_main);来调用布局文件。

我们在启动一个Ability的时候,因为它里面包含了多个AbilitySlice,如果我们不带参数调用,默认启动的是哪个AbilitySlice,是由setMainRoute进行设定。

如果你想要启动具体的AbilitySlice,那么你需要在自己的Ability里面,使用

addActionRoute进行添加。比如 addActionRoute("action.pay", PaySlice.class.getName());

然后需要在应用配置文件(config.json)中注册:

  1. {

  2. "module": {

  3. "abilities": [

  4. {

  5. "skills":[

  6. {

  7.                        "actions":[

  8.                            "action.pay",

  9.                        ]

  10. }

  11. ]

  12. ...

  13. }

  14. ]

  15. ...

  16. }

  17. ...

  18. }

这样子后,我们启动startAbility的时候,可以传具体的action,来达到启动具体的AbilitySlice 。

下来让我们看下MainAbilitySlice ,具体的界面super.setUIContent(ResourceTable.Layout_ability_main);使用这个进行加载,而对应的资源目录,跟安卓是类似的:

默认都是放在base这个目录下,我们直接先看layout这个目录,基本跟安卓中使用三方包一样:

大家看到这里是不是觉得很简单了,那么我们下一节继续来讲,给大家下载官方的实例以及讲解。

今天在最后,我这边加一段代码,让按下返回键的时候,可以弹出一个提示语:在MainAbilitySlice 里面加入:

然后我又不干好事,进行了断点设定,然后运行起来,看下调用栈:

这个方式可以加速我们的学习速度,通过查看堆栈,分析实现的机制,从而让自己的框架完整,准确,指导自己的实战。

好了,这一节就讲到这里,我们下期再见~

--end--

今天分享一些整理的鸿蒙学习资料,加我微信 code_gg_boy  ,免费领取。加微信,可以咨询辅导,以及斤鸿蒙交流学习群。

王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述调用方法!相关推荐

  1. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之四Git搭建下载实例!

    原创PDF |<Android 深入系统完全讲解>免费开源,可能价值百万! 王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述&&调用方法! 相信大家看了 ...

  2. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之五布局方法点击响应!

    原创PDF |<Android 深入系统完全讲解>免费开源,可能价值百万! 王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述&&调用方法! 为了更好的交 ...

  3. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之二应用知识梳理逻辑!

    原创PDF |<Android 深入系统完全讲解>免费开源,可能价值百万! 王姨劝我学HarmonyOS鸿蒙2.0系列教程之一环境搭建&&跑起来模拟器! 写完了第一篇,跑去 ...

  4. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之六自定义View涂鸦项目实战!

    这一节写个简单的项目,涂鸦,简单来讲就是画什么,显示什么.最好的网站,就是官网,这里再发一下: https://developer.harmonyos.com/cn/docs/documentatio ...

  5. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之一环境搭建跑起来模拟器!

    原创PDF |<Android 深入系统完全讲解>免费开源,可能价值百万! 学习一门新的技术前,我一般会翻看官方文档,源码,以及网上的一些总结,好形成一个初步印象,让开发的时候心中有谱. ...

  6. magic2怎样升级HarmonyOS,鸿蒙2.0怎么升级 华为鸿蒙新系统升级方法步骤

    最近华为新出了鸿蒙系统,很多网友都想更新尝试一下,现在鸿蒙系统已经开启了公测,大家都非常的想更新试一试体验一下,但是很多的网友都不知道该如何升级,其实一些支持首批公测的机型,是需要公测申请后才可以体验 ...

  7. 鸿蒙2.0设备开发教程】小熊派HarmonyOS 鸿蒙笔记

    HarmonyoS网络应用开发连接华为loT平台 主要内容: 本节主要介绍: 如何使用华为loT平台·设备如何对接华为loT平台 步骤; 1.华为loT平台介绍2.华为loT平台产品创建3.设备对接华 ...

  8. 华为HarmonyOS鸿蒙2.0系统安装谷歌框架play商店GMS,mate30/40系列,p40,p50,nova5 6 7 8,荣耀30/40/50/magic3/9x

    华为快速的安装谷歌GMS工具,一键安装,无需降级备份 华谷套件工具下载地址:https://bishua666.com/huagu2 使用教程

  9. HarmonyOS实战 —基于hi3861芯片鸿蒙2.0的避坑指南

    HarmonyOS实战 -基于hi3861芯片鸿蒙2.0的避坑指南 特别说明:本文章与卡片开发无关,想看卡片开发的不用往下读了 最近学习鸿蒙设备开发的过程中遇到了很多问题,因为目前几乎所有设备开发教程 ...

最新文章

  1. 深度学习模型压缩与加速综述!
  2. Struts2官网翻译
  3. 随着计算机网络的广泛应用,【网络技术论文】计算机网络技术的广泛应用探析(共3558字)...
  4. el表达式动态取值中括号内两点_中考热点:旧瓶新酒,解题新策略分析之玩转动态型热点题型...
  5. 'parent.relativePath' points at no local POM
  6. 如何用PPT来实现三维3D效果,附参数设置详解
  7. ceph搭建_【实战演练】基于各种存储模拟器与软件存储的存储实验07-Ceph分布式存储的3种存储类型使用方法...
  8. 常见c语言语法错误,C语言常见语法错误.doc
  9. GB28181协议常见几种信令流程(三)
  10. 谈谈网络协议,常见的网络协议有那些?
  11. 用友漏洞php,Phpwind GET型CSRF任意代码执行漏洞公开
  12. OpenCV每日函数 Subdiv2D类平面细分
  13. 2022空气净化器十大排名榜 世界顶级空气净化器品牌
  14. 开发视频直播APP需要了解的技术原理和技术细节
  15. 笨方法学Python 习题21
  16. 推荐PHP免费开源博客系统-Catfish(鲶鱼) CMS
  17. 开源 java CMS - FreeCMS2.8 自定义标签 infoSearch
  18. 网龙暑期训练营第二周:Unity介绍、调试以及小游戏demo开发
  19. 注册Docker镜像加速器
  20. 一个算法工程师在技术方面的反思!

热门文章

  1. R语言入门——工作空间管理函数
  2. css动画--吃豆豆
  3. 安卓上利用百度输入法提供的导入词库与个性短语,批量造词方便输入
  4. 小白学习,歌词解析(半成品)
  5. CTF中RSA常见解题思路
  6. cmakeLists.txt中增加-g选项不生效/gcc -s参数
  7. mac小技巧之打印文件
  8. Proteus8.9 VSM Studio SDCC编译器仿真STC15W4K32S4系列013_iic_03_AT24C08
  9. SQL 语句中 where 条件后 写上 1=1 是什么意思!
  10. ESP32入门-NVS的flash读写测试