美文网首页Android技术知识Android开发经验谈Android开发
让Android像http那样监控网络请求(基于Retrofit

让Android像http那样监控网络请求(基于Retrofit

作者: zhongjh | 来源:发表于2019-07-05 11:33 被阅读1次

大家知道,本身Android网络请求时候,不管是查看传输数据还是查看返回数据,都是需要使用日志形式或者调试模式查看的,这样会在写代码过程中相当麻烦。

而做过网站开发的都知道,监控网络请求是相当一件方便的事。

那么我们现在讲的就是:
如何让Android像Web开发使用调试功能查看页面的访问数据一样那么方便!

Stetho

使用之前,我们先了解Stetho。他是Facebook出品的一个非常强大的Android调试工具。在基于你已经正常使用Retrofit或者okhttp的情况下,只需要简单3步,你就可以在Chrome浏览器上的Developer Tools中调试你Retrofit的请求了。

Step1:添加依赖
// 基本操作
compile 'com.facebook.stetho:stetho:1.5.0'
// 网络操作--有网络操作添加
compile 'com.facebook.stetho:stetho-okhttp3:1.5.0'
Step2:代码配置
public class MyApplication extends Application {
  public void onCreate() {
    super.onCreate();
    if (BuildConfig.DEBUG) {
        Stetho.initializeWithDefaults(this);
    }
  }
}
Step3:http配置增加监控,因为作者我使用Retrofit2,所以这边只讲Retrofit2的,okhttp其实也差不多
Retrofit.Builder builder = new Retrofit.Builder()
        .baseUrl(BASE_URL)
        .addConverterFactory(GsonConverterFactory.create())
        .addCallAdapterFactory(RxJavaCallAdapterFactory.create());
// 具体情况根据自己项目真实场景来,最终目的就是只有debug模式下使用addNetworkInterceptor(new StethoInterceptor())
if (BuildConfig.DEBUG) {
    OkHttpClient client = new OkHttpClient.Builder()
            .addNetworkInterceptor(new StethoInterceptor())
            .build();
    builder.client(client);
}

开始使用

完成上述的步骤之后,重新run一下你的应用程序。
在Chrome的地址栏输入chrome://inspect查看device状态,应该可以看见你应用的进程出现在了此处。
点击inspect按钮即可进入调试界面。注意,如果第一次打开很久进不去,需要翻墙

image.png

点击inspect后可以非常方便的看到所有你想看到的内容

image.png

如果你对这方面有兴趣的话欢迎关注,后面使用它碰到相关问题我会实时更新在这里做记录 :)

相关文章

网友评论

    本文标题:让Android像http那样监控网络请求(基于Retrofit

    本文链接:https://www.haomeiwen.com/subject/zyeshctx.html