想了解更多关于开源的内容,请访问:
51CTO 开源基础软件社区
https://ost.51cto.com
鸿蒙应用、元服务和服务卡片的概念,很多人都了如指掌,我这里为了让自己加深一下印象,理解的更深刻一点。
打开DevEco Studio,首页选择Create Project,在弹出页面左侧选择Application,右侧选择Empty Ability,模型选择Stage,点击完成,这样一个最简单的HelloWorld应用程序就自动创建完成了。
应用的模板还有很多其他类型,比如调用底层库的NativeC++,适用于轻量设备应用开发的[Lite]EmptyAbility,集成华为云服务的EmptyAbilityWithCloudDev等等,根据需要选择合适的模板会事半功倍。
我用的开发工具是DevEco Studio 3.1 Release版本,支持Stage和FA两种模型,但越来越多的人只用Stage模型开发,FA模型用的似乎越来越少了。
DevEco Studio 3.1 Release版本也开始支持可视化开发了,在创建项目页面使能EnableSuperVisual,有些类似VisualStudio的开发工具,控件支持拖拽,然后再简单的设置一些属性,这个还有一个官方的称呼,叫低代码开发。我们看左边的项目树,和ets同级的出现了一个supervisual目录,这里面放置的是低代码布局文件Index.visual,对应的ets/pages/下也有一个Index.ets,这里面主要放置逻辑代码,visual可视文件也可以转化为ets代码。
编辑工具里有个预览器,修改代码可以预览页面的布局效果。
在菜单栏build菜单中有build hap和build app选项,hap是可以直接运行在手机上的应用,app是打包发布到华为应用市场的,不能直接安装到手机上。
至此,对应用开发最基本的有了一个了解。
打开DevEco Studio,首页选择Create Project,在弹出页面左侧选择AtomicService,右侧选择Empty Ability,模型选择Stage,点击完成,这样一个最简单的元服务程序就自动创建完成了。
直接运行,在模拟器上就打开了,也是个HelloWorld。但按返回退出后,除了历史菜单中就找不到入口了。但通过设置->应用和服务->服务管理里能找到刚才创建的元服务。
元服务都应该有卡片入口的,怎么找到卡片入口呢?可以通过Ctrl+鼠标进入桌面菜单,选择服务卡片,就能找到刚才创建的元服务的服务卡片了。
元服务的工程结构中,比普通应用程序多了entryformability和widget两个文件夹,entryformability中的EntryFormAbility定义了服务卡片,继承自FormExtensionAbility,该模块提供了卡片扩展相关接口。而我们的主界面是UIAbility类型的,UIAbility组件是一种包含UI界面的应用组件,主要用于和用户交互。widget目录下就是对服务卡片界面的布局代码。
对于应用程序,添加服务卡片,直接右击entry,选择New->ServiceWidget。
默认是2x2大小的卡片,可以同时添加其他尺寸的。
添加完,我们重新运行项目,发现图标下面多了短横线,按住上滑,就会出现服务卡片菜单了。
对于元服务,创建的时候就默认添加服务卡片,如果需要添加新的服务卡片,也可以按照给应用添加的方法进行添加,创建时选择的尺寸2x2或者2x4的,是针对同一个卡片展示的不同尺寸,如果添加新功能的卡片,需要继续添加ServiceWidget组件,所有这些组件都在配置文件resources/base/profile/form_config.json中进行配置。
这篇文档介绍了一些入门级的知识,主要是帮助弄清楚鸿蒙应用、元服务和服务卡片之间的区别和联系。
想了解更多关于开源的内容,请访问:
51CTO 开源基础软件社区
https://ost.51cto.com