Room PersistenceLibraryで作成されたデータベースの内容を表示する


98

AndroidStudioのRoomPersistence Libraryで作成されたデータベースのコンテンツを確認する簡単な方法はありますか?


6
easier wayどちらの方法と比較して?
Vladyslav Matviienko 2017年

1
DDMSやadbシェルを使用するような古いアプローチと比較して。DDMSは私のコンピューターをフリーズさせ、adbを使用するには多くの作業が必要です。最近Googleからリリースされたので、もっと簡単な方法があるはずだと思います
SpiralDev 2017年

12
ないアンドロイドスタジオで、これgithub.com/facebook/stethoは、あなたがあなたのアプリケーションなどのデータベース、でもsharedpreferencesを、見ることができ、そこからのFacebookが開発した最高のAndroidデバッグブリッジ、である
Moinkhan

回答:


47

方法1

Android-Debug-Databaseを使用でき、ブラウザーからデータをCRUDして、ブラウザーから設定データを表示できます。

方法2

ブラウザから使用したくなく、他のファイルをチェックする必要がある場合、データの変更をチェックする必要がある場合は、Genymotionエミュレータを使用してください。エミュレータをルート化する必要があります。エミュレータをルート化してみてください。https:/を参照してください。 /stackoverflow.com/a/44039429/2772552。大丈夫でない場合はお知らせください。


データベースファイルを表示することはできますが、データベースに作成されたテーブルを表示することはできません。私は両方の方法を試しました
Ravikiran 2018年

9
ついに私は一日の仕事の後に解決策を見つけました。「userdatabase」、「userdatabase-shm」、「userdatabase-wal」ファイルをエミュレーターからエクスポートし、「userdatabase」ファイルをsqliteビューアで開きます
Ravikiran 2018年

.dbが内部ディレクトリにある場合は、そこを表示することはできません。手動で.dbファイルを外部ストレージディレクトリにコピーすると、u
Htoo Aung Hlaing 2018

方法1で問題が発生し、他の非同期タスクで読み取り/書き込みの問題が発生していました。アプリがフリーズしました。
ジェフリー

89

古いAndroidStudioバージョンの場合:

Emulator -> Android Studio -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

それ以降のAndroidStudioバージョン(3.5以降):

View -> Tool Windows -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

1
操作は許可されていません
ジョナサン

2
@jonneyこのメソッドは、ルート化されたデバイスまたはエミュレーターでのみ機能します。
HiteshBisht19年

1
これは、Samsungデバイスを除いて、デバッグ可能なアプリがインストールされているルート化されていない電話でも機能するはずです
Gaket

1
これは受け入れられた答えであるはずです-ソフトウェアをダウンロードしたりデバイスをルート化したりせずにDBを取得する最も簡単な方法です。
thetealを超えて

1
JakubJabłoński@のAndroid Studioで開いたデバイスファイルエクスプローラより、エミュレータ上で、あなたのアプリを起動
kreker

66

android studio3.1。*で

ツールウィンドウバーで「Device File explorer」を。通常、これは画面の右下隅にあります。

でディレクトリを開く data/data/your-application-package/databases

新しいアーキテクチャでは、3つのファイルがデータベースディレクトリに作成されます

your-database-name
your-database-name-shm
your-database-name-wal

3つすべてを同じディレクトリにエクスポートする必要があります

次に、最初の1つのファイル(つまり、your-database-nameのみ)を任意のsqliteブラウザーで開きます。

そして今、あなたはあなたのすべてのデータを見ることができます......。

your-database-name-shm
your-database-name-wal

データベースファイルのみを開く場合は、dbファイルを開くために、これら2つの追加ファイルが必要です。そのファイルには、テーブルがありません。


「/ data / data / ...」パスがファイルシステムのどこにあるかを確認するにはどうすればよいですか?
Awais Hussain 2018

この回答の作成者は、実際には「デバイスファイルエクスプローラー」がどこにあるかを示しています。これにより、初心者の時間を節約できます。したがって、+ 1
Ilonpilaaja 2018

@AwaisHussain:使用context.getDatabasePath("your-db-name.db")
gMale 2018年

Shiftキーを2回押してどこでも検索し、AndroidStudioの右下隅から削除されている場合はデバイスファイルエクスプローラーと入力します。
COYG

私に答えてくれてありがとう
Amirhf

39

SQLite用のDBブラウザをダウンロードしてインストールする

AndroidStudioバージョン> = 3.0の場合:

次の方法でデバイスファイルエクスプローラーを開きます。

表示>ツールウィンドウ>デバイスファイルエクスプローラー

「デバイスファイルエクスプローラー」で、次の場所に移動します。

データ>データ> PACKAGE_NAME >データベース

ここで、PACKAGE_NAMEはパッケージの名前です(以下の例ではcom.edgedevstudio.sampleです)。

デバイスファイルエクスプローラー

データベースを右クリックして、[名前を付けて保存]を選択します。PCの好きな場所に保存してください。

SQLite用のDBブラウザを開き、[データベースを開く]をクリックしてデータベースを開きます。 ここに画像の説明を入力してください

上記の例の場合、あなたは「見つけなければならないtodolistの」NOT「todolistの-SHM」や「todolistの-WALを」

3つのデータベースファイル(db_name、db_name-shm、db_name-wal、db_name =データベースの名前)をエクスポートしないと、データベースを読み取ることができません。


これは私が探していたものです..まさに必要なものです!ありがとう@ EdgeDev
Kannan_SJD19年

19

個人的に私はAndroidデバッグデータベースを使用しています

Android Debug Databaseは、Androidアプリケーションのデータベースと共有設定をデバッグするための強力なライブラリです。

クイックスタート

これをアプリのbuild.gradleに追加します

debugImplementation 'com.amitshekhar.android:debug-db:1.0.4'

アプリケーションを起動するだけで、logcatに次のようなエントリが表示されます。

D/DebugDB: Open http://192.168.1.104:8080 in your browser

ここに画像の説明を入力してください


ここに画像の説明を入力してください


詳細については、githubリポジトリをご覧ください。


1
これは、デバイスをルート化する必要がないため、最良の方法です
Sunil

1
うわー!素晴らしいもの!ありがとう、相棒!!
バラクダ

10

2020年4月15日-簡単な方法として、次の手順に従います。

  1. SQLiteBrowserプログラムのダウンロードすべてのOS用のSQLiteをダウンロードします
  2. AndroidStudioの右下隅にある[デバイスエクスプローラー]をクリックします。
  3. あなたはたくさんのファイルを見るでしょう。心配しないでください!パスをたどる:data / data / {アプリパッケージ名}
  4. 「データベース」を右クリックして、コンピュータに名前を付けて保存します。
  5. SQLiteBrowserを開き、[データベースを開く]をクリックして、データベース名と同じ名前のファイルを選択します。
  6. ファイルを表示して、データベーステーブル名と同じ名前のファイルを選択できます。
  7. 最後のステップとして、「データベース構造」オプションの近くに「データの参照」オプションが表示されます。これを選択すると、データベースのデータが表示されます。

あなたはステップを見ることができて、下の画像の数字に従うだけです

あなたは画像のステップを見ることができます。

@canerkaseler


7

Stethoを使用します

としてAndroidプロジェクトに追加しますdependency

呼び出してStetho.initializeWithDefaults(this)、あなたの中にApplication、工具を点検クロムを使用してデータベースを表示します。ChromeのURLバーに次のように入力しますchrome://inspect

プレスト!あなたはあなたを見ることができますRoom database


3

私は次の手順でこれを行いました:

1)次のリンクからdbブラウザをダウンロードします。

https://sqlitebrowser.org/

2)IDEからデバイスファイルエクスプローラーに移動し、ここに画像の説明を入力するよう生成された3つのファイルをコピーし、3つのファイルすべてを選択します:your-db、your-db-shm、your-db-wal

ctrl + shift + sを押して、いくつかのフォルダーに貼り付けます。完了。

3)最後にDbBrowserアプリでyour-dbを開きます。


* -db、* -db-SHM、* -db-WAL:おかげで、すべての3つのファイルを選択する必要があります
XYZ

2

Android Studio 4.1 Canaryの最新リリースでは、AndroidStudioDatabaseInspectorと呼ばれる新しいツールを提供します

あなたはこれを使うことができます データベースインスペクター ツールを、データベースファイルとそのコンテンツを表示できます。また、データベースのコンテンツを編集することもできます。

ここに画像の説明を入力してください

使用している場合はRoom Persistence、実行する機能も提供します@Queryは、AndroidStudioで。@Query注釈の左側に実行ボタンが表示されます。

ここに画像の説明を入力してください

使用している場合はLiveData、データベースコンテンツの変更をライブで反映します。

ここに画像の説明を入力してください


1
You can see your database table on the DB Browser for SQLite & room DB.

 In android studio 
1. Click on View -> Tool Windows -> Device File Explorer -> data
2. Select your project package name -> database -> select all file and save on desktop

Install **DB browser for SQLITE** 
1. sudo apt-get install sqlitebrowser //write on your terminal for install DB browser
2. install DB browser for sqlite
3. click on Open database and select file where you had saved your data
4. click on Brower Data and see your tables

This is all where i have see my android room database

1

Android Studio 4.1 Canary 6以降では、新しいデータベースインスペクターを使用して、アプリのデータベースを検査、クエリ、変更できます。たとえば、データベースの値を変更し、デバイスでそれらの変更をテストすることで、実行中のアプリをデバッグできます。

https://developer.android.com/studio/preview/features#database-inspector


これが公式の答えになるはずです。
アミットシャルマ

0

最近、Sethto ByFacebookを試しました

Stethoは、Androidアプリケーション用の洗練されたデバッグブリッジです。有効にすると、開発者はChromeデスクトップブラウザの一部であるChromeデベロッパーツール機能にネイティブにアクセスできます

Gradleの依存関係を含めて、MainAppで呼び出す必要があります。それでおしまい。を使用すると、Chromeウィンドウのすべてのツールにアクセスできますchrome://inspect/sqliteデータベース含めることで、Chromeます。

以下は、エミュレーターのルームデータベースによって検査されたスクリーンショットです。これまでエミュレータで試しただけです。

ここに画像の説明を入力してください


0

上記のコメントのように、Device File ExplorarからDB(3ファイル)を取得した後

「DBBrowserforSQLite」を使用するような簡単なプログラムを本当にお勧めしますhttps://sqlitebrowser.org/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.