Stetho简介

  Stetho 是 Facebook 开源的一个 Android 调试工具。是一个 Chrome Developer Tools 的扩展,可用来检测应用的网络、数据库、WebKit 等方面的功能。开发者也可通过它的 dumpapp 工具提供强大的命令行接口来访问应用内部。无需root查看sqlite文件、sharedpreference文件等等。更多详细介绍可以进入Stetho官网。

Stetho结合OkHttp使用

添加依赖
// Gradle dependency on Stetho dependencies { compile 'com.facebook.stetho:stetho:1.1.1' }
Stetho初始化配置

在App的Application中完成初始化。

public class MyApplication extends Application {public void onCreate() {super.onCreate();Stetho.initialize(Stetho.newInitializerBuilder(this).enableDumpapp(Stetho.defaultDumperPluginsProvider(this)).enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this)).build());}
}

官网中使用OkHttp为实例,使用如下

OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new StethoInterceptor());

然后就可以运行App进行调试,基本上可以满足调试需求了。

Stetho结合Volley使用

官网中Stetho是结合OkHttp的使用,如果项目中使用Volley做为网络请求框架,可以做如下修改。还是使用OkHttp做为Volley中HttpStack的实现,我们知道,Volley中网络请求在Android2.3及以上基于HttpURLConnection,2.3以下基于HttpClient实现,通过增加HttpStack的具体实现即可。这里使用Bryan Stern分享的代码。(网页可能被墙,可以通过VPN访问。需要VPN的可以点击这里)

添加依赖
compile 'com.facebook.stetho:stetho:1.1.1'
compile 'com.facebook.stetho:stetho-okhttp:1.1.1'
compile 'com.squareup.okhttp:okhttp:2.3.0'
Stetho初始化配置
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new StethoInterceptor());
mRequestQueue = Volley.newRequestQueue(getApplicationContext(), new OkHttpStack(client));

好了,基本上这样就能使用Stetho神器调试你的App了,感觉到强大了么~。

补充:使用中遇到的坑

  • Stetho inspect窗口空白

    如果出现调试窗口空白,先升级下Chrome吧。升级最新版后再试一下(我被这个坑了)。

  • Stetho inspect窗口还是空白

    如果Chrome是最新版,无论如何刷新都是空白,那么恭喜你你可能被墙了~用VPN试试吧 http://reftizi.com/?r=bf31aecac9700bac“>可以戳这里哦

我的测试代码和效果图如下:

自定义Application类:

public class MyAppliation extends Application {@Overridepublic void onCreate() {super.onCreate();context = getApplicationContext();instance = this;Stetho.initialize(Stetho.newInitializerBuilder(this).enableDumpapp(Stetho.defaultDumperPluginsProvider(this)).enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this)).build());}/*** @return The Volley Request queue*/public RequestQueue getRequestQueue() {// lazy initialize the request queue, the queue instance will be// created when it is accessed for the first timesynchronized (App.class) {if (mRequestQueue == null) {OkHttpClient client = new OkHttpClient();client.networkInterceptors().add(new StethoInterceptor());mRequestQueue = Volley.newRequestQueue(getApplicationContext(), new OkHttpStack(client));}}return mRequestQueue;}
}

Activity类代码:

public class MainActivity extends Activity {private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.layout_main);tv = (TextView)findViewById(R.id.tv);RequestQueue queue = App.getInstance().getRequestQueue();String url = "https://publicobject.com/helloworld.txt";StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {@Overridepublic void onResponse(String s) {LogUtil.d(s);tv.setText(s);}}, new com.android.volley.Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError volleyError) {LogUtil.e(volleyError.toString());}});queue.add(request);SharedPrfUtil.setInt("uid",669);SharedPrfUtil.setString("username","dongye");}
}

实现效果如下图:

如何使用神器Stetho调试Volley相关推荐

  1. stetho 调试数据库_stetho是适用于android应用程序的最佳调试工具

    stetho 调试数据库 As Android developers, our development life often involves integrating API or web servi ...

  2. Stetho调试无法查看本地数据

    Stetho调试一直用得好好的,几周前突然发现Inspect的Resources选项显示空白,而其它项都能用,比如Network.Elements,所以应该不是网络或者GFW的原因.尝试了好多方法,都 ...

  3. stetho 调试数据库_使用Stetho轻松调试Android应用程序

    stetho 调试数据库 Many times while developing android applications I face problems in debugging. It is re ...

  4. Stetho调试神器使用

    作为android开发,必须经常用到网络调试,为了方便开发,经常用到抓包工具,比如android开发经常用到的Fidder,但是说实话,这东西配置起来很麻烦,配置代理.证书各种操作. 所以引入另外一个 ...

  5. Android 调试神器-Stetho(Facebook出品)的使用

    前言 Chrome的Developer Tools对于WEB开发者来讲几乎是一个神器,而Chrome Store里也有无奇不有的插件,如果Chrome能调安卓应用应该是一件美好的事,而Facebook ...

  6. Android调试神器stetho使用详解和改造 1

    本文由云+社区发表 作者:NaOH 概述 stetho是Facebook开源的一个Android调试工具,项目地址:facebook/stetho 通过Stetho,开发者可以使用chrome的ins ...

  7. 安卓调试神器-Stetho(Facebook出品)的使用

    前言 Chrome的Developer Tools对于WEB开发者来讲几乎是一个神器,而Chrome Store里也有无奇不有的插件,如果Chrome能调安卓应用应该是一件美好的事,而Facebook ...

  8. android调试神器Stetho

    前言: 在我们平时开发中,经常会用到网络请求,sharepreference或者是数据库,但是要做调试的时候却很麻烦.网络请求需要用抓包,数据库调试起来就更麻烦了,需要root手机,并且频繁的打开DD ...

  9. Android开发调试神器——Stetho介绍

    随着Android开发技术的逐步完善,好用的插件,开源项目越来越多,善于使用这些插件能够大大提升你的开发效率.今天介绍一个Facebook开源的Andorid调试工具. 由Facebook推出的Ste ...

最新文章

  1. 第三课 弹性盒模型知识点
  2. Android APK方式换肤实现原理
  3. 【白话机器学习】算法理论+实战之PCA降维
  4. 腾讯云EMR基于YARN针对云原生容器化的优化与实践
  5. ssh 端口_【科普】SSH都不懂,还搞什么网络
  6. SOLID 设计原则 In C# 代码实现
  7. python变量类型之间转换_【Python】Python 变量类型(变量赋值,数据类型,数据转换)...
  8. CCF NOI1000 加密算法
  9. RESTFULL 01 规范
  10. Redis学习笔记三:多机数据库的实现
  11. java sync 实现原理_JAVA 同步实现原理
  12. linux+ipv6免流量下载,Ubuntu 12.04 校园网下使用IPv6源 免流量更新
  13. linux 分区怎样缩小,如何缩小磁盘分区大小
  14. 《我的眼睛--图灵识别》第四章:基础:图片识别
  15. win10便签常驻桌面_做备忘录,用win10自带的便笺工具就可以了,免费又方便
  16. 千图网免费下载工具(windows版)
  17. python+yolov3 输出中文标签
  18. 赵明称荣耀2022年全球销量有望翻倍;微软完成197亿美元收购Nuance | 美通社头条...
  19. Python 获取动漫番剧 -XXOO
  20. 返璞归真-删除文件默认打开方式

热门文章

  1. ubuntu服务器下载百度云盘内容
  2. Java继承中的子类父类构造方法的调用
  3. mysql登录不用输密码登录_mysql实现不用密码登录的实例方法
  4. 程序员视频学习网站,推荐这几个网站不错
  5. xshell往linux传文件,Xshell向Linux服务器上传文件的详细步骤
  6. python rgb2gray,skimage.color中的rgb2gray是如何实现彩色图片灰度化
  7. 编程随想(更2015.11.13)
  8. C语言基础Day02数据类型及运算符
  9. 全国统计专业技术中级资格考试大纲(2021年)
  10. Linux(Centos)部署 Python项目