mcpField
A
android-local-persistence-datastore

android-local-persistence-datastore

github.com/krutikjain开发1462 次安装31 周前更新
代码仓库

关于 android-local-persistence-datastore

面向 Android 开发的技能,指导使用 DataStore 持久化轻量级应用和用户偏好设置。内容涵盖类型化模型、迁移安全的默认值,以及离线和进程终止场景的验证。

主要功能

  1. 01持久化类型化偏好模型
  2. 02规划迁移安全的默认值
  3. 03替代 SharedPreferences 用法
  4. 04验证离线与重试行为
  5. 05避免呈现层依赖存储细节

适用场景

  1. 01保存提醒和筛选偏好
  2. 02迁移已有偏好键
  3. 03为轻量设置选择 DataStore
  4. 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.yaml
references/
official-links.md
patterns.md
scenarios.md
scripts/
run_examples.sh

详细介绍

Android 本地持久化 DataStore

适用场景

  • 当请求涉及以下内容时,使用此技能:Android DataStore 设置、在 Android 中替换 SharedPreferences、Android 类型化本地偏好设置。
  • 主要目标:使用 DataStore 持久化轻量级用户和应用偏好设置,并采用类型安全的模型和支持迁移的默认值。
  • 范围扩大时,交接给以下技能:
  • android-room-database
  • android-modernization-upgrade

工作流

  1. 确认涉及的数据源、持久化边界、同步模型和设备能力。
  2. 在接入网络、存储、媒体或后台 API 之前,明确建模契约。
  3. 使用推荐的 AndroidX 或平台模式,并采用支持迁移的默认值。
  4. 根据示例应用和场景验证离线、重试和进程终止后的行为。
  5. 必要时,将安全、性能或发布风险交由相关辅助技能处理。

防护措施

  • 优先使用类型化模型和显式序列化器,避免使用临时映射或 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