继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

安卓调试神器-Stetho的使用

Demo_Yang
关注TA
已关注
手记 45
粉丝 35
获赞 116

痛点

我们都知道对于Web开发者来说 Chrome是个十分方便的调试神器,但是对于Android来说,可能之前的网络调试大多我们都用PostMan或者类似的工具进行调试,Get的请求还好,但是当设计到有大量请求头的请求的时候,就比较麻烦了需要添加很多的请求。还有当我们看手机APP数据库存储的时候,更多的是连上手机把手机root,然后通过Android Device Monitor找到db文件,然后导出到PC上,再通过PC上的数据库工具来打开查看。这种步骤比较繁琐,而且还会遇到data文件夹因为权限问题打不开的问题。接下来我们了解了Stetho之后,这些问题便轻而易举的解决了。

介绍

由Facebook推出的Stetho基于Chrome控制台,将网络监控,程序数据,甚至js 控制台整合在一起非常方便
GitHub地址:https://github.com/facebook/stetho

使用

Stetho的集成

项目集成
 compile ‘com.facebook.stetho:stetho:1.5.0‘
 implementation 'com.facebook.stetho:stetho-okhttp3:1.5.0'

看过我之前文章的朋友们,可以继续把这些添加到config.gradle当中统一管理
然后直接引用

 implementation project.ext.stethoDeps
初始化Stetho
if (BuildConfig.DEBUG) {
            Stetho.initializeWithDefaults(this);
        }

这里我们设置只在Debug模式下初始化Stetho

网路请求调试

1.代码集成

这里我们开始集成代码 代码本身就是我们之前MVVM框架的代码

 val client = OkHttpClient.Builder()
                .addNetworkInterceptor(StethoInterceptor())
                .build()

        val remote = Retrofit.Builder()
                .baseUrl("http://www.weather.com.cn")
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .client(client)
                .build().create(WeatherService::class.java)

2.测试

这里我们需要打开Chorme浏览器 输入

chrome://inspect/#devices


这里可以看到我们的项目,然后点inspect就可以了,点开之后如果404的话,需要大家自备梯子翻墙了
准备好梯子之后,我们就能看到我们想要的结果了

还可以看到请求头以及请求


至此网络请求调试完成

数据库查看

1.代码集成

有了网络请求之后,我们看看数据库怎么查看。集成就不说了和网络一样

2.测试

在Chrome的控制台中选择Resources,这里保存了手机上的数据,Web SQL下面就是数据库了,点击就可以看到数据库中有多少张表,每张表里有多少数据。Local Storage中保存了本地缓存数据也就是sharedpreference中的数据,点击对应的应用也可以清楚看到存储的数据。
如果想要修改的话,可以点击数据库文件名就进入cmd模式了,可以通过sql命令来增删改查,如下图。

至此Stetho常用的功能介绍完了,还有其他功能待我们去发掘补充。

最后

合理的工具的利用,可以让我们的开发事半功倍,寻找好的开发工具,可以让我们的开发效率大大提升!

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP