Ada*_*itz 7 java android stetho
使用Stetho的一切都在我的示例应用程序中运行得很好,我在浏览了这个YouTube教程(SQLite,SharedPreferences show)之后进行了测试,除了看到我喜欢的网络调用.
我在加载应用程序时进行了大量的API调用.例如,在我的Service.java类中,如下面的链接所示.也许它没有出现在Stetho中,因为API调用在应用程序加载之前发生,然后才能打开Stetho.任何想法都将得到赞赏,以使此功能正常工作.
我在MainActivity.java中初始化Stetho.在onCreate()我有
// Initialize Stetho
Stetho.initialize(
Stetho.newInitializerBuilder(this)
.enableDumpapp(new SampleDumperPluginsProvider(this))
.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
.build());
Run Code Online (Sandbox Code Playgroud)
然后我还在底部加入了一个Stetho Class.
// 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;
}
}
Run Code Online (Sandbox Code Playgroud)
当然,我也有适当的依赖
compile 'com.facebook.stetho:stetho:1.3.0'
Run Code Online (Sandbox Code Playgroud)
谢谢!
我遇到了错过早期网络呼叫的相同问题,但是有一种简单的方法可以使用简单断点查看所有呼叫,因为您可以连接到"暂停"应用程序:
- >你现在应该看到所有(网络)电话(如果Stetho当然是正确集成的)
我只在我的设备上试过这个,不确定模拟器的行为是否相同
你的Stetho init是正确的,我用了相同的结构.
要查看网络调用,您需要在http客户端中添加"StethoInterceptor()".我刚开始使用Android,所以我不能立即告诉你如何在你的代码中执行此操作,但这是我在Retrofit 2(2.0.0-beta4)中插入Stetho(1.3.1)的方法
// 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();
Run Code Online (Sandbox Code Playgroud)