前言
一般餐济,我們調(diào)試手機中的數(shù)據(jù)庫是很麻煩的始衅,通常來說是如下幾種方式:
- 將手機中的SQLite數(shù)據(jù)庫導(dǎo)出到電腦,通過電腦端的軟件來查看這個數(shù)據(jù)庫覆旱,執(zhí)行相關(guān)的SQL語句,看結(jié)果如何核无。
- Root手機扣唱,在手機上安裝RE文件管理器,進入應(yīng)用程序的包下团南,找到你的數(shù)據(jù)庫的文件噪沙,然后再查看數(shù)據(jù)庫中。
- Android Studio有相關(guān)的插件吐根,方便操作正歼,但是有的需要收費,使用起來也不是很爽拷橘。
現(xiàn)在局义,AMIT SHEKHAR開源了Android-Debug-Database,利用這個庫冗疮,我們可以通過瀏覽器方便的查看的數(shù)據(jù)庫啦萄唇,并且可以執(zhí)行SQL語句,豈不是很爽术幔!
特色
- 可以查看你的應(yīng)用中所有的數(shù)據(jù)庫另萤。
- 可以查看你的應(yīng)用中所有的shared preferences(額外福利)。
- 對你指定的數(shù)據(jù)庫執(zhí)行SQL語句诅挑。
- 對你指定的數(shù)據(jù)庫中的數(shù)據(jù)進行可視化的編輯仲墨。
- 將數(shù)據(jù)庫直接下載下來。
如何使用
在你的build.gradle添加如下:
debugCompile 'com.amitshekhar.android:debug-db:1.0.0'
debugCompile的作用:只在你debug編譯時起作用揍障,當(dāng)你release的時候就沒必要使用它了目养。
這就完了,你不需要任何其他的代碼啦毒嫡。
下面當(dāng)你在App啟動的時候癌蚁,你要注意查看下你的logcat幻梯,會有這么一行:
D/DebugDB: Open http://XXX.XXX.X.XXX:8080
把它復(fù)制到你電腦的瀏覽器,你就可以看到你的App中的數(shù)據(jù)庫努释,和shared preferences
界面如下:
原理
整體結(jié)構(gòu)如下:
DebugDB為你的應(yīng)用程序開啟了一個線程:
這個線程不斷的處理瀏覽器發(fā)過來的請求(Socket形式)
根據(jù)Socket發(fā)過來的內(nèi)容碘梢,它進行判斷:根據(jù)不同的請求,處理伐蒂,返回不同的結(jié)果:
其他:
瀏覽器中的內(nèi)容從哪里來的煞躬?為啥它能發(fā)送請求數(shù)據(jù)?
debug-db將具有交互性的html發(fā)送給了瀏覽器:
瀏覽器有的交互能力逸邦,基于html js
這些設(shè)計到了前端知識恩沛,有時間再聊唄~~