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

答案 0 :(得分:44)
Emulator -> Android Studio -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/
答案 1 :(得分:33)
在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文件 如果您仅打开数据库文件,则在该文件中找不到任何表
答案 2 :(得分:28)
您可以使用Android-Debug-Database,然后可以从浏览器中对数据进行CRUD,然后就可以从浏览器中看到您的偏好数据。
如果你不想在浏览器中使用,你必须检查其他文件,需要检查你的数据更改,使用Genymotion Emulator。所以你必须根你的模拟器。试着root你的模拟器,PLZ见https://stackoverflow.com/a/44039429/2772552。 如果你不好,请告诉我。
答案 3 :(得分:10)
在Android Studio版本> = 3.0中:
通过以下方式打开设备文件资源管理器:
查看> 工具窗口> 设备文件资源管理器
在“设备文件资源管理器”中,转到:
数据> 数据> PACKAGE_NAME > 数据库
其中PACKAGE_NAME是软件包的名称(在下面的示例中为com.edgedevstudio.sample)
右键单击数据库,然后选择另存为。 将其保存在PC上的任何位置。
打开,SQLite的数据库浏览器,然后单击“打开数据库”并打开数据库。
在上述示例中,您应找到“ 待办事项列表”,而不是 “ todolist-shm”或“ todolist-wal”
如果不导出3个数据库文件(db_name,db_name-shm和db_name-wal,其中db_name =数据库名称),则将无法读取数据库。
答案 4 :(得分:10)
2020年4月15日-为简便起见,请按照以下步骤操作:
您可以看到步骤,只需跟随下图上的数字
@canerkaseler
答案 5 :(得分:7)
Android调试数据库是用于调试数据库的功能强大的库 和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 repo
答案 6 :(得分:2)
我是按照以下步骤操作的:
1)从以下链接下载数据库浏览器。
2)从IDE转到设备文件资源管理器 并复制生成的enter image description here之类的三个文件,然后选择所有三个文件: 您的db,您的db-shm,您的db-wal
按ctrl + shift + s并将其粘贴到某个文件夹。完成。
3)最终使用DbBrowser App打开your-db。
答案 7 :(得分:2)
在最新版本的Android Studio 4.1 Canary中,Android Studio提供了名为 Database Inspector 的新工具。
您可以使用此Database Inspector工具查看数据库文件及其内容,还可以编辑数据库内容。
如果您使用的是string textboxTagPattern= @"(<input)([^>]*)(type=\"")(text)(\"")([^>]*)(/>)";
Regex rgx = new Regex(textboxTagPattern, RegexOptions.IgnoreCase);
MatchCollection questionInputText = rgx.Matches(Question);
var arr = Question.Replace("<input", "^<input").Split('^');
string ques = "";
int count = 0;
for (int i = 0; i < arr.Length; i++)
{
//If it is of <input type="text"> format and the id is not present
if (arr[i].IndexOf("type=\"text\"") != -1)
{
count++;
if (arr[i].IndexOf("id") == -1)
{
arr[i] = arr[i].Insert(arr[i].IndexOf("input ") + "input ".Length, "id=\"Answer"
+ count + "\" ");
// According to this logic the 2nd and 3rd textboxes will have the same
//id(id=Answer3), which is wrong. How can I correct it?
}
}
ques = ques + arr[i].Replace("\n", "");
}
,那么它也提供了在Android Studio中运行 Route::get('products/{slug}/{id}/details','ProductController@productDetail')->name('productDetail');
<a href="{{ route('productDetail', ['laptop-slug','2']) }}">
<h4 class="prodcardtitle">${element.code} - ${element.name}</h4>
</a>
的便利。您可以看到Room Persistence
批注左侧的运行按钮。
如果您使用的是@Query
,它将实时反映数据库内容的更改,
答案 8 :(得分:1)
使用Stetho。
将其作为dependancy
添加到您的Android项目中。
在Stetho.initializeWithDefaults(this)
中调用activity
,然后使用chrome inspect工具查看数据库。在Chrome网址栏中输入以下内容:chrome://inspect
。
Presto!您可以看到自己的Room database
。
答案 9 :(得分:1)
使用Android Studio 4.1 Canary 6和更高版本,您可以使用新的数据库检查器检查,查询和修改应用程序的数据库。例如,您可以通过修改数据库中的值并测试设备上的更改来调试正在运行的应用程序。
https://developer.android.com/studio/preview/features#database-inspector
答案 10 :(得分:1)
答案 11 :(得分:0)
<!DOCTYPE html>
{% load static %}
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div style="color: red;">
<a href="{% url 'admin:index' %}">admin</a>
{% block contents %}
{% endblock %}
</div>
</body>
</html>
{% extends 'post/base.html' %}
{% block contents %}
{% for post in object_list %}
{% autoescape off %}{{ post.text }}{% endautoescape %}
{{ post.text|safe }}
{% endfor %}
{% endblock %}
答案 12 :(得分:0)
我最近尝试了Sethto By Facebook。
Stetho是用于Android应用程序的复杂调试桥。什么时候 启用后,开发人员可以使用Chrome开发者工具功能 本机属于Chrome桌面浏览器
您只需要包括gradle依赖项并在MainApp中调用即可。而已。
您可以使用chrome://inspect/
(包括sqlite数据库)访问chrome窗口中的所有工具。
以下是屏幕快照,由模拟器上的 Room Database 检查。到目前为止,我只在模拟器中尝试过。
答案 13 :(得分:0)
从设备文件浏览器获取数据库(3个文件)后,如上面的评论所述
我真的推荐简单的程序,例如使用“用于SQLite的数据库浏览器” https://sqlitebrowser.org/
答案 14 :(得分:0)
在最新版本的 Android Studio 中,您可以在 Database Inspector
工具窗口中使用 App Inspection
转到App Inspection
。然后选择进程。 Database Inspector
现在将显示数据库内容。
答案 15 :(得分:0)
谷歌官方: 现在有一种非常简单的方法可以直接从 Android Studio 查看您的 Room DB。如此简单你会笑=) 看看这个:https://developer.android.com/studio/inspect/database