【HarmonyOS】详解低代码端云一体化开发之数据模型
【关键字】
元服务、低代码平台、端云一体化开发、数据模型、拖拽式UI
【1、写在前面】
上一篇中分享了关于低代码平台开发元服务的基本使用,有兴趣的可以看一下,文章地址如下:
https://developer.huawei.com/consumer/cn/forum/topic/0201120502584194043?fid=0101591351254000314
但是在上一篇中我们的数据都是在端侧配置的,这种方式肯定是无法满足我们的实际需求的,所以本篇将会使用一种全新的方式来为端侧应用接入数据——低代码平台数据模型。
【2、开通低代码平台】
数据模型是在AppGallery Connect控制台中创建的一种云侧的数据资源,在端侧绑定已经创建好的需要的数据模型,就可以实现端侧调用云侧数据展示的效果。
如果你想要使用云侧数据模型的能力,需要先申请加入白名单,在白名单通过之后还要在AppGallery Connect中开通低代码平台,完成以上两步之后才可以愉快的使用数据模型的能力,关于这两步操作的详细步骤可以参考以下说明文档:
申请加入白名单:
开通低代码平台:
【3、实战案例】
下面通过实现一个加载列表数据的功能来具体看一下如何使用数据模型。
3.1、端侧UI布局
首先,我们在端侧通过拖拽式开发UI界面,这里实现一个List列表,然后ListItem中先是左右布局:左侧Image图片、右侧文本,然后右侧文本是上下布局,高度各占50%,整体UI布局效果如下:
3.2、云侧数据模型
首先登录AppGallery Connect控制台,然后选择对应的项目,找到左侧导航栏中的“低代码平台”--->“数据模型”,如下图所示:
点击新建数据模型,在弹出的对话框中填写相应信息:
点击开始创建,则成功新建该数据模型:
点击编辑,开始编辑该数据模型,为该数据模型添加需要的其它字段:
这里为该数据模型新建了序号、缩略图、标题、内容等字段,系统默认生成了创建时间、更新时间、所有人、创建人及修改人几个字段,并且还默认生成了一系列的增删改查的方法:
接着点击保存,完成数据模型的更新。
创建完成数据模型之后,需要给该数据模型添加数据,点击数据模型列表中的管理数据:
点击新建开始创建具体数据:
这里简单创建3条数据:
OK,通过以上步骤,云侧的数据模型及数据的添加就已经完成了。
3.3、端云绑定
端侧想要实现绑定云侧创建的数据模型,需要满足两个条件:
①、DevEco Studio需要登录开发者账号:
②、下载agconnect-services.json文件置于应用级根目录下:
OK,完成了以上步骤之后,就可以开始端云数据绑定的操作啦。
首先在右侧属性样式面板中切换到最下方PageData面板,点击Add Data,选择DataModel:
接着选择对应的数据模型,类型这里选择List:
然后选中ListItem组件,为其绑定数据。由于端侧UI需要实现的是一个List列表,所以这里绑定数据通过For来快速实现循环添加数据的能力:
然后依次为Image和右侧的两个Text组件绑定对应的数据字段:
到这里,就完成了端云的数据绑定啦!
3.4、效果展示
下面来看一下最终的实现效果吧:
参考文档:
https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-lowcode-overview-0000001548175386
【HarmonyOS】详解低代码端云一体化开发之数据模型的更多相关文章
- 深度学习之卷积神经网络(CNN)详解与代码实现(一)
卷积神经网络(CNN)详解与代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10430073.html 目 ...
- WebSocket安卓客户端实现详解(三)–服务端主动通知
WebSocket安卓客户端实现详解(三)–服务端主动通知 本篇依旧是接着上一篇继续扩展,还没看过之前博客的小伙伴,这里附上前几篇地址 WebSocket安卓客户端实现详解(一)–连接建立与重连 We ...
- 详解低延时高音质:丢包、抖动与 last mile 优化那些事儿
本篇是「详解低延时高音质系列」的第三篇技术分享.我们这次要将视角放大,从整个音频引擎链路的角度,来讲讲在时变的网络下,针对不同的应用场景,如何权衡音质和互动的实时性. 当我们在讨论实时互动场景下的低延 ...
- Python - 元组(tuple) 详解 及 代码
元组(tuple) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17290967 元组是存放任意元素集合,不能修 ...
- Python - 字典(dict) 详解 及 代码
字典(dict) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17291329 字典(dict)是表示映射的数据 ...
- C#的String.Split 分割字符串用法详解的代码
代码期间,把代码过程经常用的内容做个珍藏,下边代码是关于C#的String.Split 分割字符串用法详解的代码,应该对码农们有些用途. 1) public string[] Split(params ...
- laravel 框架配置404等异常页面的方法详解(代码示例)
本篇文章给大家带来的内容是关于laravel 框架配置404等异常页面的方法详解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在Laravel中所有的异常都由Handl ...
- Android java程序员必备技能,集合与数组中遍历元素,增强for循环的使用详解及代码
Android java程序员必备技能,集合与数组中遍历元素, 增强for循环的使用详解及代码 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 For ...
- 详解 HTTPS 移动端对称加密套件优
近几年,Google.Baidu.Facebook 等互联网巨头大力推行 HTTPS,国内外的大型互联网公司很多也都已启用全站 HTTPS. Google 也推出了针对移动端优化的新型加密套件 Cha ...
- 【转载】 深度学习之卷积神经网络(CNN)详解与代码实现(一)
原文地址: https://www.cnblogs.com/further-further-further/p/10430073.html ------------------------------ ...
随机推荐
- noopener, noreferrer 及 nofollow 的用法
<a> 标签通常会配合着使用 noopener, noreferrer 及 nofollow 这些属性, 它们的作用及用法如下. noopener 当给链接加上 target=" ...
- CTFSHOW-Reverse-刷题记录
re2 打开初步分析为32位程序,无壳,拖入IDA32分析 找到关键行47-50,分析得出各函数内部的基本作用如图所示 首先进入分析输入后的处理 可以很明显看出,是对输入的字符串进行处理后再操作,因此 ...
- 在Kubernetes上安装Netdata的方法
介绍 Netdata可用于监视kubernetes集群并显示有关集群的信息,包括节点内存使用率.CPU.网络等,简单的说,Netdata仪表板可让您全面了解Kubernetes集群,包括在每个节点上运 ...
- [ElasticSearch]#解决问题#修改Search Guard密码时 报错:ERR: Seems there is no Elasticsearch running on localhost:9300 - Will exit
问题复现 [root@es2 tools]# ps -ef | grep elasticsearch 9200 22693 1 1 09:31 ? 00:04:54 /usr/bin/java -Xm ...
- [GIT]辨析/区别: git reset HEAD 与 git reset --hard HEAD | 版本回撤
1 场景1: 撤销到远程仓库或本地仓库的最新最近一次的正式版本 1.1 文由 时常有这样一种场景,不小心改动了部分文件,或修改了部分文件却发现无用,此时可能还没有git push,也可能push了:又 ...
- 打造自己的ChatGPT:逐字打印的流式处理
接口的延迟 在调用OpenAI的接口时,不免会有很慢的感觉,抛去地理位置上的网络延迟,大量的延迟往往发生在响应生成的过程中. 因此,如果使用同步接口的话,需要等待响应完全生成之后才能最终显示输出结果, ...
- MySQL笔记之Checkpoint机制
CheckPoint是MySQL的WAL和Redolog的一个优化技术. 一.Checkpoint机制 CheckPoint做了什么事情?将缓存池中的脏页刷回磁盘. checkpoint定期将db b ...
- JS执行机制--同步与异步
单线程JavaScript语言具有单线程的特点,同一个时间只能做一件事情.这是因为JavaScript脚本语言是为了处理页面中用户的交互,以及操作DOM而诞生的.如果对某个DOM元素进行添加和删除,不 ...
- SqlServer查看表结构
SELECT CASE WHEN col.colorder = 1 THEN obj.name ELSE '' END AS 表名 ,CASE WHEN col.colorder=1 then isn ...
- FLV文件分析
很久没看,做下关于FLV文件格式知识点回顾! 一.简单介绍 FLV(Flash Video)是Adobe公司推出的一种媒体封装格式.一个FLV文件,每个Tag类型都属于一个流.也就是说一 ...