android開發中數據查看web工具(數據庫共享參數和data目錄文件)

前提(可以略過)

舊項目已停止更新,新項目遠程數據控制,修復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上看,歡迎提建議。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容