浏览Android SQLite数据库中的数据
有没有办法使Android用户浏览手机上的SQLite数据库并查看数据库中的数据?
我使用SoftTrace beta程序很多。 这是伟大的,但我无法find将其跟踪的数据下载到PC。
特定应用程序的数据库位于/data/data/[packagename]/databases
软件包名称是您在清单中定义的软件包,例如/data/data/org.vimtips.supacount/databases/counts.db
。
你可以用adb shell
来查看它,并inputsqlite3 /data/data/org.vimtips.supacount/databases/counts.db
或者,您可以从设备中使用第三方实用程序来查看它,并使用adb pull /data/data/org.vimtips.supacount/databases/counts.db .
命令adb pull /data/data/org.vimtips.supacount/databases/counts.db .
。
这假定你有权限查看数据库,如果你没有自己写应用程序,你可能没有这个数据库,但是在这种情况下,它实际上是一个编程问题吗?
如果您正在使用Eclipse,则可以使用名为“Questoid SQLite Browser”的插件来浏览Android模拟器上的SQL Lite数据库:
- 安装插件
- 重新开启eclipse
- 启动你的模拟器
- 切换到DDMS
- 用插件打开数据库(就像之前提到的@synic,数据库位于这里例如/ data / data / my_project / databases)
这里是一个更详细的教程: http : //www.tylerfrankenstein.com/browse-android-emulator-sqlite-database-eclipse
这是free
方法,为我工作在一个is not rooted
的电话。 信贷去这个答案 。
- 使用
adb backup -f backup.ab -noapk app.package.name
- 在Windows上,下载SourceForge上的
Android Backup Extractor
jar,然后运行java -jar abe.jar unpack backup.ab extractedbackup.tar
。 在Linux上,您可以按照我在一开始就给出的答案的dd
指令。 - 从SourceForge下载
SQLite Database Browser
,然后打开extractedbackup.tar
包含的db
文件。
就个人而言,为了使这个过程更容易,我首先添加adb到我的环境path。 然后我做了一个备份文件夹,我存储上面提到的所有文件。 这使我无需cd(改变目录)到处都是。
Questoid插件的价格为9美元,需要注册。 Windows上的另一种select是下载开放源代码的公共域SQLLite浏览器(下面的链接),然后从手机中提取数据库。 在Eclipse中,您可以通过文件浏览器进入到手机或模拟器上的/ data / data / [packagename] / databases目录,然后单击右上angular的“从设备上拉取文件”。 在本地保存数据库,然后用SQLite浏览器打开。
实际上,当我在模拟器上开发的时候,从数据库中获得“实时”结果的最有效(但仍然是哈希)方法是:
-
创build一个脚本来从仿真器中拉出数据库,就像这样
#!/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
运行。
-
安装Firefox的SQLite Manager插件
-
打开你的数据库的本地副本(这是由步骤1中的运行脚本不断覆盖)
-
input你的SQL:
-
select
File->Reconnect
- 点击
Run SQL
关键的技巧是重新连接不会重置步骤4中input的SQL(例如,在SQLite浏览器中 ),所以您可以重复步骤5,6以查看android数据库的“实时”结果。
请注意,这只适用于仿真器,它不适用于真正的设备(甚至根植的设备)。
您可以使用此库在应用程序中查看您的数据库。 https://github.com/sanathp/DatabaseManager_For_Android
有了这个库,您可以从您的应用程序本身pipe理您的应用程序SQLite数据库。 您可以查看应用程序数据库中的表,更新,删除,插入行到您的表
它的一个单一的Java活动文件,只是将Java文件添加到您的源文件夹。当开发完成从您的src文件夹删除java文件多数民众赞成它。
它帮了我很多,希望它也能帮助你。
您可以在这里查看1分钟演示:http: //youtu.be/P5vpaGoBlBY
如果您足够幸运能够获得IntelliJ Ultimate,那么您可以插入设备,打开右侧的“数据库”选项卡,单击+,selectSQLite。 其余的是微不足道的。
要记住的一件事是,你必须不断点击数据库(或在选定的表)上的“同步”button来查看外部进行的更改,这是非常烦人的。
看到这个答案。 你可以使用来自Facebook的Stetho库,然后从Chrome浏览器数据库:)