Android 使用Stetho在Chrome浏览器查看SQLite数据库

前情提要

做Android经常要查看本地SQLite数据库的数据,可以直接用RootExplorer查看,或者在Android Studio中导出数据库文件,然后用第三方SQLite可视化工具查看,比如SQLiteStudio,但是这些方法的前提是设备要Root,否则还是没有权限查看数据库,今天要介绍一款Facebook出品的工具,Stetho,设备可以不用Root,直接在Chrome浏览器中查看数据库。

集成Stetho

添加依赖

1
2
3
dependencies {
implementation 'com.facebook.stetho:stetho:1.5.1'
}

Click and drag to move

在Application中初始化,OK了,就这一行代码

1
2
3
4
5
6
7
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
Stetho.initializeWithDefaults(this);
}
}

Click and drag to move

1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yeyuanxinyi.androidtest">
<application
android:name=".App">
</application>
</manifest>

Click and drag to move

在Chrome中查看

首先设备用USB线连接电脑,然后打开手机应用

然后在谷歌浏览器中输入chrome://inspect并回车,出现如下页面,可以看到我的手机MX5和我的应用“野猿新一”

imgClick and drag to move

点击inspect会弹出如下页面,切换到Resource页签就可以查看数据库了,在左侧Web SQL下可以看我的应用中创建的数据库school及下面的表student

imgClick and drag to move

点击数据库名,可以进入SQL编辑页面,在这里可以直接执行增删改查等操作

imgClick and drag to move

缺点

  1. 相比一些第三方的可视化SQLite工具,Chrome的DevTools查看数据库功能还是比较少的
  2. 想导出数据库文件却未发现导出功能
  3. 第一次使用点击inspect无法进入,出现“http/1.1 404 not found”错误,需要用SVN翻墙使用,第一次成功后后面就可以直接进入了。