コマンドによるSQLite操作

adb remount
adb shell
cd /data/data/パッケージ名/databases
sqlite3 xxx.db

・テーブル名一覧を表示

select name from sqliete_master where type=’table’ order by name;

AndroidのSQLiteを利用する

AndroidではDBMSとしてSQLiteがサポートされています。
今回はこのSQLiteについて書こうと思います。

1.SQLiteのデータ型

このSQLiteで利用できるデータ型はNULL、INTEGER、REAL、TEXT、BLOBだけのようです。DATEやVARCHARはサポートされていません。
また、FULL OUTER JOINをサポートしておらず、ビューへのINSERT、UPDATE、DELETEについてもできないようです。

2.データベースを利用するためのクラスとインターフェース

(1)SQLiteOpenHelperクラス(抽象クラス)

このクラスは、データベースの作成とスキーマのバージョン管理を行うためのものです。このクラスを利用する場合は、このSQLiteOpenHelperを継承した独自クラスを定義し、抽象メソッドであるonCreateメソッドとonUpgredeメソッドをオーバーライドする。
onCreateメッソドはデータベース生成時に呼び出され、onUpgredeメソッドはデータベースのバージョンが変更された際に呼び出されるメッソッドです。

(2)SQLiteDatebaseクラス

このクラスはSQLiteデータベースを操作するためのメソッドを提供しています。このクラスのメソッドを利用することで、SQL文やテーブルへのINSERT、UPDATE、DELETEが利用可能になります。

(3)ContentValuesクラス

このクラスは列名(キー)と値を1組にしてデータを保持するためのクラスです。(2)で紹介した「SQLiteDatebaseクラス」を利用する際に扱うデータとして利用します。

(4)Cursorインターフェース

このインターフェースは(2)の「SQLiteDatebaseクラス」のメソッドであるqueryメソッドから戻る検索結果カーソルインターフェースです。カーソルは検索結果の1レコードに対応しており、検索結果のカーソルを次のレコードに移動させたり、カーソルが示すレコードから値を取り出したりといった検索結果へのアクセス手段を提供しています。