
https://developer.android.com/training/data-storage/sqlite?hl=ja
なんか注意が書かれているので Room にする。公式で SQLite について調べてたらいた。
以前 Room を使っていて今回 SQLite そのまま使っていた。理由は Room 調べるのがめんどくさかったから。ただそれは無駄な抵抗だった。
そもそも前回 Room 使ったのもこれのせいだったのかもしれない。
Room はメインスレッドで使うと怒られるのでめんどくさくて、楽ができるそのままの SQLite 使えばええやんと思ってたけど、そのままの SQLite はきわめてローレベルらしいので Room を使う。
Room を使うにあたってまた Room そのものの使い方はもちろんのこと、 Coroutine の使い方も勉強しなおさないといけない。ディスパッチャーがどうとかエンティティつくるだとかいろいろしたような気がする。
唯一いいと思う点は テーブルの定義をしっかりできること。
SQLite ではそのまま文字列を流し込むだけで味気ないし想像力を働かせるのが大変なのでデータ構造とかを定義できるのはありがたい。ただそれ以外はめんどくさい。
てか Room 推奨するならパッケージ最初から入れとけ定期。
ちなみに Coroutine のバージョンによって特有のエラーもあった気がする。1.3.6 とかそのへん。
Coroutine 以外の方法あるなら今回はそっち使おうかな。
まじで SQLite まだ使ってる人みんな同じように苦しんでほしい。
祈っておきます。