Java 如何在应用程序运行时浏览SQLite数据库?日食(朱诺)>;安卓(亚洲开发银行)

Java 如何在应用程序运行时浏览SQLite数据库?日食(朱诺)>;安卓(亚洲开发银行),java,android,eclipse,sqlite,debugging,Java,Android,Eclipse,Sqlite,Debugging,我有一个应用程序,目前它的行为很奇怪。它使用了一个SQLite数据库,在我想改进它的某些部分之前,它运行得非常好。现在问题来了:当应用程序在我的手机上运行时,我如何“浏览”我的数据库 您可以观察变量,并在某个时刻中断调试会话时检查它们。 但是使用SQLite数据库。(应用程序当然有一个“Main”状态,它处于空闲状态,我可以在这里检查数据库。)试试看 adb shell sqlite3 /data/data/com.app.name/databases/DatabaseName.db 这将带您

我有一个应用程序,目前它的行为很奇怪。它使用了一个SQLite数据库,在我想改进它的某些部分之前,它运行得非常好。现在问题来了:当应用程序在我的手机上运行时,我如何“浏览”我的数据库

您可以观察变量,并在某个时刻中断调试会话时检查它们。
但是使用SQLite数据库。(应用程序当然有一个“Main”状态,它处于空闲状态,我可以在这里检查数据库。)

试试看

adb shell
sqlite3 /data/data/com.app.name/databases/DatabaseName.db
这将带您进入SQLite命令行。从那里,您可以对数据库执行SQLite查询/数据转储,以查看其中的数据。如果您想使用真实设备(即,不是模拟器)执行此操作,则需要首先根设备


注: 如果您的设备不允许您执行
sqlite3
二进制文件(或者该二进制文件不存在于设备的路径中……或者它不同时存在,等等),您可以在本地计算机上安装
sqlite3
,然后执行

adb pull /data/data/com.app.name/databases/DatabaseName.db .
sqlite3 DatabaseName.db

这将把数据库复制到本地目录,然后在本地机器上执行
sqlite3
二进制文件。这件事曾经发生在我的摩托罗拉Xoom上。。。但是第一个建议在大多数设备上都很有效(至少在我的经验中是这样)。

简单shell->sqlite返回一个权限拒绝错误,但这是正确的方法。第二种可能很好,但我需要根权限来提取文件。我该怎么做?好的,我用shell和su将文件复制到SD卡中。然后我把它从那里拔了出来。还有一步,但完成了任务。令人惊叹的!