博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Stetho查看数据库(android 直接查看数据库)
阅读量:6540 次
发布时间:2019-06-24

本文共 2549 字,大约阅读时间需要 8 分钟。

Stetho 是facebook的一个项目(A debug bridge for Android applications)主要用于项目的调试

项目主页:http://facebook.github.io/stetho/#download

使用步骤: (首先先升级谷歌浏览器到最新)

  1. 在gradle里添加
// Gradle dependency on Stetho   dependencies {     compile 'com.facebook.stetho:stetho:1.5.0'   } 复制代码

用maven的使用下面的

com.facebook.stetho
stetho
1.5.0
复制代码
  1. 初始化
public class MyApplication extends Application {  public void onCreate() {    super.onCreate();    Stetho.initializeWithDefaults(this);  }}复制代码

添加完之后 先来看看怎么进入调试的界面

在chrome浏览器中输入地址:chrome://inspect 会看到如下

点击inspect ,会弹出调试窗口:

查看数据库

点击resources 点击web sql,就能看到db和表,
双击表就能看到数据了。
双击db可以手动输入sql语句从而进行自定义查询。(由于隐私就不上图了 简单几句掠过)

查看ui结构

点击element 就能查看ui结构了

查看network

如果想要拦截network的话 需要另外安装一下东西

dependencies {     compile 'com.facebook.stetho:stetho-okhttp3:1.5.0'   } 复制代码

或者

dependencies {     compile 'com.facebook.stetho:stetho-okhttp:1.5.0'   } 复制代码

或者

dependencies {     compile 'com.facebook.stetho:stetho-urlconnection:1.5.0'   } 复制代码

根据官网的描述,如果想要启动拦截的话,需要启用拦截

使用 OkHttp 2.x

OkHttpClient client = new OkHttpClient();client.networkInterceptors().add(new StethoInterceptor());复制代码

使用 OkHttp 3.x

new OkHttpClient.Builder()    .addNetworkInterceptor(new StethoInterceptor())    .build();复制代码

在官网中,如果你用的是HttpURLConnection,你可以使用StethoURLConnectionManager去弄,常规的来说,你必须要明确指定添加Accept-Encoding: gzip头,然后手动处理被压缩的response,以便于Stetho减少处理负担 (原文:If you are using HttpURLConnection, you can use StethoURLConnectionManager to assist with integration though you should be aware that there are some caveats with this approach. In particular, you must explicitly add Accept-Encoding: gzip to the request headers and manually handle compressed responses in order for Stetho to report compressed payload sizes.)

上面是官方的图

想要更多细节,要查看github的sample

dumpapp

除了以上之外,还有dumpapp

Stetho.initialize(Stetho.newInitializerBuilder(context)    .enableDumpapp(new DumperPluginsProvider() {      @Override      public Iterable
get() { return new Stetho.DefaultDumperPluginsBuilder(context) .provide(new MyDumperPlugin()) .finish(); } }) .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(context)) .build());复制代码

上面是官方的截图 想要更多细节,要查看github的sample

Javascript Console

还可以使用js和应用设置sdk交互

以上是官网的截图

我在尝试的时候报错 说缺少插件 然后去官方demo里面发现还要安装东西

debugCompile project(':stetho-js-rhino')复制代码

根据注释 他们说这是一个很大的jar包 所以默认是关闭的 安装这个后应该就可以正常用了

总的来说,感觉还是很不错的,但是我可能就用db和network 有一些功能还没体验 有需要的时候再试试。以上基本是根据官网结合实际一些体验写下的文章

转载于:https://juejin.im/post/5a30cef7f265da43310dcee3

你可能感兴趣的文章
POJ1383 Labyrinth(树的直径:两次BFS)
查看>>
Node.js + Express 4.x + MongoDB 构建登录注册(二)
查看>>
关于十六进制和八进制负数的问题
查看>>
连接池并发的实现原理
查看>>
Range
查看>>
爬虫之lxml - etree - xpath的使用
查看>>
PyalgoTrade 打印收盘价(二)
查看>>
关于C语言指针【第二季】
查看>>
MYSQLi数据访问批量删除
查看>>
浪潮K-UNIX操作系统了解
查看>>
less: CSS 预处理语言
查看>>
知识管理系统VS文档管理系统的区别【转】
查看>>
最近点对
查看>>
《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day2
查看>>
PHP为什么会被认为是草根语言?
查看>>
解决NetBeans编辑器中文乱码问题
查看>>
ztree-demo 2
查看>>
javascript常用方法
查看>>
decode行转列,case when,
查看>>
C#数据类型与数据库字段类型对应
查看>>