天天看點

資料庫還可以這麼看?(Android Studio 4.1 新特性)

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

對于大部分 Android 開發者來說,Sqlite 資料庫肯定不陌生。記得我人生前幾次的面試當中,還遇到過要求徒手寫一個增删改查的用戶端。那麼,你們一般都是如何檢視或者調試資料庫的呢?

你是如何檢視和調試資料庫的 ?

我們都知道,資料庫檔案是存在應用沙盒中的,無法直接檢視。當然 root 過的手機可以直接導出來,通過 Android Studio 自帶的 Device File Explorer 也可以導出來,在 PC 端通過任何資料庫軟體都可以檢視,例如 Navicat 等等。

這樣做其實很麻煩,業界一些優秀的開源庫提供了一種解決方案,那就是 Android-Debug-Database ,github 位址如下:

https://github.com/amitshekhariitbhu/Android-Debug-Database

在項目中內建之後,可以在浏覽器端直接檢視,修改,編輯目前應用的資料庫檔案。不僅僅是資料庫檔案,SharedPreference 檔案也可以進行操作。由于都是私有目錄中的檔案,其實都是一樣的原理。README 中給出了一張浏覽器截圖,大家可以看一下:

資料庫還可以這麼看?(Android Studio 4.1 新特性)

相比原來的導出到 PC 檢視,效率大大提升。最近滴滴開源的 DoraemonKit 也提供了類似的浏覽器檢視資料庫功能,相信原理也都是類似的。這裡就不再介紹了。

太麻煩了 ?

什麼?檢視個資料庫還要我內建一個庫?還要我打開浏覽器?不知道 Chrome 吃記憶體嗎?

其實,這種無腦的工作就應該交給 IDE 來做嘛。在 Android Studio 4.1 Canary 5 以及更高版本 上,内置了 Database Inspector ,提供了以下功能:

  • 查詢和修改表資料
  • 執行查詢語句
  • 執行 Dao 檔案中定義的 Room 查詢語句

我這裡以大家比較熟悉的 sunflower 工程為例,來示範一下以上功能。

Database Inspector 使用

檢視和修改表資料

打開方式如下圖所示:

資料庫還可以這麼看?(Android Studio 4.1 新特性)

Database Inspector 會自動列出目前可調試的程序,以及該程序的應用所包含的資料庫中的所有表。如下圖所示,sunflower 應用包含 garden_plantings 和 plants 兩張表,分别表示 我的花園中的植物 和 所有的植物。

資料庫還可以這麼看?(Android Studio 4.1 新特性)

左側會列出應用的所有資料庫,輕按兩下資料庫,下拉清單中會展示出該資料庫下的所有表。輕按兩下表,會在右側視圖中展示目前表中的所有資料。

表中的任何資料都是可以修改的。輕按兩下任意一項,修改之後,回車儲存。這時候你在 App 上重新整理頁面,就可以看到變化。

反之,你在 App 上進行涉及到資料庫操作的修改,隻需要在 Database Inspector 上點選重新整理即可看到修改。(注意,這不是實時的,你得手動重新整理才能看到修改)。

你可以在我的花園中添加植物之後,再去重新整理 garden_plantings 表,就可以立即看到修改了。

執行 SQL

除了檢視和修改表資料,Database Inspector 還提供了一項能力,執行 SQL 語句 ,這也是大多數 PC 上的資料庫軟體所具備的功能。通過下面的動圖示範一下:

資料庫還可以這麼看?(Android Studio 4.1 新特性)

結合 Room

Room 作為 Google 親兒子,肯定少不了優待。你在 Room 中通過 @Query 注解标記的接口方法,可以在 Android Studio 中直接執行并在 Database Inspector 中直接展示執行結果。通過下面的動圖示範一下:

資料庫還可以這麼看?(Android Studio 4.1 新特性)

從上面的 gif 也可以看到,當被執行的方法需要查詢參數時,會讓我們輸入參數。對于 @Insert 、@Delete 等标記的非查詢方法,是不支援直接運作的。

最後

可以說,Database Inspector 大大提升了我們的資料庫使用體驗,特别是針對 Room 。别忘了使用條件:

  • Android Studio 4.1 Canary 5 及以上版本API 26 以上的手機
  • Android Studio 4.1 另一個大更新就是對 Jetpack Compose 的強力支援了。

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/zhibo

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-04-13

本文作者:秉心說TM

本文來自:“

掘金

”,了解相關資訊可以關注“掘金”