PS:!!!!!!!!注意注意注意
如果你全部都按照教程配置完成,运行之后发现报错了,错误码是1008231001
这时候你需要进行如下操作:打开你的签名配置查看你是否进行了手动签名,如果没有请进行配置文件的创建
开发准备
截至目前我们实现的功能有
首页:
商城基础框架、底部选项组件、抽离高频组件为公共组件、新人领券、金刚区、引流海报、活动入口、商品流这些模块,首页的静态展示模块基本已经完成,只需要完善后续的业务逻辑。
分类:
页面顶部的搜索,和搜索下方的分类导航列表的展示,导航栏列表的点击以及滚动效果,弹窗跟列表联动,分类的列表静态展示,左右侧列表的联动效果。
有了上边这些静态页面,我们的仿盒马app也算是初具雏形,同学们的学习也算是正式进入了第一阶段了,有了这些页面的支撑,我们今天就要迈入第二阶段,集成华为开放能力云数据库能力。
那什么是云数据库?
云数据库是 Cloud Foundation Kit中的一种,我们的app只需运行所需的服务器和环境可以皆由云端平台提供,这时候我们只需关注应用的业务逻辑,而无需关心基础设施
我们在后续的开发中就可以基于统一的技术栈,高效、协同地完成端、云代码的调试、编译和部署,极大提高我们仿盒马app的构建效率。
他的优势有哪些?
低运维成本
安全可靠
端云一体化开发
这三点正是我们身为个人开发者或者鸿蒙学习者们所需要的,如果我们不集成云能力,那我们的app数据就只能保存在一部手机上,更换了手机,我们的数据将会不复存在。用了云能力之后,我们就可以像前后端交互那样,实时的感知数据变化。
实现
现在我们就开始针对我们的项目进行改造,首先我们创建一个新的工程,如下图:
next之后这一步就比较重要一定要注意!!!!
上图是我们老的项目,如何查看自己的bundle name
上图是我们创建的新项目
我们的bundle name 要跟我们不是云开发工程的一摸一样,这样我们才能完成迁移
然后就是我们在appgallery connect 创建应用一条龙,对着图片按部就班就好
接下来是我们要开启的服务,开启一些我们项目后续可能会使用到的就好
好了,到这一步我们就先停止,因为我们的项目开发还处于起步阶段,就不进行发布的一些操作了,接下来继续回到我们的项目创建,
在这里next之后,我们就要选择我们刚刚创建的项目了
可以看到里边有我的名字 和我刚才创建的app 我们就选择仿盒马,然后点击finish。现在我们就有了两个相同包名的工程,接下来我们直接上官方操作,如何把历史工程转换为端云一体化开发工程
如果想看的仔细一点,你可以去指南里根据图片自行搜索。
按图转换完成之后,我们的项目就变成了端云一体化项目。接下来我们来看如何开发云数据库,先看流程
我们直接定义一个obj1,然后按需修改里边的参数
因为这里要创建一个用户相关的数据处理,所以就添加用户相关的参数
具体内容可以参考官方文档:点击查看
然后我们进行下一步,添加数据条目
我们命名为d_obj1
这个cloudDBZoneName 要注意,等会儿我们操作数据库就需要用到它。同时云端也会生成他对应名称的存储区,同时我们修改了两条模拟数据。可以看到我们插入了一些假的用户数据来使用
然后我们开始进行部署
部署成功后会弹窗提示。
部署成功后,DevEco Studio将自动从云侧下载云数据库的schema文件至“AppScope/resources/rawfile/schema.json”路径,该文件是云数据库端侧API必须引入的配置文件,看一下这个路径是否有对应的文件
然后
跳转到我们的对应页面之后我们可以看到
我们的存储区,对象类型,还有我们插入的两条数据都已经生成好了
接下来我们还要进行关键的一步,生成Model Class
我们直接参考官方的做法
然后我们选好路径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
可以看到控制台已经打印出了我们想要的内容。到这里我们的项目改造就完成了,后续所有的操作都要以端云一体化为基础进行开发。