在 Android Studio 中查看数据库文件的内容
Posted
技术标签:
【中文标题】在 Android Studio 中查看数据库文件的内容【英文标题】:View contents of database file in Android Studio 【发布时间】:2013-07-05 23:16:54 【问题描述】:自从我的应用发布以来,我一直在使用 Android Studio 来开发它。
直到最近一切都很好,我必须在检查数据库文件的同时进行调试。由于不知道如何直接查看数据库,所以在调试生成数据库文件时,必须将手机中的数据库文件导出到PC。
为此,我必须打开DDMS > File Explorer
。一旦我打开 DDMS,我必须重新连接 USB,我失去了我的调试线程。检查数据库文件后,我必须关闭 DDMS 并重新连接 USB 才能回到调试模式。
这太复杂了。有没有人有更好的方法在 android Studio 中做到这一点(我知道在 Eclipse 中更容易)?
【问题讨论】:
【参考方案1】:从 Android Studio 查看数据库:
选项 1:
下载并安装SQLiteBrowser。
将数据库从设备复制到您的 PC:
Android Studio 版本 :
通过Tools > Android > Android Device Monitor
打开DDMS
点击您的设备在左侧。 您应该看到您的应用程序:
转到文件资源管理器(右侧的选项卡之一),转到/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 上任何您想要的地方。
现在,打开您安装的 SQLiteBrowser。点击“打开数据库”,导航到您保存数据库文件的位置,然后打开。您现在可以查看数据库的内容了。
选项 2:
转到this Github 存储库并按照自述文件中的说明操作,以便能够在您的设备上查看您的数据库。你得到的是这样的:
就是这样。不用说,您应该在发布应用之前撤消所有这些步骤。
【讨论】:
这对我来说是正确的答案,因为 sqlitebrowser 工具的提示非常棒。谢谢 /data 没有在设备监视器的文件资源管理器中展开,我猜它无法访问,因为列出 /data 或 /data/data 目录的条目需要超级用户访问。我仍然可以通过具有 su 权限的 adb shell 访问我的数据库文件。知道如何在文件管理器中获得 su 访问权限吗? @ZekeDran,是的,该方法只显示来自模拟器而不是您的设备的数据。不过,我已经添加了在您的设备上查看数据库的步骤。检查编辑 可以,但是模拟器的运行必须不超过API 23。如果您使用API 25,则文件资源管理器中没有内容 Github 链接中的数据库管理器正在为我工作!它还有机会测试查询!【参考方案2】:通过 ADB Shell 连接到 Sqlite3
我在 Android Studio 中没有找到任何方法来执行此操作,但我使用远程 shell 访问数据库,而不是每次都拉取文件。
在此处查找所有信息: http://developer.android.com/tools/help/adb.html#sqlite
1- 在命令提示符下转到您的平台工具文件夹
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 连接到您的数据库:
sqlite3 <your-db-name>.db
6- 运行你喜欢的 sqlite3 命令,例如:
Select * from table1 where ...;
注意:在下面找到更多要运行的命令。
SQLite 备忘单
有几个步骤可以查看 SQLite 数据库中的表:
列出数据库中的表:
.tables
列出表格的外观:
.schema tablename
打印整个表格:
SELECT * FROM tablename;
列出所有可用的 SQLite 提示命令:
.help
【讨论】:
我在第 4 步被拒绝,你怎么看? 您可能需要 root avd,和/或在步骤 3 'root adb -s emulator-xxxx shell' 以 root 身份启动 adb 第 5 步:找不到 sqlite3。为什么? 因为需要安装才能使用 我个人在尝试访问 databases 文件夹时遇到了 Permission denied,运行run-as your.package.name
就成功了。【参考方案3】:
我真的很惊讶没有人给出这个解决方案:
看看Stetho。
我曾多次出于不同目的使用 Stetho(其中之一是数据库检查)。在实际的website 上,他们还讨论了网络检查和查看视图层次结构的功能。
它只需要一点设置:1 个 gradle 依赖项添加(您可以将其注释掉以用于生产构建),几行代码来实例化 Stetho,以及一个 Chrome 浏览器(因为它使用 Chrome 开发工具来处理所有事情)。
更新: 您现在可以使用 Stetho 查看 Realm 文件(如果您使用 Realm 而不是 SQLite DB):https://github.com/uPhyca/stetho-realm
更新 #2: 您现在可以使用 Stetho 查看 Couchbase 文档:https://github.com/RobotPajamas/Stetho-Couchbase
更新 #3: Facebook 正致力于将所有 Stetho 功能添加到其新工具 Flipper 中。 Flipper 已经具备 Stetho 的许多功能。 因此,现在可能是进行转换的好时机。 https://fbflipper.com/docs/stetho.html
【讨论】:
非常感谢。为了更简单,1.compile 'com.facebook.stetho:stetho:1.3.1'
和2.添加此代码Stetho.initializeWithDefaults(this);
和3.chrome://inspect/#devices
很简单,你可以在没有第三方工具的情况下在 chrome 浏览器中查看数据库中的数据。
别忘了Stetho.initializeWithDefaults(this);
应该在Application
类中。
很棒的工具。如果您已正确完成设置,您的应用将列在#devices 页面上。单击检查,然后转到资源 > Web SQL > [db_name],您可以编写您的 sqlite 语句。【参考方案4】:
不使用模拟器时最简单的方法
$ 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
【讨论】:
第二个命令出现问题:run-as。我得到 'com.mycompany.myappname' 是未知的。是的,我确信我使用了正确的包名! @PhuLai 你试过不同的设备吗?什么设备出现故障? 我尝试使用 Nexus 6P,API 25。我认为这种方法不适用于新的 Android 版本。chmod 660 databases/database_name
应该在 chmod 660 databases
之前
@PhuLai - 我也得到了这个,然后我尝试跳过cp
命令并从外部执行pull
(更改权限后)并且它起作用了(adb pull data/data/package.name/databases/db_name.db
)【参考方案5】:
在 Android Studio 3 及更高版本中,您可以在 Android Studio 的右下方看到一个“设备文件资源管理器”部分。
打开它,然后你可以看到文件树,你可以在这个路径中找到一个应用程序数据库:
/data/data/package_name/databases/
【讨论】:
当我双击我的应用程序的数据库文件时,它会显示所有不可读的字符。你用什么 SQLite 阅读器来查看数据库内容? 我推荐 sqlitebrowser.org 免费,开源,适用于所有平台。 我的 database.db 文件不包含任何表。 文件夹为空。错误:run-as: Could not set capabilities: Operation not permitted
。三星设备:***.com/questions/37413667/…【参考方案6】:
最后,我找到了一个不需要打开DDMS的最简单的解决方案。
实际上,解决方案是基于@Distwo 提到的,但它不必那么复杂。
首先,记住你的数据库文件在设备中的路径,应该是一样的。
比如我的是:/data/data/com.XXX.module/databases/com.XXX.module.database
第二,执行这个命令,将你的数据库文件拉到你的电脑上
adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/
你需要做的只是复制并存储这个命令,然后你就可以一次又一次地使用它。
第三,如果您遇到 Permission Denied 或类似情况,只需在上一个命令之前运行 adb root
。
【讨论】:
运行adb root
在我的手机上不起作用。它打印出adbd cannot run as root in production builds
。但是,在运行adb root
之后,pull 命令会冻结,我需要手动停止它。
@Daniela try run-as your.package.name
这应该以属于您应用的用户身份“登录”
使用上述命令将 .db 文件复制到您的桌面,在 Firefox 中安装 SQLiteManager 浏览器插件并开始浏览。 2 分钟的工作!
那个 root 命令是用于模拟器的,你不能只运行这个命令并 root 你的“手机”。
一切就绪,得到database.db。文件但该 database.db 文件不包含任何表【参考方案7】:
最简单的方法是使用Android Debug Database 库(GitHub 上有 7.7k 星)。
优点:
快速实施 查看所有数据库和共享首选项 直接编辑、删除、创建数据库值 在给定数据库上运行任何 SQLite 查询 在您的数据中搜索 下载数据库 添加自定义数据库文件 无需root设备使用方法:
-
将
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
添加到build.gradle (module)
;
启动应用程序;
在日志中找到调试链接(在LogCat中)(即D/DebugDB: Open http://192.168.232.2:8080 in your browser
,链接会不一样),在浏览器中打开;
享受强大的调试工具!
重要:
很遗憾不能使用模拟器 如果您通过 USB 使用它,请运行adb forward tcp:8080 tcp:8080
您的 Android 手机和笔记本电脑应连接到同一网络(Wifi 或 LAN)
有关更多信息,请访问 GitHub 上的library page。
【讨论】:
这是最好的,痛苦少的过程!谢谢丹尼尔 对于可能在这里的一些人来说,我无法让它在 react native android 上工作 迄今为止最好的解决方案!【参考方案8】:试试这个 android studio 插件SQLScout。您可以实时查看和编辑您的应用数据库。
编辑:记住这是一个付费插件,但有 24 小时试用期,适合头痛时间。
【讨论】:
这是付费产品,你忘了说。 不是真的,它有 24 小时试用期,我计划我作为开发人员的未来超过 24 小时。 遗憾的是,它不是免费的。 试用时间仅为36小时。【参考方案9】:在 Android Studio 中查看数据库内容的简单方法。
#适用于 Android Studio 4.1 Canary 6 及更高版本
您可以使用一个非常简单的Android Studio 功能Database Inspector。 您可以在其中使用新的 Database Inspector 检查、查询和修改应用程序的数据库。例如,您可以通过修改数据库中的值并在设备上实时测试这些更改来调试正在运行的应用程序,而无需离开 Android Studio。
要开始使用,请将您的应用部署到运行 API 级别 26 或更高级别的设备上,然后从菜单栏中选择 View > Tool Windows > Database Inspector。
#适用于 Android Studio 4.0 及更低版本
首先,在Android Studio中安装Database Navigator插件
第二次,重启Android Studio
第三,将数据库保存到默认位置如:(C:\Users\User Name\Documents\AndroidStudio\DeviceExplorer\emulator or device\data\data\package name\databases)
第四,连接保存在Database Navigator中的dbname_db文件
给出与步骤第三
中使用的相同的数据库文件路径即(C:\Users\User Name\Documents\AndroidStudio\DeviceExplorer\emulator or device\data\data\package name\databases\package naem\dbname_db)
最后,只需测试数据库连接并打开控制台,然后做任何你想做的事情。
如果您想刷新数据库,只需重复步骤第二步,然后保存或刷新即可。
编码愉快!!!!!!
【讨论】:
这个解决方案需要您在日常工作中付出很多努力。并且在数据库中的每次更改都需要重新加载 sql 文件 - 看起来有点复杂。我更喜欢使用一些能够在本地服务器上查看数据库的插件 是的,你是对的,直到Database Navigator中没有实时数据更新,我希望它会尽快更新它的插件。 没错,这将是一个很棒的功能 是的,到目前为止,如果我们需要查询数据,添加,编辑和删除,这对我来说是最好的方法 我是否需要一直保存来刷新数据库?有没有像mysql一样更简单的方法,我只需要点击刷新按钮。【参考方案10】:经过我建议的所有解决方案后
使用Stethos 让我们看看它有多简单
在 build.gradle 文件中添加以下依赖项
implement 'com.facebook.stetho:stetho:1.5.0'
implement '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 检查数据库和表 轻松实时玩游戏
更新: Stethos 在最新版本的 Chrome 中出现问题。如果遇到问题,请尝试使用 Edge 开发工具 edge://inspect/#devices - 请参阅:https://***.com/a/67674265/14232521
【讨论】:
房间只是 orm,在 sql 方面没有任何变化,它的工作方式相同【参考方案11】:尽管这是一个很老的问题,但我认为它在今天仍然很重要。使用最新版本的android studio,我找到了一种查看它的方法[我不确定它是否在以前的版本中可用。 ]
您可以通过以下方式查看数据库中的数据:
步骤:
转到查看>工具窗口>设备文件资源管理器
然后是文件夹data > data,你会看到应用程序列表。
向下滚动一点,查看包裹 [您的包裹 应用]。
找到你的包后,查看databases文件夹并选择文件,右键 点击它并保存 [下载]
由于不能直接看到数据,所以有一个工具,DB Browser for SQLite, 去网站https://sqlitebrowser.org/
打开 Db 浏览器并点击 打开数据库 并选择您的数据库表 下载,它会显示数据。
新编辑
现在(您正在阅读这篇文章的时候),它变得更加容易了,因为 Android Studio 已经配备了数据库检查器(就在右下角附近)。
单击它,您将看到数据库。
但是,请确保 minimun API 级别为 26,如果没有通过 build.gradle 文件将其更改为 minSdkVersion 26
【讨论】:
【参考方案12】:在 Android 4.1 Canary 5 Preview 中引入了新的数据库检查器,您现在可以直接从 IDE 中检查、查询、修改和调试正在运行的应用程序中的 SQLite 数据库 - https://developer.android.com/studio/preview/features?linkId=86173020#database-inspector
也支持数据库实时查询 - https://developer.android.com/studio/preview/features?linkId=86173020#query
【讨论】:
我已经发布了this answer,所以这只是一个重复的答案,无需在顶部发布该答案的链接进行宣传。【参考方案13】:要知道你在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/下载浏览器
这是显示包含注册数据库的浏览器的屏幕截图
谢谢,
【讨论】:
【参考方案14】:最简单的方法是连接您的设备并运行 Android Studio 然后从工具栏:
-
查看 --> 工具窗口 --> 设备文件资源管理器
进入数据/数据并找到你的包
找到您要浏览的数据库文件并下载它
我推荐使用这个在线工具:https://sqliteonline.com/ 来探索 db 文件
另一种方法是使用 Stetho 库:
将 Stello 依赖项添加到您的 build.gradle:
编译'com.facebook.stetho:stetho:1.5.0'
在您的应用程序类或主 Activity 的 onCreate() 上添加以下行:
Stetho.initializeWithDefaults(this);
连接您的设备,运行应用程序并在 Chrome 上输入以下站点:
chrome://inspect/#devices
就是这样。您现在可以探索您的表格。
注意:建议在投入生产之前删除依赖项。
【讨论】:
【参考方案15】:如果您想从 ANDROID STUDIO 中浏览您的数据库,我正在使用以下内容:
转到文件/设置/插件并查找:
... 重新启动 Android Studio 后,您可以选择下载的数据库文件,如下所示:
...单击“打开 SQL 控制台”图标,您最终会在 Android Studio 中看到这个漂亮的数据库视图:
【讨论】:
所以我必须一直从模拟器中复制数据库?【参考方案16】:随着Android Studio 4.1 Canary and Dev preview 的发布,您可以使用一个名为
的新工具
Database Inspector
安装 AS 4.1+,运行应用程序,打开数据库检查器,现在您可以在数据库检查器面板左侧查看您的数据库文件,然后选择表格查看内容。
Live Queries
您可以使用 Run SQL 选项运行查询,或者如果您使用的是 Room 然后打开数据库检查器并运行应用程序,您可以在点击@Query
注解左侧的运行按钮,您的界面。
【讨论】:
【参考方案17】:这可能不是您要寻找的答案,但我没有更好的方法从手机下载数据库。我的建议是确保您使用的是这个迷你 DDMS。如果您不单击程序最左下角的非常小的迷彩框,它将被超级隐藏。 (试图将鼠标悬停在它上面,否则你可能会错过它。)
还有没有过滤器的下拉菜单(右上角)。它实际上有很多不同的方式,您可以通过 PPID、名称等来监控不同的进程/应用程序。我一直用它来监控手机,但请记住,我没有做那种需要 120% 肯定数据库没有做不寻常的事情的开发工作。
希望对你有帮助
【讨论】:
【参考方案18】:我已经把这个过程的 unix 命令行自动化放在一起并将代码放在这里:
https://github.com/elliptic1/Android-Sqlite3-Monitor
它是一个 shell 脚本,它以包名和数据库名作为参数,从附加的 Android 设备下载数据库文件,并针对下载的文件运行自定义脚本。然后,使用 'watch' 之类的 unix 工具,您可以打开一个终端窗口,其中包含定期更新的数据库脚本输出视图。
【讨论】:
【参考方案19】:这是一个非常古老的问题,我的答案与上面的一些答案相似,但速度要快得多。下面的脚本适用于 Mac,但我相信有人可以为 Windows 修改它。
1) 在 Mac 上打开 Script Editor(您可以在 Spotlight 中搜索 Script Editor) 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 用户名【参考方案20】:我知道这个问题已经很老了,但我相信这个问题仍然存在。
从浏览器查看数据库
我创建了一个开发工具,您可以将它作为一个库集成到您的 android 应用项目中。该工具会在您的应用程序中打开一个服务器套接字以通过 Web 浏览器进行通信。您可以浏览整个数据库并直接通过浏览器下载数据库文件。
可以通过 jitpack.io 进行集成:
项目 build.gradle:
//...
allprojects
repositories
jcenter()
maven url 'https://jitpack.io'
//...
应用程序构建.gradle:
//...
dependencies
//...
debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
//...
//...
设置应用程序类
为了仅在某些构建类型或产品风格中编译 DebugGhostLib,我们需要一个抽象的应用程序类,该类将派生在特殊风格中。将以下类放入您的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();
您可以获取tool here。
【讨论】:
这是一个很好的工具,特别是在 Stetho 停止在较新的 chrome 中工作之后,【参考方案21】:我不得不将数据库从手机拉到 PC。现在我使用这个制作精良的免费应用程序,它有很多功能。它可以在带有 Rooted 设备的 API 4.1+
上运行。
如果您找到如何在没有 root 的情况下使其工作,请告诉我。
https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime
【讨论】:
【参考方案22】:打开 Android Studio 底部的设备文件浏览终端。
打开名为Data 的文件夹,然后在Data里面再次打开Data 文件夹。
向下滚动文件夹列表并找到带有 your.package.name 的文件夹。 打开文件夹 your.package.name > 数据库 .您将获得 your.databaseName。右键单击 your.databaseName 并另存为 C:/your/Computer/Directory。
转到 C:/your/Computer/Directory 打开 your.databaseName 并使用DB SQLite
【讨论】:
【参考方案23】:适用于 Android Studio 3.X
-
查看 -> 工具窗口 -> 设备文件资源管理器
在文件资源管理器中 data->data->com.(yourapplication package)->databases
右键单击数据库并保存在本地计算机上。要打开,您可以使用 SQLite 文件
只需将数据库文件拖到 Studio 上即可。
这里是 SQLite Studio 的链接: https://sqlitestudio.pl/index.rvt?act=download
【讨论】:
【参考方案24】:最后,Android Studio 通过数据库检查器选项卡支持此功能。您可以轻松应用查看/更新/查询操作。目前还没有稳定的渠道,但您可以尝试使用 Android Studio 4.1 Canary 5 及更高版本。
你可以看到数据库检查器的样子here
你可以下载合适的版本here
【讨论】:
【参考方案25】:像服务器端数据库一样使用android sqlite
按照下列步骤操作:
-
找到数据库工具窗口并点击如下图所示
-
点击加号图标并选择Android SQLite,如下图所示
将你的安卓设备连接到你的电脑
选择您关心的包并选择如下图所示的数据库
在上述所有这些步骤之前,您必须确保您有正确的权限来访问文件:/data/data//database/databasefile.db
完成所有这些步骤后,您将看到如下所示的数据库内容:
最后重要的是
每次更新数据库数据时,您都必须单击更新图标。
希望这对你有用!谢谢!
【讨论】:
【参考方案26】:Android Studio 从 4.1 版开始捆绑了 Database Inspector。
但它有一个限制:
Database Inspector 仅适用于 API 级别 26 及更高级别的 Android 操作系统中包含的 SQLite 库。它不适用于您与应用捆绑的其他 SQLite 库。
【讨论】:
【参考方案27】:我使用的是 Windows 7,我的设备是模拟的 android 设备 API 23。我想任何真实设备都是一样的,只要它是 root 并且 API 不高于 23
转到工具 -> Android -> Android 设备监视器。 转到文件资源管理器。就我而言,它位于 data/data//app_webview/databases/file_0/1
我必须在名为“1”的文件末尾手动添加 .db
【讨论】:
【参考方案28】:它是其他答案的组合加号
-
安装DB Browser for SQLite
从设备文件资源管理器中获取 MyBase.db 的确切位置,例如“/data/data/com.whatever.myapp/databases/MyBase.db”
将项目窗口从 Android 设置为 Project - 这样您就可以看到文件(build.gradle、gradle.properties 等)
在项目窗口中右键单击并选择在终端中打开
在终端中,您现在位于硬盘的应用程序的根目录中,因此执行:adb pull /data/data/com.whatever.myapp/databases/MyBase.db
现在,在 Android Studio 的“项目”窗口中,您有一个文件“MyBase.db”
在 Project 中双击您的 db 文件,您现在可以在 DB Browser 中浏览/编辑您的数据库
准备就绪后,只需在数据库浏览器中进行写入更改,以便将数据库保存在硬盘上
在终端中使用以下命令:adb push MyBase.db /data/data/com.whatever.myapp/databases/MyBase.db 您刚刚从硬盘发送到设备编辑的数据库。
【讨论】:
【参考方案29】:按照上述步骤在Android设备资源管理器中打开您的应用程序的数据库文件夹,在那里您可以看到六个文件,前三个命名为android,后三个命名为您的数据库名称。您只需处理最后三个文件,将这三个文件保存在您的首选位置。您可以通过右键单击文件并单击另存为按钮来保存这些文件(例如我的数据库命名为 room_database,因此三个文件分别命名为 room_database、room_database-shm 和 room_database-wal。将相应的文件重命名如下:-
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 浏览器中打开第一个文件,所有三个文件都将填充到浏览器中。
【讨论】:
【参考方案30】:我想知道为什么这里没有提到这个解决方案!
...在 Android Studio 4.1 及更高版本中...
1.Run your app on an emulator or connected device running API level 26 or higher.
2.Select View > Tool Windows > Database Inspector from the menu bar.
3.Select the running app process from the dropdown menu.
4.The databases in the currently running app appear in the Databases pane. Expand the node for the database that you want to inspect.
【讨论】:
我更新了 Android Studio,他们将其更改为 App 检查器。该死的,花了将近半个小时弄清楚 Database Inspector 在哪里。哈哈。我还应该遵循发行说明。以上是关于在 Android Studio 中查看数据库文件的内容的主要内容,如果未能解决你的问题,请参考以下文章
如何使用android studio 查看android源码
Android Studio 3.6.2 | 使用内置文件浏览器查看文件