もう迷わない!Android StudioでSQLiteデータベースを徹底解説:閲覧・操作・サンプルコード
Android Studioでデバイス上のSQLiteデータベースを閲覧する方法
方法1:App Inspectionを使う
App Inspectionは、Android Studio 4.1以降に搭載されたツールで、データベースの閲覧以外にも、ネットワークトラフィックやUIの操作などを確認することができます。
- Android Studioで、検査したいアプリをデバッグモードで実行します。
- 「表示」メニューから「ツールウィンドウ」>「App Inspection」を選択します。
- 左側のペインで「データベース」を選択します。
- 閲覧したいデータベースを選択します。
- 右側のペインで、テーブル、ビュー、クエリ履歴などを操作できます。
方法2:Device File Explorerを使う
Device File Explorerは、Androidデバイスのファイルシステムを閲覧するためのツールです。このツールを使って、SQLiteデータベースファイルをPCにコピーし、データベース閲覧ツールで開くことができます。
- Android Studioで、検査したいアプリが実行されているデバイスを選択します。
- 「表示」メニューから「ツールウィンドウ」>「Device File Explorer」を選択します。
- デバイスのストレージにあるデータベースファイルをPCにコピーします。
- SQLiteデータベース閲覧ツールで、コピーしたデータベースファイルを開きます。
- データベース閲覧ツールの例としては、SQLite BrowserやDB Browser for SQLiteなどがあります。
- 上記の方法で閲覧できるのは、デバッグモードで実行しているアプリのデータベースだけです。リリース版アプリのデータベースを閲覧することはできません。
SQLiteDatabase db = getWritableDatabase();
テーブルを作成する
String sql = "CREATE TABLE IF NOT EXISTS user ( " +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"name TEXT, " +
"age INTEGER)";
db.execSQL(sql);
データを挿入する
ContentValues values = new ContentValues();
values.put("name", "John Doe");
values.put("age", 30);
db.insert("user", null, values);
String sql = "SELECT * FROM user";
Cursor cursor = db.rawQuery(sql, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(0);
String name = cursor.getString(1);
int age = cursor.getInt(2);
Log.d("TAG", "id: " + id + ", name: " + name + ", age: " + age);
}
cursor.close();
String sql = "UPDATE user SET age = 31 WHERE id = 1";
db.execSQL(sql);
String sql = "DELETE FROM user WHERE id = 1";
db.execSQL(sql);
データベースを閉じる
db.close();
説明
close()
メソッドは、データベースオブジェクトを閉じます。Cursor
オブジェクトは、クエリ結果を操作するために使用されます。rawQuery()
メソッドは、SQLクエリを実行して、Cursor
オブジェクトを取得します。ContentValues
オブジェクトは、挿入または更新するデータの値を格納するために使用されます。execSQL()
メソッドは、SQLクエリを実行します。getWritableDatabase()
メソッドは、データベースファイルを開き、読み書き可能なデータベースオブジェクトを取得します。
注意事項
- エラー処理やトランザクション処理などの実装は省略されています。
- このコードはあくまで基本的な例であり、実際のアプリケーションではより複雑な操作が必要になる場合があります。
ADB(Android Debug Bridge)コマンドを使って、デバイスからSQLiteデータベースファイルをPCにコピーし、データベース閲覧ツールで開くことができます。
adb pull /data/data/<app_package_name>/databases/<database_name> <path_to_save_file>
上記のコマンドを実行するには、以下の手順が必要です。
- スマートフォンをUSBデバッグモードでPCに接続します。
- ターミナルを開き、ADBがインストールされているディレクトリに移動します。
- 上記のコマンドを実行します。
例:
adb pull /data/data/com.example.app/databases/app.db C:\Users\<username>\app.db
このコマンドを実行すると、app.db
という名前のデータベースファイルが C:\Users\<username>
フォルダにコピーされます。
SQLiteエミュレータを使う
SQLiteエミュレータは、Androidデバイスをエミュレートし、SQLiteデータベースを閲覧できるツールです。代表的なSQLiteエミュレータとしては、SQLite StudioやDBeaverなどがあります。
これらのツールを使用するには、以下の手順が必要です。
- SQLiteエミュレータをインストールします。
- エミュレータを開き、新しいデータベース接続を作成します。
- デバイス上のSQLiteデータベースファイルを選択して開きます。
サードパーティ製のツールを使う
Android Studio以外にも、SQLiteデータベースを閲覧するためのサードパーティ製のツールがいくつかあります。代表的なツールとしては、StethoやAppetize.ioなどがあります。
android sqlite android-studio