HarmonyOS app 开发应用框架的架构和组成(Java)

12 篇文章 28 订阅
订阅专栏


HarmonyOS app 开发应用框架的架构和组成(Java)


一、应用框架组成

在这里插入图片描述

​ 应用框架,简单来说可以理解为面对开发者的一个应用接口。我们可以简单来看,左边就是部署态的示意图们可以看出部署态有UI描述,业务逻辑代码,共享库,配置文件来组成。一般来说,我们的应用会有我们的组件,布局还有实现交互作用的业务逻辑代码,还有我们业务逻辑实现需要的第三方库和SDK以及我妈们的配置文件。当然我们也会有对应的一个运行态,资源管理等来将UI页面展现在用户的面前,当然在运行的时候也会进行一些包管理,任务管理等来辅助我们的程序执行。借助API和Kits等来实现我们软件的一些基本业务功能。

二、HarmonyOS应用部署运行

在这里插入图片描述

我们在HarmonyOS将代码打包成一个app,这个app是由很多hap组成的,app打包完成后就会上传到云端,在云端会对我们的app进行检验和拆包,以实现我们app的基本功能和展现,根据不同的设备以及我们的hap功能等,我们就会部署到应用市场,然后在我们的端测侧,我们下载app就会将我们的app打包下载到我们的设备,我们的app运行主要包括了我们的UI和我们Ability。

三、Ability

在这里插入图片描述

Ability 是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含多个 Ability),HarmonyOS 支持应用以 Ability 为单位进行部署。Ability 可以分为 FA(Feature Ability)和 PA(Particle Ability)两种类型,每种类型为开发者提供了不同的模板,以便实现不同的业务功能。你可以把我们的Ability理解为我们在鸿蒙开发里的一个基本单元,一个 Page 可以包含多个 AbilitySlice,但是 Page 进入前台时界面默认只展示一个AbilitySlice。默认展示的 AbilitySlice 是通过 setMainRoute() 方法来指定的。如果需要更改默认展示的 AbilitySlice,可以通过 addActionRoute() 方法为此 AbilitySlice 配置一条路由规则。此时,当其他 Page 实例期望导航到此 AbilitySlice 时,可以在 Intent 中指定 Action。 addActionRoute() 方法中使用的动作命名,需要在应用配置文件( config.json )中注册。

​ 现在我们知道这个Page Ability是主要负责页面交互的,那么就可以理解为Android 的Activity。那么都知道Activity有生命周期,同样的Page Ability也是的。下面来看看它的生命周期。

生命周期

在这里插入图片描述

声明周期分别是 onStart() 、 onActive() 、 onInactive() 、 onBackground() 、 onForeground() 、 onStop()。

  • onStart() 当系统首次创建 Page Ability 实例时,触发该回调。对于一个 Page Ability 实例,该回调在其生命周期过程中仅触发一次, Page Ability 在该逻辑后将进入 INACTIVE 状态。开发者必须重写该方法,并在此配置默认展示的 AbilitySlice。
  • onActive()   Page Ability 会在进入 INACTIVE 状态后来到前台,然后系统调用此回调。 Page Ability 在此之后进入ACTIVE 状态,该状态是应用与用户交互的状态。 Page Ability 将保持在此状态,除非某类事件发生导致 Page Ability 失去焦点,比如用户点击返回键或导航到其他 Page Ability 。当此类事件发生时,会触发 Page Ability 回到 INACTIVE 状态,系统将调用 onInactive() 回调。此后, Page Ability 可能重新回到ACTIVE 状态,系统将再次调用 onActive() 回调。因此,开发者通常需要成对实现 onActive() 和 onInactive() ,并在 onActive() 中获取在 onInactive() 中被释放的资源。
  • onInactive() 当 Page Ability 失去焦点时,系统将调用此回调,此后 Page 进入 INACTIVE 状态。开发者可以在此回调中实现 Page 失去焦点时应表现的恰当行为。
  • onBackground() 如果 Page Ability 不再对用户可见,系统将调用此回调通知开发者用户进行相应的资源释放,此后 Page Ability 进入 BACKGROUND 状态。开发者应该在此回调中释放 Page Ability 不可见时无用的资源,或在此回调中执行较为耗时的状态保存操作。
  • onForeground() 处于 BACKGROUND 状态的 Page Ability 仍然驻留在内存中,当重新回到前台时(比如用户重新导航到此 Page Ability ),系统将先调用 onForeground()回调通知开发者,而后 Page 的生命周期状态回到 INACTIVE 状态。开发者应当在此回调中重新申请在 onBackground()中释放的资源,最后 Page 的生命周期状态进一步回到 ACTIVE 状态,系统将通过 onActive()回调通知开发者用户。
  • onStop() 系统将要销毁 Page Ability 时,将会触发此回调函数,通知用户进行系统资源的释放。

Ability类型

在这里插入图片描述

我们的Ability分成服务Ability和数据Ability。服务Ability 和数据Ability,就是服务能力和数据能力。Service用于提供后台运行任务的能力。Data 用于对外部提供统一的数据访问抽象。在配置文件(config.json)中注册 Ability 时,可以通过配置 Ability 元素中的“type”属性来指定 Ability 模板类型。

四、进程

在这里插入图片描述

在HarmonyOS设计中,是允许我们的外度的与安全服务的,其实我们的app是可以灵活组装,灵活多变的,它除了我们的一些公共线程外,也是有一个其他的元服务线程。这个其他的元服务可以来自其他的设备也可以来自云侧,这也就体现了我们HarmonyOS的一个底层互联的能力。

五、用户程序框架

在这里插入图片描述

六、UI编程框架

在这里插入图片描述

在我们HarmonyOS app开发中,主要有两种方式,一种是命令式,一种是声明式,在目前看来,华为HarmonyOS app开发主要还是依靠Java来进行开放,目前主推语言依然是Java。

在这里插入图片描述

在这里插入图片描述

通过Java的一个多线程开发,我们的zpp组件,布局,其实最终是交给我们的GPU来进行渲染,从而让用户进行使用,我们Java UI 的一个开发也就是一个组件优化过程和处理,以及底层逻辑的实现。

喜欢本推文的可以点点关注哦。以后会继续发布关于HarmonyOS开发的博文的

Java基于HarmonyOS在线学习平台app(开题+源码)
qh604的博客
11-12 193
本研究旨在将HarmonyOS系统应用于在线学习平台,通过构建一个集学生、教师、课程任务、学习打卡、作业评价、加入课程等系统功能于一体的教育生态系统,为学习者提供更加优质、便捷的学习体验。本研究的主要目的是开发一款基于HarmonyOS系统的在线学习平台,该平台能够实现学生、教师、课程任务、学习打卡、作业评价、加入课程等系统功能的集成和优化。同时,通过构建一个集学生、教师、课程任务、学习打卡、作业评价、加入课程等系统功能于一体的教育生态系统,可以促进教育资源的共享和优化,推动教育的均衡发展。
Java基于HarmonyOS在线学习平台app(源码+mysql+文档)
卢卡毕设程序
01-05 791
首先,通过使用HarmonyOS的分布式技术,可以实现多设备之间的无缝连接和数据共享,从而提供更加便捷的学习体验。其次,HarmonyOS的安全性能可以有效保护用户的个人信息和学习数据,提高用户对在线学习平台的信任度。最后,基于HarmonyOS的在线学习平台app还可以结合其他智能设备,如智能手表、智能音箱等,为用户提供更加个性化和智能化的学习服务。然而,传统的在线学习平台存在着一些问题,如用户体验不佳、功能单一等。因此,基于HarmonyOS的在线学习平台app有望提供更好的用户体验和更丰富的功能。
全网最全的鸿蒙源码结构分析(附自制4张架构图)_开源鸿蒙源码(1)
最新发布
2401_84853560的博客
05-11 306
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!一个人可以走的很快,但一群人才能走的更远!
HarmonyOS分布式应用框架深入解读
1
04-12 668
随着越来越多设备的智能化,在多设备场景下应用开发面临以下挑战:从多设备的形态差异(不同大小、不同分辨率、不同形状的屏幕,多样化的交互方式–按钮、触屏、键盘、语音、手势等),多设备的能力差异(内存从百 KB级到GB级设备)。针对上述挑战,HarmonyOS作为一款面向万物互联时代的、全新的分布式操作系统,将迎刃而解,这得益于HarmonyOS的分布式应用框架,这些多设备组成一个超级终端,充分发挥各设备能力,从而实现多设备间多端协同、跨端迁移,为万物互联奠定基础。
31.HarmonyOS App(JAVA)鸿蒙系统app Service服务的用法
Txwtech笛克特科
03-20 1064
长驻任务类型给用户能直观感知到的且需要一直在后台运行的业务提供后台运行生命周期的保障。比如,业务需要在后台播放声音,或者需要在后台持续导航定位等,此类用户可以感知到的后台业务行为,可以通过使用长驻任务对应的后台模式保障业务在后台的运行,支撑应用完成在后台的业务。本文描述的后台任务特指应用或业务模块处于后台(无可见界面)时,有需要继续执行或者后续执行的业务。退到后台的应用有不可中断且短时间能完成的任务时,可以使用短时任务机制,该机制允许应用在后台短时间内完成任务,保障应用业务运行不受后台生命周期管理的影响。
应用框架
Java教程
04-06 411
框架(Framework)是可重用的,半完成的应用程序,可以用来产生专门的定制程序[Johnson]。 Framework概念并不是很新了,伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。这意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用上,而非繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。这
HarmonyOS开发Java与ArkTS如何抉择
老卫的技术站
11-19 2435
在“”视频课程中,很多学员来问我,在HarmonyOS开发过程中,面对Java与ArkTS,应该选哪样?本文详细分析Java与ArkTS在HarmonyOS开发过程的区别,力求解答学员的一些困惑。
[Harmonyos]鸿蒙操作系统架构
猫头虎:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作:Libin9iOak,共赴知识与乐趣的探索之旅!
12-07 1299
作为华为自主研发的操作系统,鸿蒙操作系统(HarmonyOS)引起了广泛关注。本篇博客将深入探讨鸿蒙操作系统的架构特点,为开发者和技术爱好者提供一窗式了解。鸿蒙操作系统的微内核架构、模块化设计和分布式能力为其在各种设备和应用场景中的应用提供了强大的支持。它不仅是华为对操作系统领域的一次重大创新,也预示着智能设备发展的新方向。
华为鸿蒙系统HarmonyOS学习之二:鸿蒙HarmonyOS系统架构
jyl_sh的专栏
10-13 2万+
华为鸿蒙系统HarmonyOS学习之二:系统架构
前端开发 | 鸿蒙(HarmonyOS)应用开发指南
360技术
01-18 3588
1. 概述1.1 简介鸿蒙(即 HarmonyOS开发代号 Ark,正式名称为华为终端鸿蒙智能设备操作系统软件)是华为公司自 2012 年以来开发的一款可支持鸿蒙原生应用和兼容 AOSP 应用的分布式操作系统。该系统利用“分布式”技术将手机、电脑、平板、电视、汽车和智能穿戴等多款设备融合成一个“超级终端”,使用户便于操作和共享各种设备的资源。1.2 本文读者收获帮助开发者全面了解 Harmon...
HarmonyOS开发基础
02-12
移动应用前端界面的定制需要引用很多定制化的图片资源, 包括系统图标等; 应用还需要考虑国际化和...通过本章的学习, 您将能够深入理解HarmonyOS APP和HAP的组成及工作原 理, 掌握对应用关键资源的配置和访问方法。
HarmonyOS流转架构解析
02-19
物联网时代的核心是具备互联互通能力的智能设备, 目前智能市场的现状远不 能达到预定的目标。 现实的工作生活场景是用户拥有的设备越来越多, 每个设 ...流转功能和多端协同功能来开发具有多端交互能力的分布式APP
基于HarmonyOS 4开发的一款刷题的鸿蒙APP源代码
05-04
基于HarmonyOS 4开发的一款刷题的鸿蒙APP源代码
华为鸿蒙HarmonyOS开发整理资料汇总.zip
11-25
3-6.HarmonyOS概述:应用开发基础知识 3-7.HarmonyOS概述:最全HarmonyOS文档和社区资源使用技巧 4-1.生态案例:【开发者说】重塑经典,如何在HarmonyOS手机上还原贪吃蛇游戏 4-2.生态案例:HarmonyOLabo涂鸦鸿蒙...
12.鸿蒙HarmonyOS App(JAVA) page的隐式跳转demo.rar
12-24
12.鸿蒙HarmonyOS App(JAVA) page的隐式跳转demo.rar https://txwtech.blog.csdn.net/article/details/135187975
全网最全的鸿蒙源码结构分析(附自制4张架构图)
热门推荐
lzw的专栏
09-21 6万+
前言:今天下午到晚上折腾了6个多小时,从官网一直到Gitee和CodeChina,把所有知道的资料都看了一下,整理了一份鸿蒙架构和源码对比图给大家,希望大家都来看看。 文章目录一、鸿蒙结构图自制版(结合源码重新制作)制作过程解密:二、思维导图图解鸿蒙结构以及对应的源码目录三、制作每一个库的内容介绍以及和架构图的对照详细表格1、官方文档给出的分类(补充:每个仓库介绍和数量)制作过程解密:2、官方文档没有的仓库的分类整理及介绍和数量统计制作过程解密: 一、鸿蒙结构图自制版(结合源码重新制作) 制作过程解密:.
HarmonyOS多媒体框架介绍
HarmonyOSDev的博客
12-30 525
以上是多媒体框架的相关介绍内容,如果您想了解更多关于HarmonyOS相关知识,请参考HarmonyOS应用开发平台(https:// developer.harmonyos.com/),那里有更多更详细的介绍,提供循序渐进的学习路径,便于开发者快速掌握相关知识,构建属于自己的HarmonyOS应用,我们期待您的加入。在硬件适配层,即HDF层,提供兼容设计。从分层架构的角度,相机框架框架层提供了开发者可以感知的API来简化编程,服务层主要通过一些高性能、高画质的设计,提升对开发者服务的质量和体验效果。
计算机毕业设计之家庭理财管理系统的设计与实现
wx_zhuyanbishe的博客
06-24 466
家庭理财管理系统,Mysql数据库,JSP技术; SSM框架
鸿蒙HarmonyOS应用开发系列 | 从浅到深解读开发核心Ability
HarmonyOS技术社区
12-17 3984
鸿蒙 Ability 讲解(页面生命周期、后台服务、数据访问) 用Android的Activity生命周期解释HarmonyOS的Page Ability生命周期 HarmonyOS鸿蒙开发之通过代码创建页面 Feature Ability
harmonyos app开发应用
03-08
可以回答这个问题。HarmonyOS是华为公司推出的一款操作系统,它支持多种...HarmonyOS应用开发可以使用多种编程语言,包括Java、Kotlin、C、C++等,同时也提供了多种开发框架和工具,方便开发者进行应用开发和发布。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • HarmonyOS APP 开发入门 16394
  • Golang 打包go项目部署到linux服务器 4891
  • HarmonyOS app 开发应用框架的架构和组成(Java) 4671
  • Python代码实现尼姆游戏聪明模式 3991
  • 鸿蒙HarmonyOS APP 开发入门2--事件 3272

分类专栏

  • 前端解密 2篇
  • eTS开发 1篇
  • python不挂科 9篇
  • redis学习 1篇
  • HarmonyOS开发 12篇
  • 笔记
  • Python入门 7篇
  • 数据结构不挂科 2篇
  • 编程运用 4篇

最新评论

  • 腾讯trpc-go教程——一文搞懂trpc框架

    fengyanan3375: 你好,go install trpc.group/trpc-go/trpc-cmdline/trpc@latest执行这个之后没有报错,但又这个-bash: trpc: command not found请问遇到这种情况吗

  • 腾讯trpc-go教程——一文搞懂trpc框架

    ?€??????€?: 什么时候更新呀

  • Golang 打包go项目部署到linux服务器

    太阳拉面: 你确定?

  • Golang 打包go项目部署到linux服务器

    hui_ss: $env:GOOS="linux"你还不如别人了,这个命令都不能执行

  • Golang 打包go项目部署到linux服务器

    毛都不会!: 我有问题,当我的项目目录结构比较复杂时该如何编译?只编译main吗?

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 腾讯trpc-go教程——一文搞懂trpc框架
  • 一文搞懂Go语言中包导入
  • Golang 打包go项目部署到linux服务器
2023年6篇
2022年16篇
2021年11篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿诺斯

您的打赏是我创作路上最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

深圳SEO优化公司揭阳网站优化按天扣费报价怒江网站优化排名哪家好清远网站搭建价格贺州建网站推荐广东关键词排名包年推广价格迁安网站开发报价嘉兴百度标王推荐飞来峡百姓网标王公司天水百度爱采购多少钱红河至尊标王报价邵阳设计公司网站哪家好天津SEO按效果付费价格株洲网站改版通辽关键词按天收费遂宁网站优化软件价格南联关键词按天计费报价马鞍山阿里店铺托管公司海南外贸网站建设公司鄂州品牌网站设计哪家好石岩模板推广哪家好长春SEO按效果付费多少钱昌都百度爱采购价格仙桃营销型网站建设报价晋中网站优化哪家好仙桃seo排名推荐宿州营销网站推荐洛阳网络推广推荐三明网站推广工具公司大丰设计公司网站推荐聊城百度seo价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化