AndroidデバッグツールStetho使用学習

3066 ワード

原文の住所:http://tech.luffyjet.com/2015/04/08/facebook-stetho-okhttp-study/
今年の初めにfacebookはAndroidの開発デバッグツールを起源として、stethoといいます。単語stethoscopeの一部でしょう。診断器という意味です。
コード委託先住所: https://github.com/facebook/stetho
プロジェクトに該当コードを追加し、Chrome DevToolsで設備を接続した後、以下の機能を備えています。
  • は、Chrome内のネットワークアクセス検出を行うことができ、要求リンク、要求ヘッダ、JSONデータなどの
  • を見ることができる。
  • rootでない場合はSqliteデータベースを調べ、sql文を使って
  • を操作することができます。
  • は最近またアップグレードしました。API 15以上はView hierarchyを見ることができます。
  • dumpapツールは、強力なコマンドラインインターフェースを提供して、アプリケーション内部
  • にアクセスする。
    更新が頻繁で、先日は1.1.0に更新されました。Android Studioを使ってプロジェクトに簡単に追加できます。もちろん、githubページから最新のJarパッケージをダウンロードすることもできます。
    Chrome DevToolsを使うには科学的なインターネットが必要です。そうでないとinspectを注文するとずっと白い板が出ます。(または他の方法を求めて解決する)
    プロジェクトでStethoを起動するには便利です。公式の説明に従います。
  • 初期化コードをAppplicationに追加しました。このステップを完了すると、ビュー階層構造を確認し、デフォルトdumpapツールを使用する能力があります。
  • ネットワーク検出を開始するには、2つの方法があります。
  • HttpURLConnectionを使うのはちょっと面倒くさいです。私が提供したDEMOのコードを参考にしてもいいです。もう一つの依頼stetho-urlconnection
  • を使いたいです。
  • 現在大流行のOkHttpを使うととても便利です。OkHttpClientにStethoInterceptorを設定すればいいです。もう一つの依存stetho-okhttp
       public class MyApplication extends Application {
          public void onCreate() {
            super.onCreate();
            Stetho.initialize(Stetho.newInitializerBuilder(this)
                .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                  .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this)).build();
         }
    }
    
  • が必要です。
  • Retrofitというオープンソース項目を使ったら、便利に設定できます。stetho-ok http
    OkHttpClient client = new OkHttpClient();
    client.networkInterceptors().add(new StethoInterceptor());
    
  • にも依存しています。
  • カスタムdumpapは私が提供したDEMOのコードを参考にしてもいいです。注意すべきなのは、このツールはLinuxとMacのようなUnix環境でしか実行できません。
  • 効果スクリーンショット(クリックして大図を見ることができます)
  • ネットワーク要求監視
  • .sqliteの操作効果を確認する
  • sharepreference
  • を参照してください。
  • は、Chrome上でViewのレベル
  • を見る。
  • 上の図の階層でアクションバーを選択すると、選択された位置が携帯電話にも表示されます。
  • httpリクエストヘッドチェック
  • jsonデータは
  • を調べます。
    最後に私のDEMOを添付します。
    APK
    ソースコード
    同前