ゆるーく、エンジニアやってます

ゆるっとエンジニアやってます。Androidのお仕事中心。

【Android】Realmで画像を保存したい for Kotlin

最近、個人的にAndroidアプリをKotlinで作っています。

 

DBをどうしようかと考えた時にせっかくなので話題のRealmを使ってみようと思いまして、さっそく実装してみました。

 

さて、このアプリなのですが、

アプリの中で画像を端末から取得してDBに保存。

別の画面ではDBから取得した画像を表示。

 

という処理をさせたいのですが、SQLiteでこのような処理をさせたい場合にはDBの型をBlob型にしていたと思います。

 

しかし、RealmにはBlobがないのです。

あーどうしようと悩みに悩んで、別のSQliteのORMを使おうかとごにょごにょやったのですが、どれもイマイチだったりうまくビルドが通らなかったりで結局Realmに戻ってきちゃいました。

 

まー。

別にBlobがなくてもbyte[]があったんで、何も悩む必要はなかったんですけどね。

 

以下、私がどうやって画像を保存したかです。

 

 

Realmで画像保存 — Bitbucket

 

 

と、そんな感じでできました。

 

 

しかし、Realmだと、autoincrementができないんだそうで、

自前で今一番Idの大きいの+1とかしないといけないんでそこがちょっと不満です。

 

が、まぁmぁ今のところ快適に動いています。

 

まだMigrationの仕方がわかってないので、

もう少しいろいろ弄ったり調べたりする必要がありそうです。