#HarmonyOS 鸿蒙Next端云一体化#SHOW出您的元服务# 使用HarmonyOS 鸿蒙Next端云一体化模板快速开发一个显示桌面文案的元服务
#HarmonyOS 鸿蒙Next端云一体化#SHOW出您的元服务# 使用HarmonyOS 鸿蒙Next端云一体化模板快速开发一个显示桌面文案的元服务 作为一个文艺青年,偶尔会有想要表达一下自己心情的需求,这时候鸿蒙系统的桌面卡片就非常合适。
简单设想一下,这是一个常驻桌面、能显示个性文案的元服务。如果用户对文案内容不满意的话可以手动切换文案。由于每次只能单条刷新很不方便,因此还需要一个应用界面,里面能够分类显示很多不同的文案,便于快速选择,只要手动点击某一条文案,就能直接显示到桌面卡片上。
使用端云一体化开发可以很容易的实现这个效果
效果展示: 每日走心文案阶段性功能演示
简单介绍一下端云一体化开发:
作为一个独立开发者,由于时间和开发能力的限制,想要独立开发一个应用程序其实还是挺难的,微博、B站那种功能复杂又高大上的应用自然不必说,很多时候连简单的应用也会受限于前后端开发的差异,学前端的不会写后端、不会配置服务器,学后端的搞不懂前端三件套,让人搞得一头雾水,项目未半而中道崩卒。
DevEco的端云一体化开发工具能让应用开发变得非常简单,前后端语法统一,前端用基于JS衍生的ArkTS,后端能直接用Node.js,语法高度相似。 severless不需要手动安装各种服务器软件,也不需要进行大量复杂难懂的系统配置。直接新建项目就能让客户端自动连接上severless,并且服务器常用的登录、后端环境、数据库、文件存储系统、日志系统他都有。突出一个简单快捷,傻瓜式操作。
想法有了,开始分析项目:
- 文案可以统一放在云数据库,使用云数据库的接口来查询。
- 桌面卡片的刷新事件主要靠postCardAction接口的message事件来实现,
- 点击跳转应用靠postCardAction接口的router事件来实现
- FormAbility和应用页面点击后刷新卡片的功能依靠formProvider.updateForm接口来实现。
- 为了能管理多张应用卡片,避免出现明明没有卡片但应用提示刷新成功,已经明明有应用卡片但应用找不到对应的FormID导致卡片不刷新的情况,又需要一个能记录所有FormID的函数。
关于postCardAction接口和formProvider.updateForm接口可以参考以下文章:
- 鸿蒙元服务开发教程:从底层原理开始讲透桌面卡片的call事件刷新机制
- 鸿蒙元服务开发教程02:从底层原理开始讲透桌面卡片的message事件刷新机制
- 鸿蒙元服务开发教程03:从底层原理开始讲透桌面卡片的router事件刷新机制
简单的分析完这个项目,就可以动手操作啦
- 第一步:在AGC中新建项目,新建应用。
如果不会创建端云一体化工程的话可以参考一下这篇文章:【纯新手向】手把手带你使用模板创建第一个端云一体化元服务
- 第二步:按照项目需求开通对应的服务。
- 由于这个案例非常的简单,登陆服务、云函数、云存储都用不上,只要有一个云数据库就够了。在这里就只开通云数据库。
完成云数据库的基本配置
存储区命名为sloganZone
云数据配置好以后导出对象类型的js文件。后续会用到。
手动录入一些数据以便后续开发中进行测试
- 配置完成后新建本地工程。(强烈建议新手先完成severless的各种配置再新建本地项目,因为建立本地项目时会自动下载与severless配置情况对应的agconnect-services.json与schema.json文件。改动severless配置后需要手动更新这两个文件,否则可能会无法运行。)
- 删除不需要的程序文件,开始编写我们自己的代码。
- ets目录下除了EntryAbility、EntryFormAbility和WidgetCard以外的文件可以全部删除。
- 将之前下载的对象类型文件(dailySlogan.js)复制进来,后续查询云数据库必须要用到它。
- 重建一个Index.ets文件。
最终的项目结构如下:
开发桌面卡片的代码
-
卡片界面WidgetCard.ets的代码
-
FormAbility部分EntryFormAbility.ts的关键代码
-
另外为了显示效果,我们需要把卡片尺寸修改为2*4
开发应用主页的代码
-
page部分Index.ets文件的代码
-
UIAbility部分EntryAbility.ts文件的关键代码
更多关于#HarmonyOS 鸿蒙Next端云一体化#SHOW出您的元服务# 使用HarmonyOS 鸿蒙Next端云一体化模板快速开发一个显示桌面文案的元服务的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
文章很棒,详细易懂讲解了卡片元服务的机制并附上代码实践过,赞👍一个!
但有两个小问题,帮楼主补充完整。
-
需要手动添加依赖到oh-package.json5文件,才能导入
@hw-agconnect/database-ohos
包使用,可能后继SDK更新会初建项目自动添加。 -
后台拉起卡片元服务时,需要添加以下权限。
更多关于#HarmonyOS 鸿蒙Next端云一体化#SHOW出您的元服务# 使用HarmonyOS 鸿蒙Next端云一体化模板快速开发一个显示桌面文案的元服务的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
确实大意漏写了,感谢补充😂,
为什么添加失败了,
- 复制
- 深色代码主题
说的详细一点,什么东西添加失败了,
有next beta1版本 端云一体化模板工程的使用方式吗?
这个要等,agc那边的sdk还没适配完,
开源吗请问完整代码能分享一下吗
这帖子里贴的就是完整代码,不过用的是老版端云SDK,需要自己手动替换一下。
很受启发,你的元服务是直接在APP中访问云数据库吗? 不需要先通过云函数再去访问云数据库,直接访问云数据库也行了?
云数据库的sdk目前已经能正常使用了,可以直接访问。不用再从云函数中转了。
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17
整体跟了一遍下来,颇有收益,谢谢。
可以点个关注呀,以后还会分享其他东西,
在HarmonyOS鸿蒙Next端云一体化框架下,开发一个显示桌面文案的元服务主要涉及使用鸿蒙系统提供的API和工具。具体步骤如下:
-
环境准备:确保已安装HarmonyOS SDK及必要的开发工具,如DevEco Studio。
-
创建项目:在DevEco Studio中,选择“创建新项目”,并选择鸿蒙Next端云一体化模板作为项目基础。
-
设计元服务:在项目中定义元服务,包括服务的功能、交互方式及所需权限等。对于显示桌面文案,需设计文案的展示形式、更新机制等。
-
实现服务逻辑:编写代码实现元服务的核心功能,如从云端获取文案内容、在桌面上展示文案等。利用鸿蒙系统提供的UI组件和布局管理器进行界面设计。
-
测试与调试:在模拟器或真机上测试元服务的运行效果,确保文案能够正确显示并更新。
-
发布与部署:完成测试后,将元服务打包发布至鸿蒙应用市场或指定渠道供用户使用。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,