强大的AndroidStudio调试工具——Stetho

介绍一个Android的调试工具

之前一直用AndroidStudio的自带的工具进行调试,现在FaceBook早在前几年推出了一款提示工具——Stetho.

官方定义:

A debug bridge for Android applications

Android调试工具。

我们先看效果图吧:

网络查看:

强大的AndroidStudio调试工具——Stetho_第1张图片

数据库查看:

强大的AndroidStudio调试工具——Stetho_第2张图片这里写图片描述

sharedPreference的存储

强大的AndroidStudio调试工具——Stetho_第3张图片

另外还有图片等一些的查看。

用法

第一步 配置

// Gradle dependency on Stetho 
  dependencies { 
    compile 'com.facebook.stetho:stetho:1.4.2' 
  } 
<dependency>
    <groupid>com.facebook.stethogroupid> 
    <artifactid>stethoartifactid> 
    <version>1.4.2version> 
  dependency> 

如果你项目中使用的请求网络是OKHTTP则添加:

dependencies { 
    compile 'com.facebook.stetho:stetho-okhttp3:1.4.2' 
  } 

如果的气你去网络是HttpURLConnect的话,则添加:

dependencies { 
    compile 'com.facebook.stetho:stetho-urlconnection:1.4.2' 
  } 

第二步进行初始化Stetho

public class MyApplication extends Application{
    private static MyApplication application;

    @Override
    public void onCreate() {
        super.onCreate();
        application =  this;
        ActiveAndroid.initialize(this);
        Stetho.initialize(
                Stetho.newInitializerBuilder(this)
                        .enableDumpapp(
                                Stetho.defaultDumperPluginsProvider(this))
                        .enableWebKitInspector(
                                Stetho.defaultInspectorModulesProvider(this))
                        .build());
    }

   public static MyApplication getInstance(){
        return application;
    }

    @Override
    public void onTerminate() {
        super.onTerminate();
        ActiveAndroid.dispose();
    }
}

第三步进行

第三方的网络请求库,都可以添加拦截器,然后就可以在拦截器中把

Request Url

Request Headers

Request Body

Response Body

Response Code

之类都打印出来看
比如:

private void getFromNetwork() {
        OkHttpClient client = new OkHttpClient();
        client.networkInterceptors().add(new StethoInterceptor());
        Request request = new Request.Builder()
                .url("http://blog.csdn.net/androidstarjack")
                .build();
        Response response = null;

        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Request request, IOException e) {

            }
            @Override
            public void onResponse(Response response) throws IOException {
                String body = response.body().string();
                Message message = handler.obtainMessage();
                message.what=NETWORK;
                message.obj=body;
                handler.sendMessage(message);
            }
        });
    }

第四步进行

运行App, 打开Chrome输入chrome://inspect/#devices(跟上文查看数据库内容的步骤一样)
亲测在360浏览器 上运行也能成功。
注意:
如果您的第一次出现空白界面则需要进行。
强大的AndroidStudio调试工具——Stetho_第4张图片
强大的AndroidStudio调试工具——Stetho_第5张图片

这样就OK了。

以前是这样做处理的
  • 查看sqlite里面的数据都要通过这个Android Device Monitor找到/data/data/com.xxx.xxx/databases里面的db文件,然后导出到PC上,最后用PC上的数据库工具打开来查看。

  • 或者使用第三方的工具去查看(在手机root的前提下才能使用)

  • 连接上电脑,用360手机助手,或者是豌豆荚 ,应用宝之类的第三方的PC软件去查看工具。

现在有了Stetho是不是方面的多了?

用例项目地址:https://github.com/androidstarjack/StethoDemo2

如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809
微信公众号:终端研发部

(欢迎关注学习和交流)

你可能感兴趣的:(Android总结)