当前位置: 首页 > news >正文

HarmonyOS App开发——鸿蒙ArkTS端云一体化云数据库应用和实战

AGC云数据库创建

打开 AppGallery Connect 的云数据库页面,左侧为 HarmonyOS 应用及云开发菜单,中间介绍云数据库特性,点击 “立即开通” 按钮。

选择“中国”,点击确定。

在云数据库 for Object 页面,点击右侧蓝色 “新增” 按钮,可创建新对象类型,当前暂无数据,页面还支持导入、导出操作。

在新增对象类型页面,输入符合命名规则的对象类型名(如 test_data),点击右下角 “下一步”,进入字段配置环节。

在 AppGallery Connect 云数据库新增对象类型的字段配置页,配置 id(Integer,主键非空)、picName(String)、price(Double)等字段,还可新增字段。

在云数据库新增对象类型的字段配置环节,已添加uId(Integer 类型,设为主键且非空)、name(String 类型)、age(String 类型)字段,可根据实际业务需求点击 “+ 新增字段” 补充更多字段。完成字段定义后,点击右下角 “下一步”,进入索引配置步骤,用于测试数据库结构。

在新增对象类型的索引配置页,创建了名为 PicName 的索引,关联 picName 字段并设置升序(ASC)排序,完成后点击 “下一步” 进入数据权限配置。

在新增对象类型的数据权限页,为所有人、认证用户等角色配置了 query、upsert、delete 全权限,点击 “确定” 完成对象类型创建。

在云数据库 for Object 的对象类型列表页,已创建 PicInfo 对象类型,勾选目标类型后点击蓝色 “导出” 按钮,可导出该对象类型的配置信息。

在云数据库导出弹窗中,选择json 格式(支持界面导入导出),点击 “确定” 按钮,即可导出所选对象类型的配置文件。

在云数据库 for Object 的存储区页面,已有 QuickStartDemo 存储区,可点击右侧蓝色 “新增” 按钮创建新存储区,或对现有存储区执行删除操作。

鸿蒙端侧构建

在 DevEco Studio 创建项目的能力模板选择页,选中带云开发能力的[CloudDev]Empty Ability模板,点击 Next 进入后续创建流程。

在 DevEco Studio 项目配置页,填写项目名、与 AGC 平台一致的包名,设置保存路径与兼容 SDK,开启云开发后点击 Next。

在云开发资源关联页面,先登录验证账号,选择对应团队、包名(com.oylp.cs)及关联的 App 与项目,确认数据处理位置为中国(默认)后,点击右下角 “Finish” 按钮,完成项目与云开发资源的关联。

创建工程的代码如下。

在EntryAbility文件中,编写代码如下:

import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { window } from '@kit.ArkUI';
import { cloudCommon } from '@kit.CloudFoundationKit';
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET);
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
cloudCommon.init()
}

import { cloudDatabase } from '@kit.CloudFoundationKit';

class PicInfo extends cloudDatabase.DatabaseObject {
public id: number | undefined;
public picName: string | undefined;
public price: number | undefined;

public naturalbase_ClassName(): string {
return "PicInfo";
}
}

export { PicInfo };

import { cloudDatabase } from '@kit.CloudFoundationKit';
import { PicInfo } from '../model/PicInfo';

@Entry
@Component
struct Index {
@State content: string = '';
agcDataBase: cloudDatabase.DatabaseZone | undefined = undefined;

aboutToAppear() {
this.agcDataBase = cloudDatabase.zone('QuickStartDemo');
}

async insert() {

try {

let picInfo = new PicInfo();
picInfo.id = 3;
picInfo.picName = '普通价格';
picInfo.price = 100.0;
let record = await this.agcDataBase?.upsert(picInfo)
console.info(`Succeeded in upserting a picInfo , result: ` + JSON.stringify(record));
} catch (err) {
console.error(`Failed to upsert a picInfo , Code: ${err.code}, message: ${err.message}`);
}
}

build() {

Column({space:20})
{
Button("插入数据",{type:ButtonType.Normal}).onClick(()=>{

this.insert()

})


}.width("100%").height("100%").backgroundColor(0x226688)
}
}

手动签名发布

在 DevEco Studio 项目结构的签名配置页,填写包名并勾选 HarmonyOS 支持,配置密钥库文件、密码、别名等签名信息,点击 “OK” 完成签名设置。

在云数据库 for Object 的数据页,选择QuickStartDemo存储区与PicInfo对象类型,可查询、新增数据,也能对现有数据执行查看、修改或删除操作。

云数据库增删改查

实现页面效果如图所示。

import { cloudDatabase } from '@kit.CloudFoundationKit';
import { PicInfo } from '../model/PicInfo';

@Entry
@Component
struct Index {
@State content: string = '';

agcDataBase: cloudDatabase.DatabaseZone | undefined = undefined;
condition: cloudDatabase.DatabaseQuery<cloudDatabase.DatabaseObject> | undefined = undefined;
aboutToAppear() {
this.agcDataBase = cloudDatabase.zone('QuickStartDemo');
this.condition = new cloudDatabase.DatabaseQuery(PicInfo);
}

//插入一条数据
async insert() {

try {

let picInfo = new PicInfo();
picInfo.id = 1;
picInfo.picName = '中级价格';
picInfo.price = 200.0;
let record = await this.agcDataBase?.upsert(picInfo)
console.info(`Succeeded in upserting a picInfo , result: ` + JSON.stringify(record));
} catch (err) {
console.error(`Failed to upsert a picInfo , Code: ${err.code}, message: ${err.message}`);
}
}

//查询所有数据
async queryAll() {
try {
let resultArray = await this.agcDataBase?.query(this.condition)
console.info(`Succeeded in querying , result: ` + JSON.stringify(resultArray));
} catch (err) {
console.error(`Failed to query , Code: ${err.code}, message: ${err.message}`);
}
}

//删除一条数据
async delete() {
try {
let picInfo = new PicInfo();
picInfo.id = 1;
let deleteNum = await this.agcDataBase?.delete(picInfo);
console.info(`Succeeded in deleting , result: ` + JSON.stringify(deleteNum));
} catch (err) {
console.error(`Failed to delete , Code: ${err.code}, message: ${err.message}`);
}
}

build() {

Column({space:20})
{
Button("插入数据",{type:ButtonType.Normal}).onClick(()=>{

this.insert()

})

Button("查询所有数据",{type:ButtonType.Normal}).onClick(()=>{

this.queryAll()

})

Button("删除数据",{type:ButtonType.Normal}).onClick(()=>{

this.delete()

})


}.width("100%").height("100%")
}
}

鸿蒙的端云一体化云数据库(Cloud DB)是为 ArkTS 应用打造的分布式数据管理解决方案,核心是实现 “端侧数据” 与 “云侧数据” 的无缝同步、统一管理,开发者无需关注底层通信和同步逻辑,只需通过统一的 API 操作数据,即可实现 , 通过这套体系,你可以快速为 ArkTS 应用搭建稳定的端云一体化数据管理能力,无需关注底层通信和云服务开发,聚焦业务逻辑即可 。

http://www.jsqmd.com/news/528084/

相关文章:

  • 【Python基础入门】第五课 : 函数进阶、作用域、参数详解与Lambda表达式
  • TC397 freeRTOS多核工程包:支持CAN、TCP/IP及SPI通信,6核同步调度运行...
  • 2026年光刻胶冷库厂家推荐:无锡凌洋新能源设备,半导体防爆冷库/电解液冷库/电子芯片冷库厂家精选 - 品牌推荐官
  • 市面上 AI SEO 工具测评(2026):如何选择最适合你的方案?
  • 选购旧房翻新改造服务,昆明哪家口碑好又专业 - 工业品牌热点
  • OpCore Simplify:实现OpenCore EFI配置自动化的3个核心步骤
  • AI写测试代码真的靠谱吗?揭秘字节/阿里内部正在用的Python智能用例生成框架,附可运行GitHub仓库
  • Imatest 3.7 工具下载
  • JAVA剪辑接单报价比价系统源码支持小程序+公众号+H5
  • 支付宝立减金回收如何找到正规回收平台,回收步骤解析 - 京回收小程序
  • 品创共振科技联系方式:关于其全网获客服务的客观评估与通用联系方式 - 品牌推荐
  • 3分钟掌握FigmaCN:让设计师效率提升40%的中文界面解决方案
  • 2026年上海靠谱的墓地陵园服务排名:墓地陵园服务找哪家 - 工业品网
  • 2026年文旅酒店投资怎么选?拆解成都一家酒店如何通过多业态融合实现旺季日营业额破8万 - 速递信息
  • OpenClaw 视频会议应用指南:从会议纪要到自动待办
  • 2026北京茅台酒回收全指南:三大靠谱渠道深度解析 - 资讯焦点
  • 2026反应釜厂家趋势:三大核心变革重塑格局 - 速递信息
  • 柔性防火包裹高性价比优质厂商推荐 - 资讯焦点
  • 飞书机器人集成实战:OpenClaw调用Qwen3.5-4B-Claude处理工单
  • Python入门第2章:变量和简单的数据类型
  • 2026铝镁质保温板行业深度评测报告 - 资讯焦点
  • 记一次SQL注入流量分析 | 添柴不加火
  • 长城汽车消息总线全面升级,基于 RocketMQ Serverless 实现跨云双活容灾
  • 2026年实测!卫康沃伦勒夫时尚运动手环体验如何?目前卫康沃伦勒夫生产厂家沃伦勒夫显著提升服务 - 品牌推荐师
  • 2026年重庆口碑好的GEO优化服务公司推荐,细聊GEO优化对网站流量的好处 - mypinpai
  • Llama-3.2V-11B-cot 数据预处理教程:图像格式、尺寸与标准化操作
  • 北京地区老酒名酒回收避坑指南:亲测的三大五星回收行深度体验 - 资讯焦点
  • 手头闲置分期乐京东e卡套装怎么处理?这份零门槛换现金指南请收好 - 猎卡回收公众号
  • C语言log10:解析指针与内存管理(上)
  • 聊天总接不上话?这5个技巧让你秒变社交达人!