2015-07-13 86 views
1

我正在编写一个SQLite数据库的Android应用程序在后台。 该数据库中获取由应用程序创建的,并存储在设备上的默认目录:从Android应用程序调试SQLite数据库

[email protected]: ls /data/data/com.package.example/databases # 
MyDb.db 
MyDb.db-journal 

在开发过程中我想测试一下,如果行被插入/正确更新,所以我需要去看看在数据库上。有一个非常好的工具叫做SQLite Database Browser(适用于Win,Mac和Linux)。

有了这个工具,我可以打开数据库,浏览,插入和更新的行等等... 的问题是,我首先需要将数据库从设备复制到我的本地机器:

# On Android Shell 
# (Cannot pull directly from /data/-directory) 
cp /data/data/com.package.example/databases/MyDb.db /sdcard/ 


# On developing machine 
adb pull /sdcard/MyDb.db 

比我有我的机器上的数据库,我终于可以打开它。

我的问题是:有没有更好/更快的方法呢?我可以以某种方式直接访问设备上的数据库?

+0

如果您可以写入数据库,也可以从中读取数据。所以从它读取,看看是否一切正常。 – greenapps

回答

3

有一个命令行版本sqlite3可用,它允许您直接访问/查看/修改Android设备上的adb(root)shell中的SQLite数据库,而无需将数据库复制到您的计算机。

当然,你需要在设备上的根,否则你不能访问数据库内的应用程序私人目录。

编辑:一些Android SQLite工具似乎实现了类似远程接口或GUI的命令行sqlite3工具,如上所述。我没有测试过它,但SQLiteStudio与它的DBAndroid plugin组合似乎提供了从PC访问Android手机上数据库的GUI访问(不复制数据库)。不幸的是,插件是不是免费的(商业)

+0

谢谢!听起来很不错,我会检查一下。 –

+1

我今天发表评论,因为我主动使用这个工具(SQLiteStudio + DBAndroid),它现在是免费的和GPL,但你可以捐赠给作者。 他非常反应! –

2

这是最好的库,我发现调试数据库

https://github.com/amitshekhariitbhu/Android-Debug-Database

无需下载任何文件。简单的整数。简单浏览器视图。

Android调试数据库可以做什么?

  • 查看所有数据库。
  • 查看您的应用程序中使用的共享偏好 中的所有数据。
  • 在给定数据库上运行任何sql查询以更新和删除数据。
  • 直接编辑数据库值。
  • 直接编辑共享首选项。
  • 直接在数据库中添加一行。
  • 在共享首选项中直接添加键值。
  • 删除行和共享首选项。
  • 在您的数据中搜索。排序数据。
  • 下载数据库。

在应用程序中使用Android的调试数据库库

添加到您的应用程序的的build.gradle

debugCompile 'com.amitshekhar.android:debug-db:1.0.1' 

ScreenShot

希望这会有所帮助。

+0

它是否适用于仿真器以及真实设备? –

相关问题