android debug database SharedPreference 查看并修改手机数据库和共享参数的工具,优化了amitshekhar工程的好多细节功能和代码
支持云端远程控制版本:https://github.com/itgowo/RemoteDataControllerForAndroid
QQ:1264957104
Email:lujianchao@itgowo.com
这个版本不再更新,遗留了一些bug,请用新版
前辈版本 Github:https://github.com/amitshekhariitbhu/Android-Debug-Database 大家可以去膜拜一下前辈
因为一次使用中发现国外前辈写的服务和接口无法满足我的使用,主要是用的GET请求方式,再编码后url过于长,超出范围就会数据丢失,所以我改成了POST请求的,并且重写了Server逻辑,从Socket拿到流再解析http报文,再到业务处理,同时增加了文件管理功能,相对前辈作品来说这个bug少,功能强,有问题欢迎提问,最好放到issues里,直接问也会回答但是issues也是人气的表现,谢谢各位啦!
buildscript {
repositories {
jcenter()
*****
}
*****
}
maven依赖
<dependency>
<groupId>com.itgowo</groupId>
<artifactId>android-WebDebugTool</artifactId>
<version>1.0.10</version>
<type>pom</type>
</dependency>
Gradle依赖
compile 'com.itgowo:android-WebDebugTool:1.0.10'
debugCompile 'com.itgowo:android-WebDebugTool:1.0.10' //推荐
Android Gradle plugin 3.0或更高
debugApi 'com.itgowo:android-WebDebugTool:1.0.10' //推荐
api 'com.itgowo:android-WebDebugTool:1.0.10'
可以在App启动后任意需要时刻初始化,不手动或手动触发较晚,都会在2秒内自动自动初始化,如果开发者自己手动启动且在application的onCreat()中,自动启动将失效。 ###最简单的是,下面都不配置代码,是会自动启动服务器的。
第一个参数为context,第二个参数为端口,第三个参数为线程模式(是否是多线程),第四个为服务器状态监听。
public static void initialize(Context context, int mPortNumber, boolean isMultMode, onDebugToolListener mOnDebugToolListener) {
DebugDataTool.initialize(this, 8088, false, new onDebugToolListener() {
@Override
public void onSystemMsg(final String mS) {
//系统信息,主要是一些提示性信息,例如服务器地址
}
@Override
public String onObjectToJson(Object mObject) {
//对象转换为json文本,本支持库为了尽量少的因为第三方,降低耦合性,由使用者定义json工具,可以用Gson或者fastjson等,demo使用的是fastjson。
return JSON.toJSONString(mObject);
}
@Override
public <T> T onJsonStringToObject(String mJsonString, Class<T> mClass) {
//文本转换为Json对象,本支持库为了尽量少的因为第三方,降低耦合性,由使用者定义json工具,可以用Gson或者fastjson等,demo使用的是fastjson。
return JSON.parseObject(mJsonString, mClass);
}
@Override
public void onGetRequest(String mRequest, final HttpRequest mHttpRequest) {
//服务器收到请求,文件请求只打印请求path,数据接口交互HTTPRequest包含报文全部信息
}
@Override
public void onResponse(final String mResponse) {
//服务器返回给页面的信息,只有跨域请求Options和POST数据交互时才会触发,文件下载不触发。
}
@Override
public void onError(final String mTip, final Throwable mThrowable) {
//捕捉到的服务器异常
});
app启动后日志会打印手机网路地址(请在wifi下测试,模拟器无效),用浏览器打开对应地址就可以正常使用了,如果偶尔数据请求不到刷新页面即可,可能是某个js文件加载失败造成的,demo的屏幕打印了部分日志,方便测试。