質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

2736閲覧

RealmObjectでの日付の取り扱いをスマートにしたい

shal0ne

総合スコア51

Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2019/01/05 04:33

発生している問題・エラーメッセージ

RealmObjectに日時の参照をもたせたいです。
その際に取り扱いに優れたやり方をしたいのですが、うまいやり方が思いつきません。

該当のソースコード

とりあえずは

Kotlin

1open class Model(@PrimaryKey var name: String, var timeString: String = LocalDateTime.now().toString()) :RealmObject() { 2 val time: LocalDateTime 3 get() = LocalDateTime.parse(lastUseTimeString) 4}

とすることを考えたのですが、Stringのプロパティはメモリを食うらしく、あまり持たせたくありません。
String非推奨の勧め
そもそもソートできない時点でないですし、スマートではないです。

次に、Date型が使えるとのことだったので、

Kotlin

1import org.threeten.bp.ZonedDateTime 2 3open class Model(@PrimaryKey var name: String, @Ignore var zdt: ZonedDateTime = ZonedDateTime.now()) : RealmObject() { 4 val date: Date = Date.from(zdt.toInstant()) 5}

としてみましたが、threetenを使っていてDate.from()は使えないし、仮に頑張ったとしてもコードが複雑になりそう。

###恐れ多い要求
公式のドキュメントを読みましたが、全体像がわからないのでいざ利用しようとしても作業が全然進まないです。
もしJavaかKotlinのRealmについてのわかりやすい書籍をご存知であれば、ご紹介いただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

threetenを使っていてDate.from()は使えないし、

ThreeTenBPを使っているということであれば、 DateTimeUtils.toDate(...) で代用できると思います。

投稿2019/01/05 08:17

kakajika

総合スコア3131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shal0ne

2019/01/07 14:43

回答ありがとうございます。 シンプルにリサーチ不足でしたね、、、 大変助かりましたm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問