mcpField
A
android-local-persistence-datastore

android-local-persistence-datastore

github.com/krutikjain開発1462 回インストール31 週間前に更新
リポジトリ

android-local-persistence-datastore について

DataStore で軽量なアプリ設定やユーザー設定を永続化する Android 開発スキルです。型付きモデル、安全な初期値、移行計画に加え、オフラインやプロセス終了時の動作検証を扱います。

主な機能

  1. 01型付き設定モデルの永続化
  2. 02移行に配慮した初期値の計画
  3. 03SharedPreferences の用途の置き換え
  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. 必要に応じて、セキュリティ、パフォーマンス、リリースのリスクを関連する支援スキルに引き継ぎます。

ガードレール

  • アドホックなマップやバンドルよりも、型付きモデルと明示的なシリアライザーを優先します。
  • バックグラウンド処理は冪等にし、キャンセルに対応できるようにします。
  • ストレージ、メディア、ネットワークの詳細をプレゼンテーションコードに漏らさないようにします。
  • ユーザーデータの耐久性、プライバシー、移行経路を実装の一部として扱います。

アンチパターン

  • ディスクやネットワークの呼び出しでメインスレッドをブロックすること。
  • 再試行可能な同期の失敗を、ユーザー向けの最終エラーとして扱うこと。
  • マッピングレイヤーを設けずに、キャッシュモデルとワイヤーモデルを混在させること。
  • より限定的な 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 の領域に対応しています。
  • 関連するサンプルコマンドとベンチマーク用プロンプトを実行または更新しています。
  • リクエストが境界をまたぐ場合、隣接するスキルへの引き継ぎを文書化しています。
  • 選択したパターンと、主な移行またはトラブルシューティングの手順を公式リファレンスで確認しています。

公式リファレンス

コメント