114

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

4

19 回答 19

101

在较旧的 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/
于 2018-06-05T15:54:37.067 回答
75

在安卓工作室 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 文件,而不是在该文件中找不到任何表

于 2018-08-07T15:13:09.137 回答
60

Android Studio 正式支持 Database Inspector

之前,Database Inspector 开始包含在 Android Studio 4.1 canary 频道中,现在它已经内置在最新版本的 Android Studio Arctic Fox 中。

现在,Database Inspector 位于 App Inspection 选项卡下。您必须选择连接的设备,然后需要选择要检查数据库的包名称。

左侧显示可用表格,需要双击查看表格详情,右侧显示。在此处输入图像描述.

选项1

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

选项 2

如果您不想从浏览器使用并且必须检查其他文件,需要检查您的数据更改,请使用 Genymotion 模拟器。所以您必须根您的模拟器。尝试根您的模拟器,请参阅https:// /stackoverflow.com/a/44039429/2772552。让我知道你是否还好。

于 2017-08-10T08:14:27.927 回答
47

下载并安装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 = 数据库名称),您将无法读取数据库。

于 2019-01-19T12:54:50.410 回答
20

我个人使用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 存储

于 2018-11-19T12:17:29.973 回答
14

为简便起见,请按照下列步骤操作:

  1. 下载 SQLiteBrowser 程序:下载适用于所有操作系统的 SQLite
  2. 点击Android Studio 右下角的“ Device Exploler ”。
  3. 你会看到很多文件。不用担心!跟随路径:data/data/{你的应用包名}
  4. 右键单击“数据库”并在您的计算机中另存为。
  5. 打开 SQLiteBrowser 并单击“打开数据库”,然后选择与您的数据库名称相同的文件。
  6. 您可以查看文件并选择与您的数据库表名称相同的文件。
  7. 最后一步,您可以在“数据库结构”选项旁边看到“浏览数据”选项。当您选择它时,您可以看到您的数据库数据。

您可以查看步骤并按照下图中的数字进行操作

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

于 2020-04-15T14:25:03.270 回答
13

随着Android Studio 4.1 Canary的最新版本,Android Studio 提供了名为Database Inspector的新工具。

您可以使用此 Database Inspector 工具查看数据库文件及其内容,也可以编辑数据库内容。

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

于 2020-09-09T11:39:21.557 回答
7

使用Stetho

将其作为dependency.

调用Stetho.initializeWithDefaults(this)Application的数据库并使用 chrome 检查工具查看您的数据库。在您的 chrome URL 栏中输入以下内容:chrome://inspect.

快!你可以看到你的Room database.

于 2019-02-22T03:26:38.207 回答
3

我通过以下步骤做到了这一点:

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

https://sqlitebrowser.org/

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

按 ctrl+shift+s 并将其粘贴到某个文件夹。完毕。

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

于 2018-11-29T07:36:05.727 回答
2

在 Android Studio 4.1 Canary 6 及更高版本中,您可以使用新的 Database Inspector 检查、查询和修改应用的数据库。例如,您可以通过修改数据库中的值并在设备上测试这些更改来调试正在运行的应用程序。

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

于 2020-06-03T19:07:44.517 回答
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
于 2019-07-21T17:43:02.753 回答
1

在最新版本的 Android Studio 中,您可以Database InspectorApp InspectionTool Window内使用

在此处输入图像描述



前往App Inspection。然后选择进程。Database Inspector现在将显示数据库内容。

在此处输入图像描述

于 2021-01-05T08:15:25.950 回答
1

您现在可以在 Android Studio 的 Database Inspector 中查看它

下图

Android Studio 中的数据库检查器选项卡

于 2021-02-09T11:58:41.673 回答
1

数据库检查器
在新的 Android Studio 北极狐
中单击应用检查
从选项卡中选择数据库检查器
右键单击​​数据库名称
单击导出为文件
下载后在数据库浏览器中查看 SQLite应用程序的
数据库 *注意数据库检查器仅在以下情况下有效部署在 API 26 上的应用

于 2021-08-14T20:23:07.870 回答
0

我最近通过 Facebook 尝试了 Sethto

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

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

以下是模拟器上的房间数据库检查的屏幕截图。到目前为止,我只在模拟器中尝试过。

在此处输入图像描述

于 2019-09-09T09:00:21.740 回答
0

从设备文件资源管理器中获取您的数据库(3个文件)后,如上所述

我真的推荐简单的程序,比如使用“DB Browser for SQLite” https://sqlitebrowser.org/

于 2019-10-28T16:20:10.433 回答
0

谷歌官方: 现在有一种超级简单的方法可以直接从 Android Studio 中查看你的 Room DB。这么简单你会笑=)看看这个:https ://developer.android.com/studio/inspect/database

于 2021-08-08T17:47:36.720 回答
0

在 android studio 中以调试模式查看、编辑、添加和删除您的房间数据库是最好的和最容易的。

在 build.gradle 中实现依赖

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

在您的活动中复制粘贴以下代码

public static void showDebugDBAddressLog() {
    if (BuildConfig.DEBUG) {
        try {
            Class<?> debugDB = Class.forName("com.amitshekhar.DebugDB");
            Method getAddressLog = debugDB.getMethod("getAddressLog");
            Object value = getAddressLog.invoke(null);
            Log.d("link", "showDebugDBAddressLogToast: "+(String) value);
        } catch (Exception ignore) {

        }
    }
}

在 oncreate 中调用 Activity。

showDebugDBAddressLog();

在 AndroidManifest.xml 中添加权限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

在 dubug 模式下运行应用程序

在 logcat 中搜索

link

您在 logcat 中看到链接

showDebugDBAddressLog: Open http://192.168.1.100:8080 in your browser

在浏览器中打开链接“http://192.168.1.100:8080”。

繁荣你看到你的所有数据库。谢谢你

于 2021-11-18T06:07:52.697 回答
0

遵循 Android 的以下文档

https://developer.android.com/studio/inspect/database

于 2021-12-20T05:54:00.720 回答