查看使用Room Persistence Library创建的数据库的内容


97

有没有更简单的方法来查看使用Android Studio中的Room Persistence Library创建的数据库的内容?


6
easier way相比哪种方式?
Vladyslav Matviienko

1
与使用DDMS或通过adb shell的旧方法相比。DDMS使我的计算机死机,使用adb需要进行大量工作。我认为应该有一种更简单的方法,因为Google最近发布了它
SpiralDev

12
不在android studio中,但是这个github.com/facebook/stetho是facebook开发的最好的Android调试桥,从中您可以看到您的应用程序数据库,甚至共享首选项,等等
。– Moinkhan

Answers:


47

方法1

您可以使用Android-Debug-Database,并且可以从浏览器对数据进行CRUD,然后可以从浏览器中查看偏好数据。

方法2

如果您不想从浏览器中使用,而必须检查其他文件,需要检查数据更改,请使用Genymotion模拟器。因此,您必须将您的模拟器设为root。尝试建立您的模拟器,请参见https:// /stackoverflow.com/a/44039429/2772552。让我知道你是否不满意。


能够查看数据库文件,但无法查看数据库中创建的表。我尝试了两种方法
Ravikiran,

9
经过一天的工作,终于找到了解决方案。从模拟器导出“ userdatabase”,“ userdatabase-shm”和“ userdatabase-wal”文件,并在sqlite查看器中打开“ userdatabase”文件
Ravikiran,

如果.db的是在内部目录,你看不准有,手动.db文件复制到外部存储目录,也将努力为ü
Htoo昂昂莱

我在方法1上遇到了问题,该方法导致其他异步任务发生读/写问题。导致应用程序冻结。
杰弗里

89

在较旧的Android Studio版本中:

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

在更高的Android Studio版本(3.5及更高版本)中:

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

1
不允许进行手术
乔纳森(Jonathan),

2
@jonney此方法仅在有根设备或仿真器上有效。
Hitesh Bisht,

1
这也应该在安装了可调试应用程序的无根电话上运行,但三星设备除外
Gaket19

1
这应该是公认的答案-获得DB的最简单方法,而无需下载软件或启动设备。
剧场版

1
@JakubJabłoński在模拟器上启动您的应用程序,而不是在Android Studio中打开设备文件资源管理器
kreker

66

在Android Studio 3.1中。*

在工具窗口栏中单击“ Device File explorer”,通常可以在屏幕的右下角找到它。

在以下目录中打开目录 data/data/your-application-package/databases

数据库目录中创建具有新体系结构的3个文件

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

您必须将所有3个导出到同一目录中

然后在任何sqlite浏览器中打开第一个文件(仅具有your-database-name)。

现在您可以看到所有数据.......

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

如果仅打开数据库文件,则需要两个额外的文件来打开db文件,因为在该文件中找不到任何表


如何找到“ / data / data / ...”路径在文件系统上的位置?
阿怀斯·侯赛因

该答案的作者实际上显示了``设备文件资源管理器''所在的位置,这为新手节省了一些时间; 因此+1
Ilonpilaaja

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

按两次Shift键可在任何地方搜索,然后输入设备文件资源管理器(如果它已从android studio的右下角移除)。
COYG

谢谢您的回答
-Amirhf

38

下载并安装SQLite的数据库浏览器

在Android Studio版本> = 3.0中:

通过以下方式打开设备文件资源管理器:

查看>工具窗口>设备文件资源管理器

在“设备文件资源管理器”中,转到:

数据>数据> PACKAGE_NAME >数据库

其中PACKAGE_NAME是软件包的名称(在下面的示例中为com.edgedevstudio.sample)

设备文件资源管理器

右键单击数据库,然后选择另存为。将其保存在PC上的任何位置。

打开,打开用于SQLite的数据库浏览器,然后单击“打开数据库”并打开数据库。 在此处输入图片说明

在上面的示例中,您应该找到“ todolist ”而不是“ todolist-shm”或“ todolist-wal”

如果不导出3个数据库文件(db_name,db_name-shm和db_name-wal,其中db_name =数据库名称),则将无法读取数据库。


这是我一直在寻找的。确实需要什么!感谢@EdgeDev
Kannan_SJD

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
这是没有必要以root设备的最佳方式
苏尼尔

1
哇!很棒的东西!多谢,伙计!!
巴拉库达

10

2020年4月15日-为简便起见,请按照以下步骤操作:

  1. 下载SQLiteBrowser程序:为所有操作系统下载SQLite
  2. 单击Android Studio右下角的“设备浏览器”。
  3. 您会看到很多文件。别担心!遵循路径:数据/数据/ {您的应用包名称}
  4. 右键单击“数据库”,然后在计算机中另存为。
  5. 打开SQLiteBrowser,然后单击“打开数据库”,然后选择与您的数据库名称同名的文件。
  6. 您可以查看文件,并选择与数据库表名称同名的文件。
  7. 最后一步,您可以在“数据库结构”附近看到“浏览数据”选项。选择该选项后,您可以看到数据库的数据。

您可以看到步骤,只需遵循下图上的数字

您可以在图像上看到步骤。

@canerkaseler


7

使用Stetho

将其作为添加到您的Android项目中dependency

呼叫Stetho.initializeWithDefaults(this)Application,并使用Chrome检查工具查看自己的数据库。在Chrome网址栏中输入以下内容:chrome://inspect

快点!您可以看到自己的Room database


3

我是按照以下步骤操作的:

1)从以下链接下载数据库浏览器。

https://sqlitebrowser.org/

2)从IDE转到设备文件资源管理器并复制生成的三个文件,例如在此处输入图像描述然后选择所有三个文件:your-db,your-db-shm,your-db-wal

按Ctrl + Shift + S并将其粘贴到某个文件夹。做完了

3)最后用DbBrowser App打开your-db。


谢谢,必须选择所有三个文件:* -db,*-db-shm,*-db-wal
xyz

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中,Android Studio提供了名为Database Inspector的新工具。

您可以使用此 数据库检查器 工具查看数据库文件及其内容,还可以编辑数据库内容。

在此处输入图片说明

如果您正在使用,Room Persistence那么它还提供了可以@Query在Android Studio中运行的工具。您可以看到@Query注释左侧的运行按钮。

在此处输入图片说明

如果您正在使用LiveData,它将实时反映数据库内容的更改,

在此处输入图片说明


0

我最近尝试了Facebook的Sethto

Stetho是适用于Android应用程序的复杂调试桥。启用后,开发人员可以访问Chrome桌面浏览器本地提供的Chrome开发者工具功能

您只需要包括gradle依赖项并在MainApp中调用即可。而已。通过使用chrome://inspect/sqlite数据库,您可以访问chrome窗口中的所有工具。

以下是屏幕截图,供模拟器上的Room Database检查。到目前为止,我只在模拟器中尝试过。

在此处输入图片说明


0

从设备文件浏览器获取数据库(3个文件)后,如上面的评论所述

我真的推荐简单的程序,例如使用“用于SQLite的数据库浏览器” https://sqlitebrowser.org/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.