【Kotlin】Realm Java SDKを試してみた

先日、RealmのKotlin SDKを試してみた記事を投稿した。

【Kotlin】Realmをインストールして試してみた

Kotlin SDKはシンプルな書き方でとても良いのだが、1つ欠点を発見し悩むことになる。

そう、Date型が使えないのだ。

アップデートされれば使えるようになるかもしれないが、少なくとも現時点では使えない。

そこで詳しく調べてみると、Kotlin SDKとは別にJava SDKが存在することが分かった。

参考書やネットの情報だと、Java SDKの話をしていることが多く、むしろこっちが主流だったのね。

Java SDKと書かれているがKotlin対応もしているため、現時点では情報が多いJavaSDKを使った方がメリットは多いと思う。

インストール

プロジェクトレベルのGradleに以下を追記する。

アプリレベルのGradleに以下を追記する。

Syncして完了。

クラスの作成

オブジェクト用のクラスを作成する。

初期設定

コンフィグを設定する。

Applicationクラスを引き継いでいるので、マニフェストに記載しておけば、MainActivityよりも先に呼ばれる。

deleteRealmIfMigrationNeededは、クラス(DBのカラム)を変更したときに、DBの中身を削除する。

これを設定しておかないと、クラスを変更したときに、実行時エラーが発生してアプリが終了する。

allowWriteOnUIThreadは、UIスレッドで書き込みを許可する設定である。

別スレッド推奨なのだろうけど、今回はUIスレッドで書き込みをする。

書き込み

executeTransactionで書き込みをする。

検索

whereのfindAllを使って全検索をする。

クローズ

使い終わったらクローズする。