如何在Android中访问Sqlite数据库?

时间:2010-12-17 05:36:56

标签: android sqlite

我可以在我的模拟器中使用adb shell命令访问我的sqlite数据库。但我的HTC Desire手机无法做到这一点。它抛出一些权限被拒绝的消息。有没有可能访问这些数据库用于调试目的。有什么想法吗?

先谢谢。

3 个答案:

答案 0 :(得分:5)

您还可以在命令提示符/终端

中键入以下内容

如果您的应用包是com.example.dbtest且数据库名为sqlite.db

adb shell

run-as com.example.dbtest

cat databases/sqlite.db > /sdcard/sqlite.db

exit

exit

adb pull /sdcard/sqlite.db /path/to/place/file

(如果您将最后一个参数留空,则它将与adb放在同一目录中)

这不需要root并编写脚本来从您的应用中删除任何文件。

您还可以使用流式读取器和写入器将其复制到SD卡。不要像barmaley建议的那样逐行复制它,因为这可能会掩盖错误。

答案 1 :(得分:2)

我只能看到两个选项:

  1. 获取设备的root权限
  2. 编写特殊程序,将数据库复制到SD卡(只使用SQLite API记录)

答案 2 :(得分:0)

你不需要rootor export你db。您可以使用以下库直接从您的应用程序管理您的Android数据库

https://github.com/sanathp/DatabaseManager_For_Android

它是一个单独的java活动文件,只需将java文件添加到源文件夹即可查看应用数据库中的表,更新,删除,向表中插入行。从应用程序中获取所有内容。

开发完成后,从你的src文件夹中删除java文件。

它给了我很多帮助。希望它也可以帮到你。

您可以在此处查看1分钟演示:http://youtu.be/P5vpaGoBlBY