《仿盒马》app开发技术分享-- 升级端云一体化

PS:!!!!!!!!注意注意注意

如果你全部都按照教程配置完成,运行之后发现报错了,错误码是1008231001

这时候你需要进行如下操作:打开你的签名配置查看你是否进行了手动签名,如果没有请进行配置文件的创建

点击查看手动签名流程

开发准备

截至目前我们实现的功能有
首页:
商城基础框架、底部选项组件、抽离高频组件为公共组件、新人领券、金刚区、引流海报、活动入口、商品流这些模块,首页的静态展示模块基本已经完成,只需要完善后续的业务逻辑。

分类:

页面顶部的搜索,和搜索下方的分类导航列表的展示,导航栏列表的点击以及滚动效果,弹窗跟列表联动,分类的列表静态展示,左右侧列表的联动效果。

    有了上边这些静态页面,我们的仿盒马app也算是初具雏形,同学们的学习也算是正式进入了第一阶段了,有了这些页面的支撑,我们今天就要迈入第二阶段,集成华为开放能力云数据库能力。

那什么是云数据库?

云数据库是 Cloud Foundation Kit中的一种,我们的app只需运行所需的服务器和环境可以皆由云端平台提供,这时候我们只需关注应用的业务逻辑,而无需关心基础设施

我们在后续的开发中就可以基于统一的技术栈,高效、协同地完成端、云代码的调试、编译和部署,极大提高我们仿盒马app的构建效率。

他的优势有哪些?

低运维成本

安全可靠

端云一体化开发

这三点正是我们身为个人开发者或者鸿蒙学习者们所需要的,如果我们不集成云能力,那我们的app数据就只能保存在一部手机上,更换了手机,我们的数据将会不复存在。用了云能力之后,我们就可以像前后端交互那样,实时的感知数据变化。

实现

现在我们就开始针对我们的项目进行改造,首先我们创建一个新的工程,如下图:

cke_132792.png

next之后这一步就比较重要一定要注意!!!!

cke_173286.png

上图是我们老的项目,如何查看自己的bundle name

cke_145763.png

上图是我们创建的新项目

我们的bundle name 要跟我们不是云开发工程的一摸一样,这样我们才能完成迁移

然后就是我们在appgallery connect 创建应用一条龙,对着图片按部就班就好

cke_220784.png

cke_230411.png

cke_233449.png

cke_236425.png

cke_240671.png

cke_244219.png

cke_247924.png

接下来是我们要开启的服务,开启一些我们项目后续可能会使用到的就好

cke_288073.png

cke_293211.png

cke_297764.png

cke_303088.png

cke_307590.png

cke_312795.png

cke_317532.png

好了,到这一步我们就先停止,因为我们的项目开发还处于起步阶段,就不进行发布的一些操作了,接下来继续回到我们的项目创建,

cke_417646.png

在这里next之后,我们就要选择我们刚刚创建的项目了

cke_479296.png

可以看到里边有我的名字 和我刚才创建的app 我们就选择仿盒马,然后点击finish。现在我们就有了两个相同包名的工程,接下来我们直接上官方操作,如何把历史工程转换为端云一体化开发工程

cke_711978.png

cke_717686.png

如果想看的仔细一点,你可以去指南里根据图片自行搜索。

按图转换完成之后,我们的项目就变成了端云一体化项目。接下来我们来看如何开发云数据库,先看流程

cke_937112.png

cke_952940.png

我们直接定义一个obj1,然后按需修改里边的参数

cke_1012176.png

因为这里要创建一个用户相关的数据处理,所以就添加用户相关的参数

具体内容可以参考官方文档:点击查看

然后我们进行下一步,添加数据条目

cke_1192360.png

我们命名为d_obj1

cke_1235586.png

这个cloudDBZoneName 要注意,等会儿我们操作数据库就需要用到它。同时云端也会生成他对应名称的存储区,同时我们修改了两条模拟数据。可以看到我们插入了一些假的用户数据来使用

然后我们开始进行部署

cke_1557605.png

部署成功后会弹窗提示。

cke_1615116.png

部署成功后,DevEco Studio将自动从云侧下载云数据库的schema文件至“AppScope/resources/rawfile/schema.json”路径,该文件是云数据库端侧API必须引入的配置文件,看一下这个路径是否有对应的文件

然后

cke_1782424.png

cke_1803825.png

跳转到我们的对应页面之后我们可以看到

cke_1866883.png

我们的存储区,对象类型,还有我们插入的两条数据都已经生成好了

接下来我们还要进行关键的一步,生成Model Class

我们直接参考官方的做法

cke_2296950.png

然后我们选好路径next 就可以了

现在我们进入我们仿盒马app工程的 index页面进行测试。

async aboutToAppear(): Promise<void> {
  try {
    let databaseZone = cloudDatabase.zone('default');
    let condition = new cloudDatabase.DatabaseQuery(obj1);
    condition.equalTo('userName', '123');
    let listData = await databaseZone.query(condition);
    hilog.info(0x0000, 'testTag', `Succeeded in querying data, result: ${JSON.stringify(listData)}`);
  } catch (err) {
    hilog.error(0x0000, 'testTag', `Failed to query data, code: ${err.code}, message: ${err.message}`);
  }
}

可以看到我们在生命周期中直接开始操作云数据库进行数据查询,我们运行项目。查看log

cke_2485751.png

可以看到控制台已经打印出了我们想要的内容。到这里我们的项目改造就完成了,后续所有的操作都要以端云一体化为基础进行开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值