查看使用 Room 持久化库创建的数据库内容

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

74984 次浏览

数据库检查器在 Android Studio 中的正式支持

以前,数据库检查器开始包含在 Android Studio 4.1的金丝雀频道中,现在它已经内置在最新版本的 Android Studio Arctic Fox 中。

现在,数据库检查器位于“应用程序检查”选项卡下。 您必须选择已连接的设备,然后需要选择要检查数据库的包名称。

在左侧,显示可用的表,需要双击查看表的详细信息,它将显示在右侧.< img src = “ https://i.stack.imgur.com/9c4wU.png”alt = “ enter image description here”/> < img src = “ https://i.stack.imgur.com/9c4wU.png”alt = “在这里输入图像描述”/> 中。

选择一

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

选择二

如果你不想从浏览器使用,你必须检查其他文件,需要检查你的数据更改,使用一个 Genymotion 仿真器。所以你必须根你的仿真器。尝试根你的模拟器,请看在 https://stackoverflow.com/a/44039429/2772552。 如果你不舒服就告诉我。

In older Android Studio versions:

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/

在安卓工作室3.1。 *

在工具窗口栏点击“ Device File explorer”一般你可以在屏幕的右下角找到这个

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

with new architecture 3 files is created in databases directory

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

你必须在同一个目录中导出所有3个

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

现在你可以看到你所有的数据... ..。

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

these two extra files are needed to open db file 如果只打开数据库文件,则不会在该文件中找到任何表

我个人使用 Android 调试数据库

Android Debug Database 是一个用于调试数据库的强大库 and shared preferences in Android applications.

快速启动

将这个添加到应用程序的 build.gradle 中

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

只要启动应用程序,您将在 logcat 中看到如下条目:

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

enter image description here


enter image description here


有关更多信息,请查看 github 回购

I did this by following steps:

1)从以下连结下载数据库浏览器。

Https://sqlitebrowser.org/

2)Go to Device File Explorer from IDE 复制三个生成的文件,如 在此输入图像描述,并选择所有三个文件: Your-db,your-db-shm,your-db-wal

按下 ctrl + shift + s 并粘贴到某个文件夹,完成。

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

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

在 Android Studio 版本中 > = 3.0:

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

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

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

Data > 资料 > 程序包名称 > < strong > 数据库

where PACKAGE_NAME is the name of your package (it is com.edgedevstudio.sample in the example below)

Device File Explorer

Right click on the database and select Save As. Save it anywhere you want on your PC.

打开 DB Browser for SQLite,点击“ Open Database”并打开数据库。 enter image description here

In the case of the example above, you should locate "幼儿园主" NOT "todolist-shm" nor "todolist-wal"

如果不导出3个数据库文件(db _ name,db _ name-shm & db _ name-wal,其中 db _ name = 数据库的名称) ,则无法读取数据库。

使用 斯泰索

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

Call Stetho.initializeWithDefaults(this) in your Application and view your database using the chrome inspect tool. Enter the following in your chrome URL bar: chrome://inspect.

快! 你可以看到你的 Room database

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

我最近试过 Sethto By Facebook

Stetho 是 Android 应用程序的一个复杂的调试桥梁 启用后,开发人员可以访问 Chrome 开发人员工具功能 Chrome 桌面浏览器本身的一部分

You just need to include it's gradle dependency and call in MainApp. That's it. 通过使用包括 sqlite 数据库在内的 chrome://inspect/,您可以访问 chrome 窗口中的所有工具。

下面是一个截图,其中检查的 房间数据库模拟器。我只尝试在模拟器到目前为止。

enter image description here

在从设备文件资源管理器(Device File Explorer)获取数据库(3个文件)之后,如上所述

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

为了简单起见,请遵循以下步骤:

  1. 下载 SQLiteBrowser 程序: 下载所有操作系统的 SQLite
  2. Click "设备爆破器" where is Right-Bottom corner on Android Studio.
  3. 您将看到很多文件。不要担心! 按照路径: Data/data/{ your app package name }
  4. 右键单击“ 数据库”并在计算机中另存为。
  5. 打开 SQLiteBrowser 并单击“ 开放式数据库”,然后选择名称与数据库名称相同的文件。
  6. 您可以查看文件并选择与您的数据库表名称具有相同名称的文件。
  7. 最后一步,您可以看到“ 浏览数据”选项附近的“ 数据库结构”选项。当您选择它时,您可以看到您的数据库数据。

您可以看到步骤,只是按照下图中的数字

You can see steps on image.

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

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

随着 Android Studio 4.1 Canary的最新发布,Android Studio 提供了名为 数据库检查员的新工具。

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

enter image description here

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

enter image description here

如果您使用的是 LiveData,那么它将实时反映数据库内容的变化,

enter image description here

在最新版本的 Android Studio 中,您可以在 App Inspection工具窗口中使用 Database Inspector

enter image description here



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

enter image description here

您现在可以在 Android Studio 的数据库检查器中查看它

下图

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

谷歌官员: 现在有一个超级简单的方法来查看您的房间数据库直接从 Android 工作室。如此简单,你会笑 =) 看看这个: < a href = “ https://developer.android.com/Studio/sight/database”rel = “ nofollow norefrer”> https://developer.android.com/studio/inspect/database

数据库检查员 < br > 在新的 Android Studio 北极狐
单击 App 检查
从选项卡中选择“数据库检查器”
Right Click on the Database name
单击“作为文件导出”
下载后,在 SQLite 数据库浏览器应用程序中查看数据库
* 注意数据库检查器只有在应用程序部署在 API 26 < br >

上才能工作

Best and easy to view, edit, add & delete your roomdatabase in debug mode in 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) {


}
}
}

Call Activity in oncreate.

showDebugDBAddressLog();

在 AndroidManifest.xml 中添加权限

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

在调试模式下运行应用程序

在 logcat 中搜索

link

您可以在 logcat 中看到链接

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

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

你可以看到你的所有数据库,谢谢

按照 Android 下面的文档进行操作

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

在 android 的视频中,你会在底部的“ App spector”中找到一个标签,有一个单独的标签用于数据库检查。从那里您可以看到设备中的所有数据库