登录社区云,与社区用户共同成长
邀请您加入社区
本文介绍了HmarkX(码笺)本地数据库模块的重构方案,旨在解决鸿蒙原生 `relationalStore` API 使用繁琐、代码冗余及资源管理分散的问题。该模块采用“单例管理器 + 语义化仓库”的分层架构:`DatabaseManager` 负责数据库的唯一连接与生命周期管理,确保资源高效复用;各业务表对应的 `Repository` 封装了具体的 SQL 细节,对外暴露基于 Model 对象
数据库无痛升级方案 核心思路是通过版本化管理和增量迁移实现平滑升级。关键点包括: 版本控制 - 使用版本号标记每个Schema变更,执行缺失的增量脚本 安全迁移 - 每个迁移脚本单独事务执行,失败自动回滚 兼容设计 - 新字段需带默认值/可空,新旧版本共享兼容Schema子集 防御编程 - 使用IF NOT EXISTS等幂等写法,列变更前检查存在性 智能升级 - 小表快速迁移主线程执行,大数据改
随着应用功能迭代,数据库表结构不可避免需要变更——新增字段、修改字段类型、拆分表结构等。如果直接修改表结构而不考虑数据兼容性,用户升级应用后将面临数据丢失或应用崩溃的风险。鸿蒙 RDB 提供了数据库版本管理和迁移机制,允许开发者在版本升级时执行有序的数据迁移。MoneyTrack 在从个人记账到家庭记账的演进过程中,通过合理的版本迁移策略实现了数据模型的无缝扩展。
2.1.1 鸿蒙系统的定义与特点。
使用示例
Preferences 是轻量键值存储,适合保存主题模式、字体大小、首次启动标记、功能开关、草稿状态等少量数据。很多鸿蒙应用一开始只是把页面状态放在内存里,功能跑通后才发现用户切后台、进程被回收、设备重启、应用升级都会让数据丢失。对于备忘录、记账、设备控制、阅读历史、登录偏好这类应用,持久化设计会直接影响用户体验。手机号、定位、身份证、支付信息、聊天内容都不是普通字符串。还要测旧版本数据升级、新版
摘要:ArkTS中的SwipeRefresher组件是实现鸿蒙应用下拉刷新功能的核心组件。该组件通过refreshing属性控制刷新状态显示,threshold设置触发阈值,color和backgroundColor自定义视觉效果。当用户下拉满足条件时触发onRefresh事件,开发者可在其中实现数据刷新逻辑。典型应用场景包括列表数据更新(如新闻列表)和数据仪表盘刷新,通过直观的下拉操作保持内容及
Reader Kit的阅读进度通知功能非常实用,只需要监听pageShow回调,就能实时保存阅读进度,让用户下次打开自动跳转到上次的位置。pageShow回调会在每页渲染完成时触发通过获取当前页的精确位置保存和用于恢复进度下次打开时读取进度并调用startPlay跳转记得调用flush()确保数据写入存储可以按书籍ID保存不同的进度有了这个功能,用户再也不用担心阅读进度丢失了,体验提升不止一个档次
关系型数据库适用于数据结构固定、需要复杂查询和事务处理的场景。本文介绍了关系型数据库的特点(数据完整性、事务处理、复杂查询能力、数据安全性)及其工作流程,包括三个核心对象(RdbPredicates、RdbStore、ResultSet)的使用方法。通过具体开发实践,展示了如何获取RdbStore实例、创建数据表、执行增删改查等操作。关系型数据库提供了完整的本地数据管理机制,支持SQL语句执行,能
本文基于鸿蒙初始化流程:先通过创建数据库连接,再执行初始化表结构;查询核心ResultSet需手动遍历和关闭,字段类型需与匹配;条件操作替代原生 SQL 条件,简化查询 / 修改 / 删除的条件构造;资源管理:ResultSet 必须关闭,数据库操作完成后按需释放RdbStore实例;最佳实践:封装工具类、使用事务、分页查询、添加索引,提升代码可维护性和性能。掌握的核心用法后,可轻松应对鸿蒙应用中
本文介绍了HarmonyOS的RelationalStore关系型数据库的使用方法。RelationalStore基于SQLite实现,具有SQL支持、事务管理、高效查询等优势,适合处理复杂数据。文章通过日记应用案例,详细演示了数据库配置初始化(包括创建表、索引)、数据模型定义以及CRUD操作实现(单条/批量插入)。相比Preferences和文件存储方案,RelationalStore在结构化数