概述

Stetho 為 Facebook 出品的開源 Android 調試工具(官網連結),主要功能有網路抓包,查看資料庫,查看視圖階層等等。
本篇主要描述如何使用 Stetho 查看實體裝置的資料庫內容。

步驟

1.Dependencies

在 Module 的 build.gradle 加入以下內容

dependencies {
…
    implementation 'com.facebook.stetho:stetho:1.5.0'
}

 

2.在 App 的 Source Code 初始化 Stetho

在 App 第一個啟動 Activity 的 onCreate 方法或新增一個類別繼承 Application 的 onCreate方法加入Stetho.initializeWithDefaults(this);

public class SingletonApplication extends Application {
        public void onCreate() {
        super.onCreate();
        Stetho.initializeWithDefaults(this);
    }
}

 

3.啟動 Stetho 工具

開啟 chrome 瀏覽器並輸入 chrome://inspect 就會開啟 Stetho 工具,Stetho 工具的用途為提供管理所有可調試元件的介面。在紅框內即為連接的實體裝置,虛擬裝置也行。

4.啟動 App

啟動 App 後可以在 Stetho 工具的 Remote Target 看到啟動的 App 名稱
以 todo-app 為例。

點擊 inspect 便會跳出 DevTools 網頁,DevTools 網頁為該 App 專屬的調試工具,點擊網頁上方的 Resources -> 左方 Web SQL 就會顯示該 App 所使用的 db 檔(資料庫),再展開 db 檔(資料庫),內容為即為該資料庫內的資料表。
 
以 todo-app 為例,下方為啟動 App 後一開始的資料庫和資料表範例。
Tasks.db 為資料庫,其中有 tasks 資料表,但因為目前還未新增資料因此資料表沒有內容。

接著在 App 中新增資料,完成後點擊 DevTools 下方有個刷新的圖示或是再次點擊 tasks,就會顯示剛剛新增資料的內容(如紅框)

以上為使用 Stetho 觀察實體裝置的資料庫內容方法。