惊落一身雪 发表于 2024-9-12 19:04:43

HarmonyOS应用开发-Stage模子开发(ArkTS)_鸿蒙app stage 比 fa模子好

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,现在阿里P7
深知大多数步伐员,想要提升技能,往往是自己探索发展,但自己不成体系的自学效果低效又漫长,而且极易遇到天花板技能停滞不前!
因此收集整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料》,初志也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋侪。
https://i-blog.csdnimg.cn/blog_migrate/0da6ba57933f1e6bea6b0fbce164ba7f.png
https://i-blog.csdnimg.cn/blog_migrate/1e210328c1ebf43f08d3b6c5f5c13b48.png
https://i-blog.csdnimg.cn/blog_migrate/ea524b3f53215ab14c4a5d6596d58c57.png
https://i-blog.csdnimg.cn/blog_migrate/b5a287115289ddd6da5bd63dc2594a32.png
https://i-blog.csdnimg.cn/blog_migrate/5684e18812a3b80f28c83d8d4034adec.png
既有适合小白学习的零底子资料,也有适合3年以上履历的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比力多,这里只是将部分目录截图出来,全套包罗大厂面经、学习笔记、源码课本、实战项目、大纲蹊径、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注鸿蒙)
https://i-blog.csdnimg.cn/blog_migrate/5960d105b06c5841d84e677856d16f24.png
正文

介绍

Stage模子 的设计,告急是为了办理FA模子无法办理的开发场景问题,方便开发者更加方便地开发出分布式环境下的复杂应用。
Stage和FA模子的区别

1.在Stage模子中告急有module.json5,需要时将对应的ServiceExtAbility等配置在module.json5中的extensionAbilities中,Page页面的Ability在abilites中;对应FA模子中告急配置文件config.json,需要时将对应的Ability配置在config.json中module/abilites。
2.Stage模子中卡片的创建需要的配置文件在resources/base/profile/form_config.json。
3.Stage模子中ability生命周期与FA模子生命周期见Stage模子生命周期 ,FA模子生命周期 。
4.Stage模子中DataShareExtensionAbility对应FA模子中dataAbility,具体实现差别详见方法注释。
5.Stage模子中ServiceExtensionAbility对应FA模子中ServiceAbility,具体实现差别详见方法注释。
6.Stage模子DataShareHelper对应FA模子中DataAbilityHelper 。
7.Stage模子从API Version9开始,通过context获取resourceManager对象的方式,再调用其内部获取资源的接口, 无需再导入 @ohos.resourceManager ;FA模子通过导入@ohos.resourceManager, 获取应用资源信息。
效果预览:

主页 利用阐明:
1.点击DataShareExtAbility按钮,跳转到DataShareExtAbility页面;
点击**+**,向rdb数据库中添加单个数据,界面显示添加的数据内容;
点击删除按钮删除指定命据;
点击数据列表,弹出dialog框,可对数据进行修改,点击确认按钮确认修改;
点击返回键,返回首页。
2.点击各个功能按钮测试各个接口。
工程目录

entry/src/main/ets/
|—Application
| |—MyAbilityStage.ts
|—DataShareExtensionAbility
| |—DataShareExtAbility.ts
|—feature
| |—AbilityAccessCtrlController.ts
| |—AbilityContextController.ts
| |—BookModel.ts
| |—BundleController.ts
| |—DataShareHelper.ts
| |—FormExtContextController.ts
| |—ServiceExtContextController.ts
| |—WindowController.ts
|—FormAbility
| |—FormAbility.ts
|—JumpAbility
| |—JumpAbility.ts
|—MainAbility
| |—MainAbility.ts
|—pages
| |—component
| | |—BookView.ets // 展示组件
| | |—IndexTitleBar.ets // 单个页面标题组件
| | |—PublicTitleBar.ets // 通用的标题组件
| | |—TitleBar.ets // 标题组件
| | |—UpdateDataDialog.ets
| |—AbilityAccessCtrlPage.ets // 步伐访问控制
| |—AbilityContextPage.ets // 提供允许访问特定于ability的资源的能力
| |—BundlePage.ets // 应用信息查询
| |—DataShareExtAbilityPage.ets // 数据共享业务
| |—DataShareHelperPage.ets
| |—FormExtContextPage.ets // 提供FormExtension具有的接口和能力
| |—Index.ets
| |—ServiceExtContextPage.ets
| |—TestPage.ets
| |—WindowPage.ets // 窗口
|—ServiceExtAbility
| |—ServiceExtAbility.ts
|—util
| |—Logger.ts
具体实现

Stage模子的设计基于如下三个出发点:


[*]应用的能力与体系总体功能和功耗的平衡
在体系运行过程中,前台应用的资源占用会被优先保障,与此同时由于应用能力不同而产生的功耗,也需要符合体系团体功耗的要求。Stage模子通过Ability与UI分离、严酷的后台管控、基于场景的服务机制及单进程模子来达成这种应用能力与团体体系功耗的平衡。


[*]原生支持组件级的迁徙和协同
OpenHarmony是原生支持分布式的操作体系,应用框架需要从架构设计上使得组件更易于实现迁徙和协同。Stage模子通过Ability与UI分离及UI展示与服务能力合一等模子特性,实现这一设计目的。


[*]支持多设备和多窗口形态的特点
为了支持多种设备形态和更易于实现多种不同的窗口形态,需要组件管理服务和窗口管理服务在架构层面上是解耦的,从而方便裁剪,更有利于定制不同的窗口形态。Stage模子通过重新界说了Ability生命周期界说和设计组件管理服务和窗口管理服务的单向依赖办理这一问题。
本示例告急展示Stage模子与FA模子的区别,分别从AbilityContext、ServiceExtensionContext、 FormExtensionContext、DataShareExtensionAbility、FormExtension、Bundle、Window、abilityAccessCtrl等模块进行介绍。
ServiceExtensionAbility:生命周期函数onCreate、onRequest、onConnect、onReconnect、onDisconnect、onDestroy。通过AbilityContext中的startAbility启动Service;通过connectAbility连接service;通过disconnectAbility断开service连接;通过rpc进行客户端与服务端通信。
FormExtension:生命周期函数onCreate、onCastToNormal、onUpdate、onVisibilityChange、onEvent、onAcquireFormState、onDestroy,通过formBindingData中的createFormBindingData创建卡片。
AbilityContext:AbilityContext是Ability的上下文环境,继承自Context。AbilityContext模块提供允许访问特定于ability的资源的能力,包括对Ability的启动、停止的设置、获取caller通信接口、拉起弹窗请求用户授权等。在利用AbilityContext的功能前,需要通过Ability子类实例获取。
ServiceExtensionContext:ServiceExtensionContext模块是ServiceExtensionAbility的上下文环境,继承自ExtensionContext。ServiceExtensionContext模块提供ServiceExtensionAbility具有的能力和接口,包括启动、停止、绑定、解绑Ability。 在利用ServiceExtensionContext的功能前,需要通过ServiceExtensionAbility子类实例获取。
FormExtensionContext:FormExtensionContext模块是FormExtension的上下文环境,继承自ExtensionContext。FormExtensionContext模块提供FormExtension具有的接口和能力。 在利用FormExtensionContext的功能前,需要通过FormExtension获取。
DataShareExtensionAbility: DataShareExtensionAbility基于ExtensionAbility框架,提供支持数据共享业务的能力,本模块接口仅可在Stage模子下利用。
Bundle:本模块提供应用信息查询能力,支持BundleInfo、ApplicationInfo、Ability、ExtensionAbility、应用状态等信息的查询 。
Window:窗口提供管理窗口的一些底子能力,包括对当前窗口的创建、销毁、各属性设置,以及对各窗口间的管理调理。
abilityAccessCtrl:步伐访问控制提供步伐的权限管理能力,包括鉴权、授权和取消授权等。
相关权限

不涉及。
依赖

不涉及。
束缚与限定

1.本示例仅支持标准体系上运行,支持设备:RK3568。
2.本示例为Stage模子,支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)
3.本示例利用了 ServiceExtensionAbility、DataShareExtensionAbility,需要在签名证书UnsgnedReleasedProfileTemplate.json中配置"app-privilege-capabilities": [“AllowAppUsePrivilegeExtension”],否则安装失败。具体操作指南可参考应用特权配置指南。
4.本示例需要利用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。
下载

如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo code/BasicFeature/ApplicationModels/StageModel/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
末了

有很多小伙伴不知道学习哪些鸿蒙开发技能?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习黑白常有必要的。
这份鸿蒙(HarmonyOS NEXT)资料包罗了鸿蒙开发必掌握的核心知识要点,内容包罗了(**ArkTS、ArkUI开发组件、Stage模子、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony****多媒体技能、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)**技能知识点。
希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!
如果你是一名有履历的资深Android移动开发、Java开发、前端开发、对鸿蒙感爱好以及转行职员,可以直接领取这份资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
需要这份体系化的资料的朋侪,可以添加V获取:vip204888 (备注鸿蒙)
https://i-blog.csdnimg.cn/blog_migrate/b697b8e1b0b52cf34969c0ee284f248b.png
一个人可以走的很快,但一群人才能走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待加入我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习发展!
,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。**
需要这份体系化的资料的朋侪,可以添加V获取:vip204888 (备注鸿蒙)
[外链图片转存中…(img-92mDTUUI-1713136853657)]
一个人可以走的很快,但一群人才能走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待加入我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习发展!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: HarmonyOS应用开发-Stage模子开发(ArkTS)_鸿蒙app stage 比 fa模子好