Androidのsqliteで日時データを使うには
AndroidアプリでDate型のデータをsqliteに保存したいけど、sqliteはdateに対応する型を持ってない。
Androidアプリを作り始めたとき、普通の人はどうやってるんだろうってぐぐってみると、textで保存してるサンプルばかりが出てきたので、そうやって実装した。
が。
今になって気付いた。
longで保存すりゃいいやん。
テキストで保存すると、書き込みではSimpleDateFormat#format()を使って文字列化しなきゃいけないし、読み込みでもSimpleDateFormat#parse()でDateに変換する必要がある。けど、longならDate#getTime()とDate#setTime()でできるから、パフォーマンスもいいし例外のハンドリングもいらないし。
クエリのときに、日時の範囲指定もふつうにできる。
DAOをちゃちゃっと書き直そう。