【关键字】

元服务、低代码平台、端云一体化开发、数据模型、拖拽式UI

【1、写在前面】

上一篇中分享了关于低代码平台开发元服务的基本使用,有兴趣的可以看一下,文章地址如下:

https://developer.huawei.com/consumer/cn/forum/topic/0201120502584194043?fid=0101591351254000314

但是在上一篇中我们的数据都是在端侧配置的,这种方式肯定是无法满足我们的实际需求的,所以本篇将会使用一种全新的方式来为端侧应用接入数据——低代码平台数据模型。

【2、开通低代码平台】

数据模型是在AppGallery Connect控制台中创建的一种云侧的数据资源,在端侧绑定已经创建好的需要的数据模型,就可以实现端侧调用云侧数据展示的效果。

如果你想要使用云侧数据模型的能力,需要先申请加入白名单,在白名单通过之后还要在AppGallery Connect中开通低代码平台,完成以上两步之后才可以愉快的使用数据模型的能力,关于这两步操作的详细步骤可以参考以下说明文档:

申请加入白名单:

https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-lowcode-applywhitelist-0000001598720405

开通低代码平台:

https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-lowcode-enableservice-0000001598935085

【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-help-harmonyos-introduction-0000001172299745

https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-lowcode-overview-0000001548175386

【HarmonyOS】详解低代码端云一体化开发之数据模型的更多相关文章

  1. 深度学习之卷积神经网络(CNN)详解与代码实现(一)

    卷积神经网络(CNN)详解与代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10430073.html 目 ...

  2. WebSocket安卓客户端实现详解(三)–服务端主动通知

    WebSocket安卓客户端实现详解(三)–服务端主动通知 本篇依旧是接着上一篇继续扩展,还没看过之前博客的小伙伴,这里附上前几篇地址 WebSocket安卓客户端实现详解(一)–连接建立与重连 We ...

  3. 详解低延时高音质:丢包、抖动与 last mile 优化那些事儿

    本篇是「详解低延时高音质系列」的第三篇技术分享.我们这次要将视角放大,从整个音频引擎链路的角度,来讲讲在时变的网络下,针对不同的应用场景,如何权衡音质和互动的实时性. 当我们在讨论实时互动场景下的低延 ...

  4. Python - 元组(tuple) 详解 及 代码

    元组(tuple) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17290967 元组是存放任意元素集合,不能修 ...

  5. Python - 字典(dict) 详解 及 代码

    字典(dict) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17291329 字典(dict)是表示映射的数据 ...

  6. C#的String.Split 分割字符串用法详解的代码

    代码期间,把代码过程经常用的内容做个珍藏,下边代码是关于C#的String.Split 分割字符串用法详解的代码,应该对码农们有些用途. 1) public string[] Split(params ...

  7. laravel 框架配置404等异常页面的方法详解(代码示例)

    本篇文章给大家带来的内容是关于laravel 框架配置404等异常页面的方法详解(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在Laravel中所有的异常都由Handl ...

  8. Android java程序员必备技能,集合与数组中遍历元素,增强for循环的使用详解及代码

    Android java程序员必备技能,集合与数组中遍历元素, 增强for循环的使用详解及代码 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 For ...

  9. 详解 HTTPS 移动端对称加密套件优

    近几年,Google.Baidu.Facebook 等互联网巨头大力推行 HTTPS,国内外的大型互联网公司很多也都已启用全站 HTTPS. Google 也推出了针对移动端优化的新型加密套件 Cha ...

  10. 【转载】 深度学习之卷积神经网络(CNN)详解与代码实现(一)

    原文地址: https://www.cnblogs.com/further-further-further/p/10430073.html ------------------------------ ...

随机推荐

  1. 《程序是怎样跑起来的》读书笔记1——对程序员来说CPU是什么

    一丶什么是程序 程序是指令和数组的组合体,如:print("你好世界"),其中print是指令,你好世界是数据. CPU能直接识别和执行的只有机器语言,使用C,java这种高级语言 ...

  2. MySQL 8.0:无锁可扩展的 WAL 设计

    这篇文章整理自MySQL官方文档,介绍了8.0在预写式日志上实现上的修改,观点总结如下: 在8.0以前,为了保证flush list的顺序,redo log buffer写入过程需要加锁,无法实现并行 ...

  3. arc076f F - Exhausted?

    ARC076 F - Exhausted? [题目大意] \(有m个座位,分别位于坐标为1,2,3,...,m的地方:n个客人,第i位客人只坐位于[0,li]∪[ri,m]的座位.每个座位只能坐一个人 ...

  4. golang常用库包:log日志记录-uber的Go日志库zap使用详解

    Go 日志记录库:uber-go 的日志操作库 zap 使用 一.简介 zap 是 uber 开源的一个高性能,结构化,分级记录的日志记录包. go1.20.2 zap v1.24.0 zap的特性 ...

  5. CI框架调用第三方类库

    public function index() { //调用第三方类库 /* * 注意事项: * library 里面调用的名字首字母必须是 大写 * 使用它的方法时 使用小写 */ $this-&g ...

  6. 【D02】Bootstrap免费精选模板推荐,附上Django中使用模板教程

    前端模板 - Anchor UI KIT 前言 今天介绍一款制作精良.开源.免费的 Bootstrap 模板 -- Anchor UI KIT 该模板使用的是Bootstrap v4版本 本文将介绍如 ...

  7. 部署prometheus、grafana、alertmanager

    简介:由于资源有限,本实验用了两台机器 监控端:部署prometheus.grafana.alertmanager 被监控端:node_exporter.mysqld_exporter 一. 部署pr ...

  8. Natasha V5.2.2.1 稳定版正式发布.

    DotNetCore.Natasha.CSharp v5.2.2.1 使用 NMS Template 接管 CI 的部分功能. 取消 SourceLink.GitHub 的继承性. 优化几处内存占用问 ...

  9. Llinux系统(Centos/Ubuntu/Debian)弹性云系统盘扩容方法

    警告: 1.调整过分区管理方式的,例如lvm管理方式,请忽略此教程. 2.ubuntu18系统暂不支持脚本扩容,请手动扩容,参看下面ubuntu18部分,用parted操作 脚本自动处理(推荐) SS ...

  10. springMVC中注解

    其中常见注解: 1.@RequestMapping:用于请求url路径,可用于类和方法上,用于类上,则表示类中所有响应请求的方法都是以该路径作为父路径. 2.@RequestBody:注解实现接收 h ...