美文网首页Android知识程序员首页投稿首页投稿(暂停使用,暂停投稿)
android开发中数据查看web工具(数据库共享参数和data

android开发中数据查看web工具(数据库共享参数和data

作者: IT平头哥 | 来源:发表于2017-09-30 14:18 被阅读0次

    前提(可以略过)

    旧项目已停止更新,新项目远程数据控制,修复bug,支持云端控制

    android开发中需要对数据库、共享参数和文件(data目录非sdcard目录)进行操作,简单App配置信息存储使用共享参数就可以了,对数据量和效率有要求的使用数据库,例如IM消息,数据量大使用频繁。
    但是,我们开发初期写的代码不敢说百分百对,这时候我们要验证一下数据是否正常写入(主要针对新手),或者某个功能不对,我们要查看数据是否符合逻辑(前端还是后台的锅得分清楚)。

    新版优化了不少:

    配置库引用就可以自动开启服务了,手动初始化服务方式依然保留,自由选择;

    自动开启服务后,智能识别Json工具,优先使用FastJson,其次是Gson,不给开发者带来新的库,也不会引入版本。

    超级简单的引入方法

    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添加依赖再做简单初始化就可以使用了,log会打印出手机联网的wifi地址(模拟器和数据不行,代码是只获取了wifi的ip)。

    Github欢迎star https://github.com/hnsugar/android-debugdata-webtool

    工具是以android App作为服务器端,直接使用Socket监听获取数据,并对数据流做http报文解析,数据交互使用POST方式,文件请求使用GET方式,也实现了ajax跨域请求options,web端使用JQuery、BootStrap和DataTables框架,资源放到app内部,无需联网也可访问。为了不给使用者引入可能不需要的库,所以内部json工具并未实现,需要在初始化方法的第四个参数中实现两个Json文本和对象的转化,demo中使用的是fastjson库。

    初始化方法

    第一个参数为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) {
                  //捕捉到的服务器异常
              });
            
    

    功能划分为3部分:

    1。数据库操作(增删改查,数据库文件下载,删除在文件管理那里可以实现)

    img1.png

    2。共享参数操作(增删改查,与数据库基本一致,文件下载,删除在文件管理那里可以实现)

    img2.png

    3。文件操作(文件下载,文件删除,根目录是App的data目录)

    img3.png img5.png

    依赖

    maven依赖

      <dependency>
        <groupId>com.itgowo</groupId>
        <artifactId>android-WebDebugTool</artifactId>
        <version>1.0.1</version>
        <type>pom</type>
      </dependency>
    

    Gradle依赖

      compile 'com.itgowo:android-WebDebugTool:1.0.1'
    

    Demo界面(包含日志功能)

    img6.png

    个人比较懒,相信大家看图就明白了是做什么的,具体使用方法和接口api什么的请到Github上看,欢迎提建议。

    相关文章

      网友评论

        本文标题:android开发中数据查看web工具(数据库共享参数和data

        本文链接:https://www.haomeiwen.com/subject/mmigextx.html