Android Studioでデータベースファイルの内容を表示する


250

アプリのリリース以来、Android Studioを使用してアプリを開発しています。

最近まですべてがうまく機能していました。データベースファイルをチェックしながらデバッグする必要があります。データベースを直接表示する方法がわからないため、デバッグしてデータベースファイルを生成するときに、データベースファイルを携帯電話からPCにエクスポートする必要があります。

これを行うには、を開く必要がありますDDMS > File Explorer。DDMSを開くと、USBを再接続する必要があり、デバッグスレッドが失われます。データベースファイルを確認した後、DDMSを閉じてUSBを再接続し、デバッグモードに戻る必要があります。

複雑すぎます。Android Studioでこれを行うためのより良い方法は誰にもありますか(Eclipseで簡単です)?


回答:


302

Android Studioからのデータベースの表示:

編集:エミュレータでデータベースを表示するには、次の手順に従います(実際のデバイスの場合は、一番下までスクロールします)。

  1. SQLiteBrowserをダウンロードしてインストールします

  2. デバイスからPCにデータベースをコピーします。

    • Android Studioバージョン<3.0

      • DDMSを開くTools > Android > Android Device Monitor

      • 左側のデバイスクリックします
        アプリケーションが表示されます。 ここに画像の説明を入力してください

      • GO TO Explorerのファイルに移動し、(右側のタブのいずれかを)/data/data/databases ここに画像の説明を入力してください

      • クリックするだけでデータベースを選択します

      • Androidデバイスモニターウィンドウの右上に移動します。「デバイスからファイルプルする」ボタンをクリックします。 ここに画像の説明を入力してください

      • データベースファイルを保存する場所を尋ねるウィンドウが開きます。PCのどこにでも保存できます。

    • Android Studioバージョン> = 3.0

      • 経由でデバイスファイルエクスプローラーを開くView > Tool Windows > Device File Explorer

      • に移動しますdata > data > PACKAGE_NAME > database。ここで、PACKAGE_NAMEはパッケージの名前です(上記の例ではcom.Movieです)。

      • データベースを右クリックして、を選択しますSave As...。PCのどこにでも保存できます。

  3. 次に、インストールしたSQLiteBrowserを開きます。[ データベースを開く]をクリックし、データベースファイルを保存した場所に移動して、を開きます。これで、データベースの内容を表示できます。


モバイルデバイスでデータベースを表示するには:

この Githubリポジトリに移動し、readmeの指示に従って、デバイスでデータベースを表示できます。あなたが得るものはこのようなものです:

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

それでおしまい。ただし、アプリを公開する前にこれらの手順をすべて元に戻す必要があることは言うまでもありません。


2
sqlitebrowserツールのヒントは素晴らしいので、それは私にとって正しい答えです。ありがとう
マヌ・ジ

26
/ dataはデバイスモニターのファイルエクスプローラーで展開しません。/dataまたは/ data / dataディレクトリのエントリのリストを表示するには、superUserアクセス​​が必要であるため、アクセスできません。それでも、su特権でadbシェルを介してデータベースファイルにアクセスできます。ファイルマネージャーでsuアクセスを取得する方法はありますか?
Saravanabalagi Ramachandran 2015年

2
@ZekeDran、はい、この方法ではデバイスからではなくエミュレータからのデータのみが表示されます。ただし、デバイス上でデータベースを表示する手順を追加しました。編集内容を確認してください
Ojonugwa Jude Ochalifu

11
動作しますが、エミュレーターはAPI 23以下で実行する必要があります。API25を使用する場合、ファイルエクスプローラーにコンテンツがありません
Manos

2
あなたのGithubリンクのデータベースマネージャーが私のために働いています!また、クエリをテストする機会もあります!
basti12354 2017年

198

ADBシェル経由でSqlite3に接続する

Android Studioでそれを行う方法はまだ見つかりませんが、毎回ファイルをプルするのではなく、リモートシェルでdbにアクセスします。

ここですべての情報を見つけてください:http : //developer.android.com/tools/help/adb.html#sqlite

1-コマンドプロンプトでplatform-toolsフォルダーに移動します

2-コマンドadb devicesを入力して、デバイスのリストを取得します

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx   device

3-シェルをデバイスに接続します。

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell

4- dbファイルを含むフォルダーに移動します。

cd data/data/<your-package-name>/databases/

5- sqlite3を実行してdbに接続します。

sqlite3 <your-db-name>.db

6-好きなsqlite3コマンドを実行します:

Select * from table1 where ...;

注:以下で実行するその他のコマンドを見つけてください

SQLiteチートシート

SQLiteデータベースのテーブルを表示するには、いくつかの手順があります。

  1. データベース内のテーブルを一覧表示します。

    .tables
  2. テーブルがどのように見えるかをリストします。

    .schema tablename
  3. テーブル全体を印刷します。

    SELECT * FROM tablename;
  4. 利用可能なすべてのSQLiteプロンプトコマンドを一覧表示します。

    .help

17
ステップ4で許可が拒否されました。どう思いますか?
エイドリアン・オラー14年

4
avdをルートするか、ステップ3でルートとしてadbを開始する必要がある場合があります 'root adb -s emulator-xxxx shell'
Distwo

2
ステップ5:sqlite3が見つかりません。どうして?
sabsab 2015

3
使用するにはインストールする必要があるため
Paul Paca-Vaca Seleznev 2015年

12
私は個人的に、データベースフォルダーにアクセスしようとしたときに権限が拒否されました。run-as your.package.name
Yann39

83

私は実際に誰もこの解決策を提供していないことに非常に驚いています:

見てくださいStethoを

Stethoをさまざまな目的で数回使用しました(そのうちの1つはデータベース検査です)。実際のウェブサイトでは、ネットワークインスペクションやビュー階層全体を見るための機能についても説明しています。

必要な設定はわずかです。1つのGradle依存関係の追加(プロダクションビルドではコメントアウトできます)、Stethoをインスタンス化するための数行のコード、およびChromeブラウザ(すべてにChrome devtoolsを使用しているため)。

更新:Stethoを使用してRealmファイルを表示できるようになりました(SQLite DBの代わりにRealmを使用している場合):https : //github.com/uPhyca/stetho-realm

アップデート#2:Stethoを使用してCouchbaseドキュメントを表示できるようになりました:https : //github.com/RobotPajamas/Stetho-Couchbase

アップデート#3:Facebookは、新しいツールであるFlipperにすべてのStetho機能を追加することに注力しています。フリッパーはすでにステトが持っている多くの機能を持っています。したがって、今が切り替えを行う良いタイミングかもしれません。https://fbflipper.com/docs/stetho.html


9
どうもありがとうございます。あることがより簡単で、1 compile 'com.facebook.stetho:stetho:1.3.1' と2は、このコードを追加Stetho.initializeWithDefaults(this);し、3chrome://inspect/#devices
フランクMyat木

2
非常にシンプルで、サードパーティのツールを使用せずに、Chromeブラウザ内でデータベースのデータを表示できます。
Mateus Viccari 2017

クラスにいるStetho.initializeWithDefaults(this);ことを忘れないでくださいApplication
wonsuc 2018

1
素晴らしいツール。設定が正しく行われていれば、アプリは#devicesページに表示されます。「検査」をクリックしてから、「リソース」>「Web SQL」>「[db_name]」に移動すると、sqliteステートメントを記述できます。
ブラッド

73

エミュレータを使用しない場合の最も簡単な方法

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit
$ cp /data/data/your.package.name/databases/database_name /sdcard
$ run-as your.package.name # Optional
$ chmod 660 databases/database_name # Optional
$ chmod 660 databases # Optional
$ exit # Optional
$ exit
$ adb pull /sdcard/database_name

警告:

私はしばらくこれをテストしていません。API> = 25では機能しない可能性があります。cpコマンドが機能しない場合は、代わりに次のいずれかを試してください。

# Pick a writeable directory <dir> other than /sdcard
$ cp /data/data/your.package.name/databases/database_name <dir>

# Exit and pull from the terminal on your PC
$ exit
$ adb pull /data/data/your.package.name/databases/database_name

説明:

最初のブロックは、データベースの権限を読み取り可能に構成します。これrun-asにより、パッケージのユーザーになりすまして変更を加えることができます。

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit # Closes the shell started with run-as

次に、データベースを世界中の読み取り/書き込み可能なディレクトリにコピーします。これにより、adb pullユーザーアクセスが許可されます。

$ cp /data/data/your.package.name/databases/database_name /sdcard

次に、既存の読み取り/書き込み権限を置き換えます。これはアプリのセキュリティにとって重要ですが、特権は次のインストールで置き換えられます。

$ run-as your.package.name
$ chmod 660 databases/database_name 
$ chmod 660 databases
$ exit # Exit the shell started with run-as

最後に、データベースをローカルディスクにコピーします。

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name

4
2番目のコマンドであるrun-asで問題が発生します。「com.mycompany.myappname」は不明です。そして、はい、私は正しいパッケージ名を使用していることを確信しています!
Scott Biggs

1
@PhuLai別のデバイスを試しましたか?どのデバイスが故障していますか?
2016年

1
Nexus 6P、API 25を試してみました。この方法は新しいAndroidバージョンでは機能しないと思います。
foo

chmod 660 databases/database_name前にする必要がありますchmod 660 databases
Alaa M. 2016

@PhuLai-私もこれを取得し、cpコマンドをスキップしてpull外部から(権限を変更した後)実行したところ、動作しました(adb pull data/data/package.name/databases/db_name.db
Alaa M.

52

ではAndroidのメーカー3とあなたが見ることができる上記の「デバイスファイルエクスプローラ」のAndroidメーカーの右下にあるセクション。

それを開くと、ファイルツリーが表示され、このパスでアプリケーションデータベースを見つけることができます。

/data/data/{package_name}/databases/

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


2
アプリのDBファイルをダブルクリックすると、読み取り不可能な文字がすべて表示されます。DBの内容を見るためにどのSQLiteリーダーを使用していますか?
Surekha、2018

4
私はsqlitebrowser.orgを無料でオープンソースで、すべてのプラットフォームで利用できることをお勧めします。
Ali Zeynali

3
私のdatabase.dbファイルにはテーブルが含まれていません。
Binil

フォルダが空です。エラー:run-as: Could not set capabilities: Operation not permitted。サムスンデバイス:stackoverflow.com/questions/37413667/...
O-9

25

最後に、DDMSを開く必要がない最も簡単なソリューションを見つけました。

実際には、ソリューションは@Distwoの言及に基づいていますが、それほど複雑である必要はありません。

最初に、デバイス内のデータベースファイルのパスを覚えておいてください。同じパスがなくなるはずです。例えば私のものは:/data/data/com.XXX.module/databases/com.XXX.module.database

次に、データベースファイルをPCにプルするこのコマンドを実行します

 adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/

必要なのは、このコマンドをコピーして保存するだけで、何度でも使用できます。

3番目に、Permission Deniedまたはそのようなものを取得した場合はadb root、前のコマンドの前に実行します。


9
ランニングadb rootが私の電話で動作しません。プリントアウトしadbd cannot run as root in production buildsます。を実行した後adb root、pullコマンドがフリーズするため、手動で停止する必要があります。
LaDude、2014年

@Danielaは、run-as your.package.nameこれを試して、アプリに属する​​ユーザーとして「ログイン」する必要があります
m02ph3u5

上記のコマンドを使用して、.dbファイルをデスクトップにコピーし、SQLiteManagerブラウザープラグインをFirefoxにインストールして、閲覧を開始します。2分の仕事!
JaydeepW 2015年

そのrootコマンドはエミュレータ用でした。このコマンドを実行して「電話」をroot化することはできません。
ダーパン2015

1
すべてが完了し、database.dbを取得しました。file
ただし

16

このAndroid StudioプラグインSQLScoutを試してください。アプリデータベースをリアルタイムで表示および編集できます。

SQLScout

編集:有料のプラグインですが、24時間試用でき、頭痛の種に適しています。


17
それは有料の製品です、あなたは言及するのを忘れました。
yshahak 2016年

58
実際には24時間のトライアルがあります。開発者として24時間以上の将来を計画しました。
yshahak 2016年

残念ながら、無料ではありません。
K.Sopheak 16

試用時間はわずか36時間です。
Mahdi Moqadasi

9

すべてのソリューションを通過した後、私は提案します

Stethosを使用する
それがどのようにシンプル見ることができます

build.gradleファイルに次の依存関係を追加します

compile 'com.facebook.stetho:stetho:1.5.0'
compile 'com.facebook.stetho:stetho-js-rhino:1.4.2'

次に、あなたに行きますmainActivity onCreateメソッド次の行を追加します

Stetho.initializeWithDefaults(this);

これはあなたがする必要があります

import com.facebook.stetho.Stetho;

Android Studioからアプリを実行しているときに、Chromeを開き、アドレスバータイプで
chrome:// inspect /と入力します

[リソース]タブ> [Web SQL]で、データベースとテーブルを確認し、リアルタイムで簡単に再生します


部屋は単なるormであり、SQLに関しては同じように機能する何も変更されません
ShankPossible

9

最も簡単な方法は、Androidデバッグデータベースライブラリ(GitHubで7.3kスター)を使用することです。

Androidデバッグデータベース

利点:

  • 迅速な実装
  • すべてのデータベースと共有設定を見る
  • データベースの値を直接編集、削除、作成する
  • 指定されたデータベースでSQLiteクエリを実行します
  • データを検索する
  • データベースをダウンロード
  • カスタムデータベースファイルの追加
  • ルート権限を取得する必要はありません

使い方:

  1. 追加debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'しますbuild.gradle (module)
  2. アプリを起動します。
  3. ログ(LogCat)でデバッグリンクを見つけます(つまり、 D/DebugDB: Open http://192.168.232.2:8080 in your browser、リンクは異なります)、ブラウザーで開きます。
  4. 強力なデバッグツールをお楽しみください!

重要:

  • 残念ながらありません、エミュレータで動作し
  • USB経由で使用している場合は、 adb forward tcp:8080 tcp:8080
  • Androidスマートフォンとラップトップを同じネットワーク(WifiまたはLAN)に接続する必要があります

詳細については、GitHub のライブラリページにアクセスしてください


1
これは最善であり、痛みの少ないプロセスです。ダニエルありがとう
Sudip

4

Android Studioで作成されたSQLiteデータベースの保存場所を知るには、簡単な手順に従う必要があります。

1.Run your application
2.Go to Tools--->Android---->Device Monitor
3.Find your application name in left panel
4.Then click on File Explorer tab
5.Select data folder
6.Select data folder again and find your app or module name
7.Click on your  database name
8.On right-top window you have an option to pull file from device.
9.Click it and save it on your PC
10.Use FireFox Sqlite manager to attach it to your project.

詳細については、このリンクが役立ちます。 http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

dbファイルに存在するデータを表示するには、sqliteブラウザーをダウンロードするか、同じブラウザーのプラグインを追加して、ブラウザーでファイルを開いてデータを表示する必要があります。

http://sqlitebrowser.org/からブラウザをダウンロードします

これは、登録データベースを含むブラウザを示すスクリーンショットです

よろしくお願いいたします。


4

Android Studio内でデータベースコンテンツを表示するシンプルで簡単な方法。

#Android Studio 4.1 Canary 6以降の場合

非常にシンプルなAndroid Studioの機能であるDatabase Inspectorを使用できます。新しいデータベースインスペクターを使用してアプリのデータベースを検査、クエリ、変更できる場所。たとえば、データベースの値を変更し、デバイスでそれらの変更をリアルタイムでテストすることで、実行中のアプリをデバッグできます Android Studioを終了せずに

開始するには、APIレベル26以上を実行しているデバイスにアプリをデプロイし、 表示]> [ツールウィンドウ]> [データベースインスペクター]ますし、メニューバーから ]を選択します。

#ために Studio 4.0以下の場合

まず、Android StudioにDatabase Navigatorプラグインをインストールします

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

二番目、Android Studioを再起動します

3番目に、データベースを次のようなデフォルトの場所に保存します:(C:\ Users \ User Name \ Documents \ AndroidStudio \ DeviceExplorer \ emulator or device \ data \ data \ package name \ databases)

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

4つ目はデータベースナビゲーターで保存されたdbname_dbファイルを接続する

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

手順3で使用されているのと同じDBファイルパスを指定します

すなわち (C:\ Users \ User Name \ Documents \ AndroidStudio \ DeviceExplorer \ emulator or device \ data \ data \ package name \ databases \ package naem \ dbname_db)

最後に、DB接続をテストしてコンソールを開き、やりたいことをすべて実行します。

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

DBを更新する場合は、手順2を繰り返します。を保存するか更新してください。

ハッピーコーディング!!!!!


3
このソリューションは、毎日の仕事に多くの努力を必要とします。そして、データベースの変更ごとにSQLファイルをリロードする必要があります-少し複雑に見えます。私は、ローカルサーバー上のビューデータベースに能力を与えるいくつかのプラグインを使用することを好む
МаксимПетлюк

1
はい、そうです。データベースナビゲーターにリアルタイムのデータ更新がなくなるまでは、プラグインがすぐに更新されることを願っています。
Nabin、

正確には、それが大きな特徴だろう
МаксимПетлюк

はい、これまでは、データのクエリ、追加、編集、削除を行う必要がある場合、これが私にとって最良の方法です
Nabin

データベースを更新するために常に保存を行う必要がありますか?mysqlのように簡単な方法はありますか?必要なのは更新ボタンを押すことです。
ンドリューライアンア

3

最も簡単な方法は、デバイスを接続してAndroid Studioを実行してからツールバーから実行することです。

  1. 表示->ツールウィンドウ->デバイスファイルエクスプローラ
  2. data / dataに入り、パッケージを見つけます
  3. 調べたいDBファイルを見つけてダウンロードします
  4. このオンラインツールをお勧めします: dbファイルを探索するにはhttps://sqliteonline.com/

別の方法は、Stethoライブラリーを使用することです。

  1. build.gradleにStello依存関係を追加します。

    「com.facebook.stetho:stetho:1.5.0」をコンパイルします

  2. アプリケーションクラスまたはメインアクティビティのonCreate()に次の行を追加します。

    Stetho.initializeWithDefaults(this);

  3. デバイスを接続し、アプリを実行して、Chromeで次のサイトにアクセスします。

    chrome:// inspect /#devices

それだけです。これでテーブルを探索できます。

注:本番環境に移行する前に、依存関係を削除することをお勧めします。


2

ANDROID STUDIO内からデータベースを参照したい場合は、以下を使用しています。

ファイル/設定/プラグインに移動し、これを探します:

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

... Android Studioを再起動した後、次のようにダウンロードしたデータベースファイルを選択できます。 ここに画像の説明を入力してください

... [SQLコンソールを開く]アイコンをクリックすると、Android Studio内のデータベースが次のように表示されます。 ![ここに画像の説明を入力してください


2
だから私はいつもエミュレータからdbをコピーする必要がありますか?
Maksim Kniazev


1

これは非常に古い質問であり、私の答えは上記のいくつかの答えに似ていますが、はるかに速く行われました。以下のスクリプトはMac用ですが、誰かがWindows用に変更できると確信しています。

1)Macでスクリプトエディターを開きます(Spotlightでスクリプトエディターを検索できます)
2)以下のテキストをコピーして貼り付け、SDKパス、パッケージ名などで変更します(以下を参照)
3)スクリプトを保存します! !

それだけです!上部の再生ボタンを押すだけで、デスクトップにある更新されたデータベースファイルを取得できます。

以下のスクリプトの次のものを置き換えます。

path_to_my_sdk == >> sdkへのフルパスを
配置my_package_name == >>アプリケーションのパッケージ名
myDbName.db == >>データベースのファイル名

set getLocalDb to "path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases && path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases/myDbName.db && path_to_my_sdk/platform-tools/adb shell run-as my_package_name cp databases/myDbName.db /sdcard/myDbName.db && path_to_my_sdk/platform-tools/adb pull /sdcard/myDbName.db /Users/User/Desktop/myDbName.db"
do shell script getLocalDb

これが誰かを助けることを願っています。


それは私のために働いた。ただし、出力ディレクトリ/Users/User/Desktop/myDbName.dbで「ユーザー」をMacBookユーザー名に変更する必要があります
Kenny Dabiri

1

私は質問がかなり古いことを知っていますが、この問題はまだ存在していると思います。

ブラウザからデータベースを表示する

私は、Androidアプリプロジェクトにライブラリとして統合できる開発ツールを作成しました。このツールは、アプリのサーバーソケットを開き、Webブラウザーを介して通信します。データベース全体を参照し、ブラウザから直接データベースファイルをダウンロードできます。

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

統合はjitpack.ioを介して行うことができます:

プロジェクトbuild.gradle:

//...
allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
//...

アプリbuild.gradle:

//...
dependencies {
    //...
    debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
    //...
}
//...

セットアップアプリケーションクラス

特定のビルドタイプまたは製品フレーバーでのみDebugGhostLibをコンパイルするには、特別なフレーバーで派生する抽象Applicationクラスが必要です。次のクラスをmainフォルダー(java>の下your.app.package)に配置します。

public class AbstractDebugGhostExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Do your general application stuff
    }
}

ここで、リリースビルドタイプ(または製品のフレーバー)について、次のアプリケーションクラスをrelease(または製品のフレーバー)フォルダー(java>の下にも)に追加しますyour.app.package

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

これはしないアプリケーションクラスです DebugGhostLibを参照し。

あなたにも教えて AndroidManifest.xml、独自のアプリケーションクラスを使用しいること。これはあなたのmainフォルダで行われます:

<manifest package="demo.app.android.sanid.com.debugghostexample" xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- permissions go here -->
    <application android:name=".MyApp"> <!-- register your own application class -->
        <!-- your activities go here -->
    </application>
</manifest>

ここで、デバッグビルドタイプ(または製品のフレーバー)について、次のアプリケーションクラスをdebug(または製品のフレーバー)フォルダー(java >のyour.app.package

public class MyApp extends AbstractDebugGhostExampleApplication {
    private DebugGhostBridge mDebugGhostBridge;

    @Override
    public void onCreate() {
        super.onCreate();

        mDebugGhostBridge = new DebugGhostBridge(this, MyDatabaseHelper.DATABASE_NAME, MyDatabaseHelper.DATABASE_VERSION);
        mDebugGhostBridge.startDebugGhost();
    }
}

こちらからツールを入手できます


これは、Stethoが新しいChromeでの作業をやめた後の良いツールです
Homayoun Behzadian '23 / 10/23


1

Android Studioの下部にあるDevice File Exploreターミナルを開きます。

Dataという名前のフォルダを開き、Data内で再度Folder Dataを開きます。

フォルダデータを開きます

フォルダーのリストを下にスクロールして、your.package.nameのフォルダーを見つけます フォルダyour.package.name > Databaseを開きます。your.databaseNameを取得し ますyour.databaseNameを右クリックをし、C:/ your / Computer / Directoryに保存します。

C:/ your / Computer / Directoryに移動し、DB SQLiteでyour.databaseNameを開きます。

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


1

Android Studio 3.Xの場合

  1. 表示->ツールウィンドウ->デバイスファイルエクスプローラー
  2. ファイルエクスプローラーdata-> data-> com。(yourapplication package)-> databases
  3. データベースを右クリックして、ローカルマシンに保存します。SQLite Studioを使用するには、データベースファイルをドラッグするだけです。

SQLite Studioへのリンクは次のとおりです。https//sqlitestudio.pl/index.rvt?act = download


1

Android Studio 4.1 CanaryとDev previewのリリースにより、次の新しいツールを使用できます。

データベースインスペクター

DBインスペクター

AS 4.1+をインストールしてアプリを実行し、データベースインスペクターを開くと、データベースインスペクターパネルの左側にデータベースファイルが表示され、テーブルを選択してコンテンツを表示できます。

ライブクエリ

[ SQL実行 ]オプションを使用してクエリを実行するか、Roomを使用してデータベースインスペクタを開いてアプリを実行する場合は、@Queryアノテーションの左側にある[実行]ボタンをクリックして、インターフェースでDAOクエリを実行できます。

ライブクエリ


1

サーバー側データベースのようにAndroid SQLiteを使用する

以下の手順に従ってください。

  1. データベースツールウィンドウを見つけて、下の画像のようにクリックします

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

  1. プラスアイコンをクリックし、下の画像のようにAndroid SQLiteを選択します

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

  1. Androidデバイスをコンピューターに接続します

  2. 気になるパッケージを選択し、下の画像のようにデータベースを選択します ここに画像の説明を入力してください

  3. 上記のすべての手順を実行する前に、ファイル/data/data//database/databasefile.dbにアクセスするための適切な権限があることを確認する必要があります。

これらすべての手順が完了すると、データベースの内容が次のように表示されます。

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

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

最後に重要なことは

データベースデータが更新されるたびに、更新アイコンをクリックする必要があります。

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

これがあなたのための仕事であることを願っています!ありがとうございました !


0

これはあなたが探している答えではないかもしれませんが、電話からDBをダウンロードするためのより良い方法はありません。私が提案するのは、このmini-DDMSを使用していることを確認することです。プログラムの左下にある非常に小さなカモフラージュボックスをクリックしないと、非常に非表示になります。(それの上にカーソルを合わせようとすると、見逃す可能性があります。)

また、フィルターがないことを示すドロップダウン(右上)。文字通り、PPID、名前など、さまざまなプロセス/アプリを監視できるさまざまな方法があります。私は常にこれを電話の監視に使用してきましたが、120%のポジティブである必要があるタイプの開発作業はデータベースが通常とは異なることを行っていないことに注意してください。

それが役に立てば幸い

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


0

このプロセスのUNIXコマンドライン自動化をまとめて、コードをここに配置しました。

https://github.com/elliptic1/Android-Sqlite3-Monitor

これは、パッケージ名とデータベース名をパラメーターとして取り、接続されているAndroidデバイスからデータベースファイルをダウンロードし、ダウンロードしたファイルに対してカスタムスクリプトを実行するシェルスクリプトです。次に、 'watch'などのUNIXツールを使用すると、ターミナルウィンドウを開いて、データベーススクリプト出力の定期的に更新されるビューを表示できます。


0

私はWindows 7を使用していますが、私のデバイスはエミュレートされたAndroidデバイスAPI 23です。ルート化されていて、APIが23を超えていない限り、実際のデバイスでも同じだと思います

[ツール]-> [Android]-> [Androidデバイスモニター]に移動します。エクスプローラーに移動します。私の場合、それはdata / data // app_webview / databases / file_0 / 1にあります

「1」という名前のファイルの末尾に.dbを手動で追加する必要があります


0

他の回答とプラスの組み合わせ

  1. インストール SQLite用のDBブラウザーを
  2. MyBase.dbのデバイスファイルエクスプローラーから「/data/data/com.whatever.myapp/databases/MyBase.db」のような正確な場所を取得します。
  3. プロジェクトウィンドウをAndroidからProjectに設定します。ファイル(build.gradle、gradle.propertiesなど)が表示されるようにします。
  4. プロジェクトウィンドウで右クリックし、ターミナルで開くを選択します
  5. ターミナルでは、hardiskからアプリケーションのルートディレクタにいるので、次を実行します。adb pull /data/data/com.whatever.myapp/databases/MyBase.db
  6. これで、Android Studioのプロジェクトウィンドウに「MyBase.db」というファイルができました。
  7. Projectからdbファイルをダブルクリックすると、DBブラウザーでデータベースを参照/編集できるようになります
  8. 準備ができたら、データベースをhardiskに保存するように、変更をDBブラウザーで書き込みます。
  9. ターミナルで次のコマンドを使用します:adb push MyBase.db /data/data/com.whatever.myapp/databases/MyBase.db Hardiskから送信して、編集したデータベースをデバイスに送信します。

0

上記の手順に従って、Androidデバイスエクスプローラーでアプリのデータベースフォルダーを開くと、6つのファイルが表示されます。最初の3つはandroid、最後の3つはデータベースの名前です。最後の3つのファイルを操作するだけでよく、これらの3つのファイルを任意の場所に保存します。これらのファイルを右クリックして[名前を付けて保存]ボタンをクリックすると、これらのファイルを保存できます(データベースにroom_databaseという名前を付けているため、room_database、room_database-shm、room_database-walという名前の3つのファイルがあります。対応するファイルの名前を次のように変更します。 :-

1) room_database to room_database.db 2) room_database-shm to room_database.db-shm 3) room_database-wal to room_database.db-wal

SQLiteブラウザで最初のファイルを開くと、3つのファイルすべてがブラウザに読み込まれます。


0

最後に、Android Studioはデータベースインスペクタータブでこの機能をサポートしています。ビュー/更新/クエリ操作を簡単に適用できます。現時点では安定したチャネルではありませんが、Android Studio 4.1 Canary 5以降で試すことができます。

ここでは、データベースインスペクターの外観を確認できます。

ここで適切なバージョンをダウンロードできます

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