关于 android-local-persistence-datastore
面向 Android 开发的技能,指导使用 DataStore 持久化轻量级应用和用户偏好设置。内容涵盖类型化模型、迁移安全的默认值,以及离线和进程终止场景的验证。
主要功能
- 01持久化类型化偏好模型
- 02规划迁移安全的默认值
- 03替代 SharedPreferences 用法
- 04验证离线与重试行为
- 05避免呈现层依赖存储细节
适用场景
- 01保存提醒和筛选偏好
- 02迁移已有偏好键
- 03为轻量设置选择 DataStore
- 04检查进程终止后的持久化行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ krutikjain/ android-agent-skills --skill android-local-persistence-datastore安装后在 Claude Code 中输入/android-local-persistence-datastore确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/official-links.mdpatterns.mdscenarios.mdscripts/run_examples.sh详细介绍
Android 本地持久化 DataStore
适用场景
- 当请求涉及以下内容时,使用此技能:Android DataStore 设置、在 Android 中替换 SharedPreferences、Android 类型化本地偏好设置。
- 主要目标:使用 DataStore 持久化轻量级用户和应用偏好设置,并采用类型安全的模型和支持迁移的默认值。
- 范围扩大时,交接给以下技能:
android-room-databaseandroid-modernization-upgrade
工作流
- 确认涉及的数据源、持久化边界、同步模型和设备能力。
- 在接入网络、存储、媒体或后台 API 之前,明确建模契约。
- 使用推荐的 AndroidX 或平台模式,并采用支持迁移的默认值。
- 根据示例应用和场景验证离线、重试和进程终止后的行为。
- 必要时,将安全、性能或发布风险交由相关辅助技能处理。
防护措施
- 优先使用类型化模型和显式序列化器,避免使用临时映射或 Bundle。
- 确保后台工作具备幂等性,并能响应取消操作。
- 不要将存储、媒体或网络细节泄漏到呈现代码中。
- 将用户数据的持久性、隐私和迁移路径视为实现的一部分。
反模式
- 在主线程执行磁盘或网络调用,造成阻塞。
- 将可重试的同步失败视为面向用户的终止错误。
- 混用缓存模型和网络传输模型,却不设映射层。
- 在存在范围更小的 API 时,仍请求广泛的存储或通知权限。
示例
顺利场景
- 场景:为 OrbitTasks 安全存储提醒和筛选偏好设置。
- 命令:
cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest
边缘情况
- 场景:迁移旧偏好设置键,同时不破坏 XML 测试夹具。
- 命令:
cd examples/orbittasks-xml && ./gradlew :app:testDebugUnitTest
故障恢复
- 场景:避免将轻量级偏好设置存储请求与 Room 持久化工作混在一起。
- 命令:
python3 scripts/eval_triggers.py --skill android-local-persistence-datastore
完成检查清单
- 实现路径明确、精简,并与合适的 Android 接口相关联。
- 已运行或更新相关示例命令和基准测试提示词。
- 当请求跨越技能边界时,已记录向相邻技能的交接。
- 官方参考资料涵盖所选模式以及主要迁移或故障排查路径。
官方参考资料
评论
支持 Markdown