你好,鸿蒙操作系统

核心提示「来源: |无量测试之道 ID:gh_858a1aa25a6d」这是无量测试之道的第210篇原创今天我们来谈谈当下最火爆的万物互联的操作系统—Harmony OS,这是国人的骄傲,也是每一个中华儿女值得去学习和研究的国产操作系统。在这里主

"来源:|无限考道ID: GH _ 858a1aa25a6d "

这是无限考道的第210篇原创文章。

今天,我们来谈谈——鸿蒙系统,万物互联最流行的操作系统。这是中国人的骄傲,也是每一个中华儿女值得学习和研究的国产操作系统。在这里,我主要想通过自己写的一个小Demo来探讨一下鸿蒙系统系统下app的应用开发。如有错误,请指出并分享。

步骤1:构建开发环境

这里不详细解释IDESDK的安装。华为官网既有安装包,也有相关步骤。相信你可以通过文档自己完成。

第二步:学习应用开发的相关术语

第一部分:制度的定义

鸿蒙系统是一个“面向未来”的分布式操作系统,适用于所有场景。

第二部分:开发app应用包结构。

鸿蒙系统的用户应用包以APP Pack的形式发布,由一个或多个HAP和一个描述每个HAP属性的pack.info组成。

HAP是能力的部署包,鸿蒙系统应用程序代码是围绕能力组件开发的。HAP是由代码、资源、第三方库和应用配置文件组成的模块包,分为入口和特性两种。

进入

入口:应用程序的主模块。在一个APP中,同一设备类型只能有一个入口类型的HAP,可以独立安装运行。

特征

功能:应用程序的动态功能模块。一个应用程序可以包含或不包含一个或多个功能类型的hap。只有有能力的HAP才能独立运行。

能力

能力是应用程序所拥有的能力的抽象。一个应用程序可以包含一种或多种能力。能力分为FA和PA两种。固定资产是应用的基本单位,可以实现特定的业务功能。有FA UI界面,PA没有UI界面。

库文件

库是应用程序所依赖的第三方代码,它存储在libs目录中。

资源文件

应用程序资源文件存储在resources目录中,方便开发人员使用和维护。详见资源文件分类。

配置文件

配置文件是应用程序的能力信息,用于声明应用程序的能力,以及应用程序所需的权限等信息。有关详细信息,请参见应用程序配置文件。

打包信息

描述应用软件包中每个HAP的属性,由IDE编译生成,应用市场根据该文件解包存储HAP。

HAP的具体属性包括:安装交付:指示HAP是否支持应用程序的安装。“true”:表示支持安装应用程序;“false”:表示不支持安装应用程序。

名称:HAP文件名。

模块类型:模块类型、条目或特征。

设备类型:表示支持HAP操作的设备类型。

HAR可以提供构建一个应用程序所需的所有内容,包括源代码、资源文件和config.json文件。与HAP不同,HAR不能在设备上独立安装运行,只能作为应用模块的依赖引用。

用户应用一般是指运行在设备操作系统上,为用户提供特定服务的程序,简称“应用”。

鸿蒙系统上运行着两种应用程序:需要安装的传统应用程序。提供特定功能,免安装应用。

第三部分:开发过程中常用术语的解释。

页面和能力切片

Page是FA支持的唯一模板,用来提供与用户交互的能力。一个页面可以由一个或多个AbilitySlice组成,ability slice是指应用程序的单个页面及其控制逻辑的总和。

当一个页面由多个能力片段组成时,这些能力片段所提供的业务能力应该是高度相关的。比如新闻浏览功能可以通过一个页面来实现,这个页面包含两个AbilitySlice:一个用来显示新闻列表,一个用来显示新闻详情。

目的

意图是物体间信息传递的载体。例如,当一个功能需要启动另一个功能时,或者当一个功能片需要导航到另一个功能片时,您可以通过Intent用相关数据指定启动目标。

能力

能力是应用程序能力的抽象,是应用程序的重要组成部分。一个应用程序可以有多种功能,鸿蒙系统支持以功能为单位部署应用程序。能力可以分为FA和PA,每种类型为开发者实现不同的业务功能提供了不同的模板。

支持FA可页面性:页面模板是FA唯一支持的模板,用来提供与用户交互的能力。一个页面实例可以包含一组相关页面,每个页面由一个AbilitySlice实例表示。

PA服务能力和数据能力支持:服务模板:用于提供在后台运行任务的能力。数据模板:用于对外提供统一的数据访问抽象。

服务能力的基本概念

基于服务模板的能力主要用于后台运行任务,但不提供用户界面。

服务可以由其他应用或能力启动,即使用户切换到其他应用,服务也会继续在后台运行。服务是单一实例。同一服务在一个设备上只能有一个实例。如果多个能力共享此实例,则服务只能在绑定到该服务的所有能力都退出后才能退出。

因为服务是在主线程中执行的,如果服务中的操作时间过长,开发者必须在服务中创建一个新的线程来处理,以免主线程阻塞,应用无法响应。

数据能力的基本概念

使用数据模板的能力有助于应用程序管理自己和其他应用程序对存储数据的访问,并提供了一种与其他应用程序共享数据的方式。数据可以用于同一设备上不同应用的数据共享,也支持不同应用跨设备的数据共享。

数据可以以各种形式存储,如数据库或磁盘上的文件。Data为添加、删除、修改、搜索数据和打开文件提供了外部接口。这些接口的具体实现由开发人员提供。

备注:以上是鸿蒙系统app应用开发中会经常涉及到的一些概念,也是非常重要的。有一定的了解会对我们开发系统有帮助,所以我把它们整理出来放在第二部分。

步骤3:演示示例说明

第一部分:程序结构和程序入口。

如上图所示:entry是应用的主模块,1-标记的地方是Slice slice,2-标记的地方是main方法所在的类文件,3-标记的地方是style文件,4-标记的地方是layout文件。

第二部分:两个切片文件的内容。

打包com . example . my application . slice;导入com . example . my application . resource table;导入ohos . AAF wk . ability . ability slice;导入ohos . AAF wk . content . intent;导入ohos . AGP . components . button;导入ohos . AGP . components . component;Class mainabilitylicense扩展能力片{@覆盖public void onStart { super . onStart;//ResourceTable对应selenium中的驱动程序。这里,如果布局设置为ability_main.xml文件的内容,前面的Layout_是框架规则好的super.setUIContent//类似于python中selenium按id查找元素,其中Id_button是ability_main.xml中button的Id值button = findComponentById//判断按钮是否为空,如果{ //为按钮设置click listening事件button . setclicked listener { @ override public void onclick {//这相当于渲染另一个页面。系统会调用onForeground回调先通知开发者,然后页面的生命周期状态会回到非活动状态。在这次回调中,开发者要重新申请onBackground中释放的资源。最后,Page的生命周期状态会回到ACTIVE状态,系统会通过onActive回调通知开发者用户。*/@ Override public void on foreground { super . onForeground;} }包com . example . my application . slice;导入ohos . AAF wk . ability . ability slice;导入ohos . AAF wk . content . intent;//导入ohos . global . system RES . resource table;导入com . example . my application . resource table;导入ohos . AGP . components . button;导入ohos . AGP . components . component;导入ohos . AGP . components . text;导入ohos . hiviewdfx . hilog;导入ohos . hiviewdfx . hiloglabel;public类SecondAbilitySlice扩展了ability slice { private static final int MY _ MODULE = 200;@ Override protected void onStart { super . onStart;super.setUIContentText text = findComponentByIdif { String myname = intent . getstring param;最终HiLogLabel标签=新HiLogLabel;//MY _ MODULE = 0x 00201 hilog . info;}//这里和MailAbilitySlice中的函数一样,寻找按钮元素,是goback Button Button = FindComponentByid;if { button . set clicked listener { @ Override public void onClick { present,new Intent);} });} }}

第三部分:两个布局和一个图形文件内容。

备注:

它代表一个文本框,其中ohos:text表示文本的内容表示按钮,其中ohos:id表示元素的id值,其中ohos:text表示按钮的文本内容的背景,所以跳到下面第二张图,这里是切换到另一个切片的页面。当你在这张图片中点击返回,你可以回到第一张图片的界面。

目标

如果今天的分享对你有帮助,请不要犹豫:关注、分享、喜欢、观看、收藏~你的鼓励将是我创作的最大动力。

 
友情链接
鄂ICP备19019357号-22