調(diào)試手機(jī)中數(shù)據(jù)庫(kù)的福音:Android-Debug-Database
目前在"瀏覽器"中調(diào)試App越來(lái)越流行.
比如Facebook開(kāi)源的一個(gè)工具Stetho讓Chrome調(diào)試Android.
本文介紹了一個(gè)開(kāi)源項(xiàng)目"Android-Debug-Database".
他可以在瀏覽器中調(diào)試DB
涉及到"取數(shù)據(jù)-起服務(wù)-遠(yuǎn)程調(diào)用", 希望對(duì)大家有用哦
前言
一般,我們調(diào)試手機(jī)中的數(shù)據(jù)庫(kù)是很麻煩的,通常來(lái)說(shuō)是如下幾種方式:
將手機(jī)中的SQLite數(shù)據(jù)庫(kù)導(dǎo)出到電腦,通過(guò)電腦端的軟件來(lái)查看這個(gè)數(shù)據(jù)庫(kù),執(zhí)行相關(guān)的SQL語(yǔ)句,看結(jié)果如何。
Root手機(jī),在手機(jī)上安裝RE文件管理器,進(jìn)入應(yīng)用程序的包下,找到你的數(shù)據(jù)庫(kù)的文件,然后再查看數(shù)據(jù)庫(kù)中。
Android Studio有相關(guān)的插件,方便操作,但是有的需要收費(fèi),使用起來(lái)也不是很爽。
現(xiàn)在,AMIT SHEKHAR開(kāi)源了Android-Debug-Database,利用這個(gè)庫(kù),我們可以通過(guò)瀏覽器方便的查看的數(shù)據(jù)庫(kù)啦,并且可以執(zhí)行SQL語(yǔ)句,豈不是很爽!
特色
- 可以查看你的應(yīng)用中所有的數(shù)據(jù)庫(kù)。
- 可以查看你的應(yīng)用中所有的shared preferences(額外福利)。
- 對(duì)你指定的數(shù)據(jù)庫(kù)執(zhí)行SQL語(yǔ)句。
- 對(duì)你指定的數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行可視化的編輯。
- 將數(shù)據(jù)庫(kù)直接下載下來(lái)。
如何使用
在你的build.gradle添加如下:debugCompile 'com.amitshekhar.android:debug-db:1.0.0' debugCompile的作用:只在你debug編譯時(shí)起作用,當(dāng)你release的時(shí)候就沒(méi)必要使用它了。
這就完了,你不需要任何其他的代碼啦。
下面當(dāng)你在App啟動(dòng)的時(shí)候,你要注意查看下你的logcat,會(huì)有這么一行:D/DebugDB: Open http://XXX.XXX.X.XXX:8080 把它復(fù)制到你電腦的瀏覽器,你就可以看到你的App中的數(shù)據(jù)庫(kù),和shared preferences
界面如下:
原理
整體結(jié)構(gòu)如下:
DebugDB為你的應(yīng)用程序開(kāi)啟了一個(gè)線程:
這個(gè)線程不斷的處理瀏覽器發(fā)過(guò)來(lái)的請(qǐng)求(Socket形式)
根據(jù)Socket發(fā)過(guò)來(lái)的內(nèi)容,它進(jìn)行判斷:根據(jù)不同的請(qǐng)求,處理,返回不同的結(jié)果:
其他: 瀏覽器中的內(nèi)容從哪里來(lái)的?為啥它能發(fā)送請(qǐng)求數(shù)據(jù)? debug-db將具有交互性的html發(fā)送給了瀏覽器:
瀏覽器有的交互能力,基于html js 這些設(shè)計(jì)到了前端知識(shí),有時(shí)間再聊唄~~