2026年のRoom TypeConverters: enum・日付・リストをスキーマを壊さずに保存する
AndroidのRoom TypeConvertersに関する実践ガイド — enum、Instant/LocalDate、そしてリスト — さらに、コンバーターを静かなデータ破損バグに変えてしまう間違いについて。
2026年のRoomデータベースインデックス:本当に遅いクエリを見つけて直す
AndroidでRoom/SQLiteデータベースにインデックスを張る実践ガイド — EXPLAIN QUERY PLANの読み方、勘に頼らない@Indexの追加、インデックスを静かに無効化してしまう間違い。
RoomのRelationで一対多データをN+1クエリなしに取得する
Roomの@Relationアノテーションの実践ガイド — カテゴリとエントリのような一対多データを、N+1クエリや手動のjoinなしでモデリングする。
Room の全文検索:2026 年、ローカルファーストな Android アプリに即時検索を追加する
Room の FTS4 サポートを実践的に解説 — 検索用の仮想テーブルを構築し、トリガーで同期を保ち、なぜ FTS5 には手動マイグレーションが必要なのか。
2026年、Roomデータベースを暗号化する: SQLCipher、Keystore、データを失わない移行
AndroidでRoom/SQLiteデータベースを保存時に暗号化するための実践ガイド — Keystoreによる鍵管理、一度きりの移行、そして実際のパフォーマンスコスト。
2026年のRoomデータベースマイグレーション: 1行もデータを失わずにスキーマ変更を出荷する
AndroidのRoomデータベースマイグレーションに関する実践ガイド — AutoMigration、手書きのMigrationオブジェクト、そしてユーザーがバグを見つける前にマイグレーションをテストする方法。
OldSchool の服薬カレンダーを作る: 服薬タップを信頼できる1日に変換する
月間の服薬カレンダーは1日ごとの単なる色付きドットに見える。その裏にあるイベントモデル、日次ステータスのルール、そして時間厳守率の計算をデバイス上で解説する。
Granynを作る: 銀行ログインなしの家計簿を、3つのテーブルで
Granynが銀行口座を一つも連携せずに、複数通貨での支出を追跡し、定期的な請求を検知する仕組み — その裏にあるRoomスキーマと、そこで生じるトレードオフ。
2026年のローカルファーストなAndroid: SQLite、Room、そしてユーザーデータを端末に残すこと
RoomとSQLiteでローカルファーストなAndroidアプリを作るための2026年版ガイド — スキーマ設計、マイグレーション、WAL、エクスポート、そして同期をいつ足すべきか(いつ足すべきでないか)。