android-local-persistence-datastore について
DataStore で軽量なアプリ設定やユーザー設定を永続化する Android 開発スキルです。型付きモデル、安全な初期値、移行計画に加え、オフラインやプロセス終了時の動作検証を扱います。
主な機能
- 01型付き設定モデルの永続化
- 02移行に配慮した初期値の計画
- 03SharedPreferences の用途の置き換え
- 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 またはプラットフォームのパターンを適用します。
- サンプルアプリとシナリオに照らし合わせて、オフライン時、再試行時、プロセス終了時の動作を検証します。
- 必要に応じて、セキュリティ、パフォーマンス、リリースのリスクを関連する支援スキルに引き継ぎます。
ガードレール
- アドホックなマップやバンドルよりも、型付きモデルと明示的なシリアライザーを優先します。
- バックグラウンド処理は冪等にし、キャンセルに対応できるようにします。
- ストレージ、メディア、ネットワークの詳細をプレゼンテーションコードに漏らさないようにします。
- ユーザーデータの耐久性、プライバシー、移行経路を実装の一部として扱います。
アンチパターン
- ディスクやネットワークの呼び出しでメインスレッドをブロックすること。
- 再試行可能な同期の失敗を、ユーザー向けの最終エラーとして扱うこと。
- マッピングレイヤーを設けずに、キャッシュモデルとワイヤーモデルを混在させること。
- より限定的な 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 対応