Android 如何查看存在手機 DataBase 中的資料

前言

在寫程式時難免會遇到 DataBase 儲存資料有錯誤的時候,這時就需要把整個資料表所儲存的資料撈出來檢查,看是否有遺漏掉的地方,如果看一個坑填一個坑會很麻煩,所以我通常都是直接把資料表都撈出來先檢查一次,再來確認是哪一個步驟有錯誤,但這可能只適用於資料量較小的專案.

查看 .db 檔案的方法有很多,每個人使用的方法有所差異,所以列出來以下幾項整理 : 

1. 程式碼內插入 Log 或 直接讓資料顯示在 UI 畫面上


透過簡單的 SQL 語法去查詢指定的 Table,也可以透過指定的條件去篩選,這個方式很直接,但在測試完成後,需要把這些額外測試用的 function 及 查看的 Log 註解掉,方便之後程式碼維護,或是在最後 release 時讓 Log 不要顯示.

這個方式有還有一個缺點是沒有辦法直接修改檔案的資料,如果今天想要修改 DataBase 中的資料,就必須要寫一段 update 的程式碼,感覺並不聰明.

2. Android Studio 在 4.1 版本中推出的 DataBase Inspector


可以從 View 中直接開啟這個工具,不過比較可惜的是需要滿足 26(Android8.0)以上,如果是一些比較舊的專案這個工具就沒有辦法使用.畢竟調整 build.gradle 的 minSdkversion 需要做一些檢查,避免使用到一些 deprecated 的 API,所以這個部分是需要注意的.

好處是可以直接修改 Table 的資料,且提供了排序的功能.圖示化的工具切換資料表也非常方便.

基本的SQL 指令也是支援的,就不用再寫一堆 function 去查.

點選 Run 執行

還有一點功能必須要拉出來說,往往在新增刪除時,就必須要重新查 query 一次,但這工具有提供一個 LiveData 的功能,勾選後,資料在變更時就會直接更新資料表,不用再重新查詢一次,但工具此時只能讀取不能做修改的動作,但這功能還蠻實用的.


官網比較詳細的介紹:

3. SQLite Browser 桌面工具
支援 Windows, Mac 

這個工具需要先把檔案匯出,首先需要確認檔案儲存的位置
一般來說都是儲存在 applicationId 名稱的路徑下


可以開啟 Android Studio 內建的工具 Device File Explore 把.db檔案匯出查看.
路徑 data/data/applicationId,如果有調整資料夾或儲存路徑就依照自訂的路徑去尋找


把 .db 檔案另存在電腦任意處

下載完成會顯示在提示
再來就是開啟桌面工具
開啟.db 檔案

開啟特定的 Table

SQLite Browser 需要把檔案先匯出,如果需要更新內容比較沒有那麼方便,但是工具內有提供很多功能包含資料的整理,和其他檔案的匯入功能等,所以如果有涉及資料整理的問題這個工具還是很實用的.

後記

DataBase 應該算是入門就會遇到的第一個難題,所以解法應該是千奇百種,如果還有什麼特殊的方法,歡迎留言告訴我或分享你(妳)的方法給其他正在學習的人.

留言

熱門文章

40 個可以改變寫程式技巧的秘訣

如何創造出難以維護的程式碼

雲端硬碟比較,哪種硬碟最推薦? (Google 雲端硬碟, OneDrive, DropBox, iCloud)