Android用户有没有办法在他/她的手机上浏览SQLite数据库并查看数据库中的数据?
我经常使用SoftTrace beta程序。它很棒,但我无法找到将它跟踪的数据下载到PC上。
答案 0 :(得分:26)
特定应用的数据库位于/data/data/[packagename]/databases
packagename是您在清单中定义的包,例如/data/data/org.vimtips.supacount/databases/counts.db
。
您可以使用adb shell
查看并输入sqlite3 /data/data/org.vimtips.supacount/databases/counts.db
或者您可以使用第三方实用程序从设备中将其拉出来,使用adb pull /data/data/org.vimtips.supacount/databases/counts.db .
等命令进行查看。
这假设您有权查看数据库,如果您没有自己编写应用程序,则可能没有...但在这种情况下,它实际上是编程问题吗?
答案 1 :(得分:18)
如果您使用的是Eclipse,则可以使用名为“Questoid SQLite Browser”的插件浏览Android模拟器上的SQL Lite数据库:
以下是更详细的教程:http://www.tylerfrankenstein.com/browse-android-emulator-sqlite-database-eclipse
答案 2 :(得分:7)
以下free
方法适用于我is not rooted
的手机。积分转到this SO answer。
adb backup -f backup.ab -noapk app.package.name
Android Backup Extractor
jar,然后运行java -jar abe.jar unpack backup.ab extractedbackup.tar
。在Linux上,您可以按照我在开始时所称的答案中的dd
说明进行操作。 SQLite Database Browser
,然后打开db
中包含的extractedbackup.tar
文件。就个人而言,为了简化这个过程,我首先将adb添加到我的环境PATH中。然后我创建了一个备份文件夹,我存储了上面提到的所有文件。这使我不必在整个地方进行cd(更改目录)。
答案 3 :(得分:5)
Questoid插件的售价为9美元,需要注册。 Windows上的另一种替代方法是下载开源公共域SQLLite浏览器(下面的链接),然后从手机中提取数据库。在Eclipse中,您可以从文件浏览器执行此操作,转到手机或模拟器上的/ data / data / [packagename] / databases目录,然后单击右上角的“从设备中提取文件”。在本地保存数据库,然后使用SQLite浏览器打开。
答案 4 :(得分:4)
实际上,在我发现在模拟器上开发时,从数据库中获取“实时”结果的最常用(但仍然是hacky)方式是:
创建一个脚本以从模拟器中提取数据库,如下所示
#!/bin/bash
ANDROID_HOME=/path/to/sdk
ADB=$ANDROID_HOME/platform-tools/adb
REMOTE_DB_PATH=/data/data/com.yourpackage.name/databases/your_db
LOCAL_DB_PATH=.
while true; do
echo copying DB...
`$ADB pull $REMOTE_DB_PATH $LOCAL_DB_PATH`
sleep 3
done
运行它。
打开数据库的本地副本(由步骤1中的运行脚本不断覆盖)
输入您的SQL:
选择File->Reconnect
Run SQL
关键技巧是重新连接不会重置在步骤4中输入的SQL(例如,在SQLite Browser中),因此您可以重复步骤 5,6 以查看来自你的Android数据库的“实时”结果。
请注意,这仅适用于模拟器,它不适用于真实设备(即使是有根设备)。
答案 5 :(得分:3)
如果您有幸获得IntelliJ Ultimate,那么您可以插入设备,打开右侧的“数据库”选项卡,单击+,选择SQLite。其余的都是微不足道的。
要记住的一件事是你必须不断点击数据库(或选定的表格)上的“同步”按钮来查看外部所做的更改,这非常烦人。
答案 6 :(得分:3)
您可以使用此库从您的应用中查看数据库。 https://github.com/sanathp/DatabaseManager_For_Android
使用此库,您可以从应用程序本身管理您的应用程序SQLite数据库。 您可以查看应用数据库中的表,更新,删除,向表中插入行
它是一个单独的java活动文件,只需将java文件添加到源文件夹中。当开发完成后,从你的src文件夹中删除java文件。
它给了我很多帮助。希望它也可以帮到你。
您可以在此处查看1分钟演示:http://youtu.be/P5vpaGoBlBY
答案 7 :(得分:1)
请参阅this回答。您可以使用Facebook的Stetho库,然后只需从Chrome浏览器浏览数据库:)