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/odYr 著作权归作者所有。请勿转载和采集!