使用Stetho的所有内容在我通过此YouTube tutorial(SQLite,SharedPreferences节目)后测试的示例应用程序中运行良好,除了看到我喜欢的网络呼叫。
我在加载应用时进行了大量的API调用。例如,在我的Service.java类中,如下面的链接所示。也许它没有出现在Stetho中,因为在打开Stetho之前加载应用程序时会发生API调用。任何想法都会受到赞赏,以使此功能正常工作。
我在MainActivity.java中初始化Stetho。在 onCreate()我有
// Create class for Stetho
private static class SampleDumperPluginsProvider implements DumperPluginsProvider {
private final Context mContext;
public SampleDumperPluginsProvider(Context context){mContext = context;}
@Override
public Iterable<DumperPlugin> get() {
ArrayList<DumperPlugin> plugins = new ArrayList<>();
for (DumperPlugin defaultPlugin : Stetho.defaultDumperPluginsProvider(mContext).get()) {
plugins.add(defaultPlugin);
}
//plugins.add(new SyncAdapterFragment());
return plugins;
}
}
然后我还在底部包含了一个Stetho Class 。
compile 'com.facebook.stetho:stetho:1.3.0'
当然我也有正确的依赖
<security-constraint>
谢谢!
答案 0 :(得分:8)
我遇到了错过早期网络通话的相同问题,但是使用简单的断点可以轻松查看所有通话,因为您可以连接到暂停的网络通话。应用程序:
- &GT;您现在应该看到所有(网络)呼叫(如果Stetho当然是正确集成的)
我只在我的设备上试过这个,不确定模拟器的行为是否相同
你的Stetho init是正确的,我使用了相同的构造。
要查看网络电话,您需要添加一个&#39; StethoInterceptor()&#39;进入你的http客户端。我刚开始使用Android,所以我无法立即告诉您如何在代码中执行此操作,但这里是我如何在Retrofit 2(2.0.0-beta4)中插入Stetho(1.3.1)< / p>
// add a Facebook StethoInterceptor to the OkHttpClient's list of network interceptors
OkHttpClient okClient = new OkHttpClient.Builder()
.addNetworkInterceptor(new StethoInterceptor())
.build();
mRetrofit = new Retrofit.Builder()
.client(okClient)
.baseUrl(BASE_URL)
.build();