【Android】日付を扱う Java と SQLite の考え方を整理

スポンサードリンク

Android アプリ開発で、SQLite を使って日時を扱う時のポイント

  • SQLite には日時を扱う型が無い。
  • Android アプリでは 1970年1月1日 00:00:00.0 UTC からのミリ秒(Unix タイムのミリ秒)で日時を扱うことにする。
  • UNIX タイムのミリ秒を INTEGER 型で挿入することにより SQLite で日時を扱う。(たとえばの方法。他にも考えられる。)
  • Java で現在日時取得には、System.currentTimeMillis() を使用する。
  • Java の Date クラス、SimpleDateFormat クラスなどで日時を扱う。
  • 開発時にミリ秒の日時を得るのに便利なページ(「unix time」で検索して見つけた)
    → UNIXTIME相互変換ツール – konisimple

これがベストプラクティスかどうかはわかりません!今のところこれでアプリ制作が実現できている、という状態です。

大量のデータの挿入や検索時に問題が発生するかもしれません!けれども、ある程度綺麗に日時を扱えている感覚がございますのでメモしておきますわ♪

具体的な使い方

“【Android】日付を扱う Java と SQLite の考え方を整理”の続きを読む

【Android Studio】adb コマンドでアプリの DB を直接見る方法

エミュレーターの中に入って、adb コマンドでアプリ内の SQLite データベースの中身を直接見る方法

  1. Android SDK のディレクトリを調べる。
    Android Studio の上部メニュー File > Project Structure… の Android SDK location
  2. cd Android SDK のディレクトリ/platform-tools で移動
  3. ./adb shell でエミュレーターの中に入る。
  4. cd /data/data/com.example.project/databases でデータベースのある場所に移動。com.example はパッケージ名の逆、project はプロジェクト名。
  5. sqlite3 dbname.db でアプリ内の SQLite データベースに入る。dbname.db はアプリ製作者が決めた DB 名。ls で非レクトリを調べれば名前がわかる。

なお、エミュレーターから出るには、exit または control + d です。

SQLite にログインしてからよく打つコマンド

“【Android Studio】adb コマンドでアプリの DB を直接見る方法”の続きを読む


スポンサードリンク