今回は、SQLiteを使って作業時間をデータベースに保存します。

SQLite(えすきゅーらいと)・・・アプリケーションに組み込んで利用する計量のデータベース。

以前に電話帳のアプリ作ったときにSQLite自体は扱ったのですが、
ちゃんと理解してなかったのと、正直あまり覚えてないので復習します。

主な特徴
  • RDBMSと異なりサーバ型ではないため、ログインIDやパスワードなど不要
  • プレリファレンス(※1)と同様にファイルでデータベースを管理しているため、バックアップが容易
※1 Android端末の内部の記憶媒体にMapのようにキーと値という組み合わせで、
XMLファイルとしてデータを保存する仕組み


保存されるディレクトリとファイル名
  • ディレクトリ:/data/data/<パッケージ名>/databases
  • ファイル名:アプリケーションで指定した名前

まずSQLiteOpenHelperが抽象クラスなので、継承したクラスを用意する。



作ったヘルパークラスをActivityのonCreateでインスタンス化して、
データベースをオープンする。




【ON/OFFの操作合わせて6回】

d17dde36.png


【まずディレクトリを端末側のTerminalアプリで確認】

1b1aa8a1.png

ちゃんと格納されているようだ。
サイズは5120バイトか。
※ちなみにターミナルでこのディレクトリを参照するにはroot化が必要です。


でも、eclipseなら参照できます。
あとデータベースファイルをダウンロードすることはできます。

【eclipseのDDMSでのファイルエクスプローラー】

513e3066.png


【ダウンロードしたファイルをSQLiteのViewerで確認】

67ee6ecc.png

1ab1f9dc.png


ばっちりINSERTされてますね。
以前よりしっかりAndroidでのSQLiteの扱いを理解できた気がする。
ツールも便利だし。
しかし、そもそもなSQLiteについて学んでおく必要もあると気づいた。


後は、このテーブルの内容を参照する画面を作る感じで、
機能的な完成は見えてきた。
レイアウトやデザイン面、システム設定などまだまだ課題は多いが・・・