HarmonyOS鸿蒙Next中简单学习端云一体化元服务
HarmonyOS鸿蒙Next中简单学习端云一体化元服务 前言
我想开发一款元服务,类似漂流瓶,我给它命名为快递盲盒。这个应用功能上挺简单,手机桌面有一个2x2的卡片,显示的是一个贴了封条的快递箱子,用户点击之后,会有一个简单的开箱动画,然后显示一个头像图片和一张小纸条,纸条上写的是陌生人的祝福或者愿望。服务卡片每四个小时自动刷新一次,随机获取远程的盲盒信息,用户也可以点击刷新随时主动申请盲盒。用户点击卡片空白处,会进入一个信息编辑页面,用户可以把头像图片和自己想说的话,打包成盲盒发送到服务器。服务器会根据时间,自动整理所有的盲盒信息,上传超过一个月的盲盒信息就自动删除。这个项目没有太大的实际意义,理论上是完全可行的,客户端用元服务就能实现,服务端采用端云一体化的云函数和云数据库应该可以实现。
个人觉得上面那个想法挺美好,但是调了两天云数据库也没有访问成功,最终这个想法被我暂停了。转而做了一个最最简单的端云一体化元服务,就是在UUID示例的基础上增加了卡片访问云函数的功能,通过这个示例,可以重新熟悉一下元服务的开发过程、端云一体化开发的过程和服务卡片与页面的交互过程。
效果预览
开发过程
1. 创建原生demo
1. 新建项目,选择Atomic Service,Empty Ability with CloudDev。
2. 点击Next,输入项目名、包名和存储路径,CompileSDK选择API9。
3. 继续Next,关联云端开发资源,这一项需要先在AGC网站上进行配置,如果事先没有配置,可以在这个界面点击AppGalleryConnnect进行创建。
建好后,就自动和刚才创建的项目绑定了,点击Finish就开始自动创建工程了。
4. 工程创建完成后,可以看到工程目录树结构,有Application和CloudProgram两条分支,这里正好对应着端云一体化开发的概念,Application是指端侧,CloudProgram是指云侧,一体化开发是把云侧放到端侧开发环境中一起开发。
5. 示例DEMO创建完成了,运行起来也非常简单。可以选择在本地真机、本地模拟器、远程模拟器或者远程真机上运行。但是运行之前,需要先把云函数部署到云服务器上。右击“CloudProgram”,在快捷菜单中选择“Deploy Cloud Program”。
6. 部署完之后就可以正常运行了。
7. 至此,我们没敲一行代码,就完成了一个端云一体化元服务,但这个元服务卡片只显示了静态文字,我们接下来给它增加一个通过云函数获取UUID的功能。
2. 修改原生demo
1. 修改服务卡片,增加2x4尺寸,并修改页面布局
其中的卡片布局是在entry/src/main/resources/base/profile/form_config.json中配置的,
2. 修改主页面,点击卡片空白处,我们只想打开云函数页面,所以修改EntryAbility.ts中的onWindowStageCreate函数。
3. 增加服务卡片信息更新机制,我们通过点击卡片的获取按钮,执行如下命令,
这里的ACTION_TYPE为message,所以会在EntryFormAbility中的onFormEvent进行处理,
4. 这样,我们就可以通过元服务的卡片直接访问云函数服务了。
总结
按照端云一体化的模板进行开发,会发现实现云功能的元服务流程上还是挺简单的,具体的功能实现可能会涉及到更多的技术细节,还需要不断的熟悉和摸索,希望官方能够把云数据库示例也集成到模板中。
更多关于HarmonyOS鸿蒙Next中简单学习端云一体化元服务的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS鸿蒙Next中简单学习端云一体化元服务的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,端云一体化元服务通过分布式技术实现设备间的无缝协作。开发者可使用DistributedDataManager
进行数据同步,利用DeviceManager
管理设备连接,并通过DistributedScheduler
实现任务调度。例如,创建一个跨设备的相册应用,用户可在手机上传照片,平板自动同步显示。这种架构提升了用户体验,简化了开发流程,是鸿蒙生态的重要特性。