NanBox

在 Android Studio 上调试数据库 ( SQLite )

以前 Eclipse 时代,调试 SQLite 都是将数据库文件导出到电脑,然后再用软件打开查看。现在我们用 Android Studio,有没有更方便的方法呢?

SQLScout

安装

SQLScout 是一个 Android Studio 的插件,通过点击:

Setting —> Plugings —> Browse Repositories

搜索 SQLScout 安装即可。

要是下载不动,可以到这里下载,然后点击 Install plugin from disk 导入。

加载

成功安装后重启 Android Studio,会发现右边的侧边栏出现了 SQLite Exporer,展开后点击「+」会出现三个选项:

我们从下往上说吧。

Local SQLite Database

如果要调试的数据库已经导出在电脑里了,就选择这一项来加载。

Android (Download Database Locally)

通常情况下,我们要调试的数据库是在手机上的,可以用这个功能把数据库提取出来。选择需要调试的设备、项目包名及数据库名就可以了。

Android (Live Device Connection)

上面两种方法的缺点很明显,都无法实时更新数据库。

Live Device Connection 是 SQLScout 2.0 新增的功能,和上面的区别是,它可以实时管理、更新数据库。

使用之前需要在在 project 的 build.gradle 里面添加:

1
2
3
4
5
6
7
8
allprojects {
repositories {
jcenter()
maven {
url 'http://www.idescout.com/maven/repo/'
}
}
}

在 module 的 build.gradle 里面添加:

1
compile 'com.idescout.sql:sqlscout-server:2.0'

在启动的 Activity 的 onCreate 方法添加一句代码:

1
SqlScoutServer.create(this, getPackageName());

调试

整个界面如下:

它们分别是:

  1. 数据库列表:要调试的数据库列表,展开显示数据库中的表,可以右键打开 SQL 编辑器。
  2. SQL 编辑器:输入 SQL 语句的地方,支持自动补全及代码高亮。
  3. 数据控制台:用类似 Excel 的格式展示查询的数据,也可以在这里编辑数据。
  4. 数据关系图:用于展示表和字段的关系。

是不是很好用,简直就是神器啊!但这么好用的东西是收费的。

穷屌丝用不起怎么办?接着往下看啊。

Android Debug Database

这是一个开源的项目(免费),项目地址在这

先在 module 的 build.gradle 里面添加:

1
debugCompile 'com.amitshekhar.android:debug-db:1.0.0'

让手机和电脑处于一个局域网下,当项目跑起来的时候,在 logcat 里面会打印出这么一行:

1
D/DebugDB: Open http://XXX.XXX.X.XXX:8080 in your browser

把地址复制到浏览器,就会看到一个这样的界面:

很容易理解,里面几个栏目分别是:

  1. Query:写 SQL 语句的地方
  2. Databases:数据库
  3. Tables:数据库中的表
  4. Data:表中的数据,支持编辑、搜索

就是这么简单,妥妥的。