登录社区云,与社区用户共同成长
邀请您加入社区
本文以折叠屏阅读场景为背景,探讨布局变化下阅读进度的精准恢复问题。通过工程实例ReadAtlas,提出以稳定ID(如S-04)替代像素偏移记录阅读锚点,避免因换行差异导致定位错误。设计中区分宽度变化、滚动与恢复三类状态,利用延时回调与任务票据机制确保重排后仅一次恢复,防止状态循环。强调列表容器应统一管理位置语义,避免组件分裂。最终实现窄屏到宽屏切换时,用户能准确回到原阅读章节,提升跨屏体验一致性。
本文揭示任务看板中“数据顺序”“屏幕顺序”与“选中对象”混同导致的错位问题,以RankBoard为例,强调应将视觉排序(GridCol.order)与业务逻辑分离。通过稳定任务ID作为点击依据、模型层预排序、断点变化仅影响布局不改状态,实现可追踪的语义一致性。核心原则:按对象身份验收,而非卡片位置;避免用视觉顺序误导业务逻辑,提升可维护性与无障碍体验。
本文以笔记共享Demo为例,剖析HarmonyOS跨应用数据共享的正确实践。核心观点:DataShare非数据库暴露,而是通过明确URI与受控接口实现安全数据交换。强调先设计URI、在提供方做权限与字段校验、访问方封装Helper、最小化返回字段、严格校验写入操作,并借助日志与可视化页面追踪访问链与变更通知,避免轮询。关键在于将数据共享收口为边界层,确保安全可控。
本文介绍了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在结构化数