Android开发利器之stetho

时间:2022-10-13 18:45:27

文章同步自javaexception

Stetho是什么?

github上地址https://github.com/facebook/stetho

stetho是facebook出品的一款开发调试工具,使用此工具极大的提高了开发android app的效率。它提供的功能包括,可视化查询sharepreference数据内容,可视化查看db数据,支持自己写sql语句查询数据,另外还支持拦截网络请求,输出网络请求堆栈数据。对于定位分析问题及其有理,也方便测试。比如在测试某个配置项,可以可视化修改key对应的值,然后刷新页面就可以生效,有比如编写sql语句删掉某些数据,刷新后,页面上的数据就没了等等。当真正熟练后,会发现离不开这个好帮手的。

如果所示操作sp页面生效

Android开发利器之stethoAndroid开发利器之stethoAndroid开发利器之stetho

Android开发利器之stetho

操作数据库

Android开发利器之stetho

网络请求拦截,可以查看对应的参数,请求头,消息体等等

Android开发利器之stetho

如何使用?

说了那么多,如何引入到自己的项目中呢?

在app/build.gradle文件里面添加

implementation 'com.facebook.stetho:stetho:1.5.1'

接着在自定义的Application类的onCreate方法中添加如下代码

@Override
public void onCreate() {
super.onCreate();
if (BuildConfig.DEBUG) {
Stetho.initializeWithDefaults(this);
}
}

到此为止stetho已经集成到项目中了,可以使用查看sp,查看db的功能了,但是还不能使用网络请求拦截的功能,还需要如下的配置。

在okhttp的代码中添加一个interceptor

OkHttpClient.Builder builder = new OkHttpClient.Builder();
if (BuildConfig.DEBUG) {
builder.addNetworkInterceptor(new StethoInterceptor());
}

在app/build.gradle文件里面添加

implementation 'com.facebook.stetho:stetho-okhttp3:1.5.1' 

FAQ

stetho利器已经配置好了,可以利用它大幅度提高开发效率。如果使用过程中碰到了其他问题,可以到https://github.com/facebook/stetho/issues寻找答案