Android利用Stetho库可以打印出所有网络请求吗?有示例代码吗
是的,Android利用Stetho库可以打印出所有网络请求。以下是示例代码:
- 添加依赖
在项目的build.gradle中添加以下依赖:
dependencies {
// Stetho库
implementation 'com.facebook.stetho:stetho:1.5.0'
// OkHttp3网络请求库
implementation 'com.squareup.okhttp3:okhttp:3.12.0'
}
- 初始化Stetho
在Application类的onCreate()方法中初始化Stetho:
import com.facebook.stetho.Stetho;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Stetho.initializeWithDefaults(this);
}
}
- 使用StethoInterceptor
在OkHttp3的网络请求中添加StethoInterceptor,用于打印网络请求信息:
import com.facebook.stetho.okhttp3.StethoInterceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建OkHttpClient
OkHttpClient client = new OkHttpClient.Builder()
.addNetworkInterceptor(new StethoInterceptor())
.build();
// 创建Request
Request request = new Request.Builder()
.url("https://www.example.com")
.build();
// 发送网络请求
try {
Response response = client.newCall(request).execute();
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上代码中,使用OkHttpClient创建了一个网络请求,通过addNetworkInterceptor()方法添加了StethoInterceptor,用于打印网络请求信息。发送网络请求后,可以在Chrome浏览器的DevTools中查看网络请求信息
原文地址: https://www.cveoy.top/t/topic/foeD 著作权归作者所有。请勿转载和采集!