安卓除錯神器-Stetho的使用
痛點
我們都知道對於Web開發者來說 Chrome是個十分方便的除錯神器,但是對於Android來說,可能之前的網路除錯大多我們都用PostMan或者類似的工具進行除錯,Get的請求還好,但是當設計到有大量請求頭的請求的時候,就比較麻煩了需要新增很多的請求。還有當我們看手機APP資料庫儲存的時候,更多的是連上手機把手機root,然後通過Android Device Monitor找到db檔案,然後匯出到PC上,再通過PC上的資料庫工具來開啟檢視。這種步驟比較繁瑣,而且還會遇到data資料夾因為許可權問題打不開的問題。接下來我們瞭解了Stetho之後,這些問題便輕而易舉的解決了。
介紹
由Facebook推出的Stetho基於Chrome控制檯,將網路監控,程式資料,甚至js 控制檯整合在一起非常方便
GitHub地址: ofollow,noindex">https://github.com/facebook/stetho
使用
Stetho的整合
專案整合
compile ‘com.facebook.stetho:stetho:1.5.0‘ implementation 'com.facebook.stetho:stetho-okhttp3:1.5.0'
看過我之前文章的朋友們,可以繼續把這些新增到config.gradle當中統一管理
然後直接引用
implementation project.ext.stethoDeps
初始化Stetho
if (BuildConfig.DEBUG) { Stetho.initializeWithDefaults(this); }
這裡我們設定只在Debug模式下初始化Stetho
網路請求除錯
1.程式碼整合
這裡我們開始整合程式碼 程式碼本身就是我們之前MVVM框架的程式碼
val client = OkHttpClient.Builder() .addNetworkInterceptor(StethoInterceptor()) .build() val remote = Retrofit.Builder() .baseUrl("http://www.weather.com.cn") .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .client(client) .build().create(WeatherService::class.java)
2.測試
這裡我們需要開啟Chorme瀏覽器 輸入
chrome://inspect/#devices

這裡可以看到我們的專案,然後點inspect就可以了,點開之後如果404的話,需要大家自備梯子翻牆了
準備好梯子之後,我們就能看到我們想要的結果了

還可以看到請求頭以及請求


至此網路請求除錯完成
資料庫檢視
1.程式碼整合
有了網路請求之後,我們看看資料庫怎麼檢視。整合就不說了和網路一樣
2.測試

在Chrome的控制檯中選擇Resources,這裡儲存了手機上的資料,Web SQL下面就是資料庫了,點選就可以看到資料庫中有多少張表,每張表裡有多少資料。Local Storage中儲存了本地快取資料也就是sharedpreference中的資料,點選對應的應用也可以清楚看到儲存的資料。
如果想要修改的話,可以點選資料庫檔名就進入cmd模式了,可以通過sql命令來增刪改查,如下圖。

至此Stetho常用的功能介紹完了,還有其他功能待我們去發掘補充。
最後
合理的工具的利用,可以讓我們的開發事半功倍,尋找好的開發工具,可以讓我們的開發效率大大提升!