大家知道,本身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
按钮即可进入调试界面。注意,如果第一次打开很久进不去,需要翻墙

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

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