今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

Androidのsqliteで日時データを使うには

AndroidアプリでDate型のデータをsqliteに保存したいけど、sqliteはdateに対応する型を持ってない。
Androidアプリを作り始めたとき、普通の人はどうやってるんだろうってぐぐってみると、textで保存してるサンプルばかりが出てきたので、そうやって実装した。
が。

今になって気付いた。

longで保存すりゃいいやん。

テキストで保存すると、書き込みではSimpleDateFormat#format()を使って文字列化しなきゃいけないし、読み込みでもSimpleDateFormat#parse()でDateに変換する必要がある。けど、longならDate#getTime()とDate#setTime()でできるから、パフォーマンスもいいし例外のハンドリングもいらないし。

クエリのときに、日時の範囲指定もふつうにできる。

DAOをちゃちゃっと書き直そう。