Android 借助Stetho在Chrome上调试Android网络、数据库、Sharedpreferences
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/61919840
本文出自【赵彦军的博客】
简介
Stetho
是Facebook
开源的Andorid
调试工具。当你的应用集成Stetho
时,开发者可以访问Chrome
,在Chrome Developer Tools
中查看应用布局,网络请求,sqlite
,preference
等等,可视化一切应用操作(更重要的是不用root
)。
官网: http://facebook.github.io/stetho/
如何集成
- 在
build.gradle
添加
dependencies {
compile 'com.facebook.stetho:stetho-okhttp3:1.4.2'
}
- 初始化
package com.zyj.stetho;
import android.app.Application;
import com.facebook.stetho.Stetho;
/**
* Created by ${zhaoyanjun} on 2017/3/13.
*/
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Stetho.initializeWithDefaults(this);
}
}
- 用数据线把手机和电脑连起来,运行App , 打开
Chrome
输入chrome://inspect/#devices
。可以看到下面的界面。
chrome调试Android 数据库、SharedPreferences
点击inspect
将会看到如下Developer Tools
界面,如果这个界面出不来:
点击数据库的表,可以看到数据库里面的数据内容:
点击SharedPreferences
可以看到:
查看网络请求
- 首选基于
OkHttp3.x
添加拦截器
void net(){
String url = "https://www.baidu.com/" ;
OkHttpClient client = new OkHttpClient.Builder()
.addNetworkInterceptor( new StethoInterceptor()) //添加拦截器
.build() ;
Request request = new Request.Builder()
.url(url)
.build();
Response response = null;
try {
response = client.newCall(request).execute();
if ( response.isSuccessful() ) {
String result = response.body().string() ;
Log.e( "zhao", "net: " + result );
}
} catch (IOException e) {
e.printStackTrace();
}
}
总结:
-
本例子中的数据库用的是:
lite-orm-1.9.2,jar
地址是:https://github.com/litesuits/android-lite-orm
博客地址:http://www.cnblogs.com/zhaoyanjun/p/5640788.html -
本例字中使用的网络请求框架为:
okhttp
地址:https://github.com/square/okhttp -
这个文章所有的代码以上传至Github:https://github.com/zyj1609wz/Stetho