2016-02-16 11 views
5

Stethoのすべてが私のサンプルアプリケーションでうまくいきます。YouTube tutorial(SQLite、SharedPreferences show)を経てテストしましたが、動作したいネットワークコールを見ることはできません。Stetho:コンソールでネットワークコールが表示されない

アプリが読み込まれるときに、私は多数の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()); 

は、その後、私はまた、下部にStetho クラスが含まれています。

// 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; 
    } 
} 

そしてもちろん私も、適切な依存関係を持っている

compile 'com.facebook.stetho:stetho:1.3.0' 

ありがとう!

答えて

8

私は初期のネットワーク呼び出しが欠落して同じ問題を持っていましたが、すべてを確認する簡単な方法があります'一時停止した'アプリケーションに接続できるので、単純なブレークポイントを使用して呼び出します。

  • 最初のネットワークコールの前にデバッグしてブレークポイントを設定します(つまり、たとえば、アプリケーションのonCreateのどこかでStethoが初期化された後:-)
  • Chrome(chrome:// inspect /#devices)を開くと、Androidアプリケーションが表示されます(これはブレークポイントこの時点で)
  • 「inspect」をクリックすると、開発ツールが開きます。
  • それは
  • が選択されていない場合は、ネットワークタブを選択し、デバッグウィンドウで、「履歴書」ボタンをクリックし

(ない「RUN」ボタンを!) - >すべてのあなたの(ネットワークが表示されますStethoが正しくもちろん、統合されている場合)、私はエミュレータが動作します場合は、同じ

  • あなたStethoのinitが共同でわからない、唯一の私のデバイス上でこれを試してみました

    • )(今を呼び出します私は同じ構造を使用しました。

    • ネットワークコールを表示するには、httpクライアントに 'StethoInterceptor()'を追加する必要があります。私はアンドロイドで始めているので、私は

      (2.0.0-beta4)
      // 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(); 
      
    をすぐにあなたのコードでこれを行う方法を教えてくれますが、ここで私はレトロフィット2にStetho(1.3.1)の挿入方法ですができません
  • +0

    ありがとうございました!上記のパターンをRetrofitで使用し、すべてのNetworkリク​​エストを見ることができます。 –

    関連する問題