动态数据库工具——Database Inspector

  • 在这之前,你是如何查看数据库的?
  • Database Inspector提供了什么功能
  • Database Inspector的具体使用
    • 首先
    • 查看数据库
    • 修改数据库
    • 结合Room
  • 最后

今天无意间在github上发现了一个好东西,动态数据库工具Database Inspector (数据库检查器),乍一看感觉挺新颖的,之前没有接触过,所以上网查了一下资料,发现这方面的文章几乎没有,只看到了一篇Google大佬工程师分享的教程https://cloud.tencent.com/developer/article/1632543,所以我参考了一下并且结合自己的体验跟大家聊一下这个新的动态数据库工具。

在这之前,你是如何查看数据库的?

对于我或者大部分Android开发者来说,SQLite数据库肯定不陌生,在Android开发中,我最经常使用的也正是是SQLite数据库,虽然SQLite数据库好用,但是我们都知道,Android数据库文件是在应用系统中,无法直接查看这些文件的,我们需要导出后,再用下载的SQLite数据库工具查看,当然通过Android Studio 自带的 Device File Explorer 也可以导出来,在 PC 端通过任何数据库软件都可以查看,例如 Navicat 等。

但是这样做其实很麻烦,也有一些开发者的一些优秀开源库提供了解决方案,如Android-Debug-Database:https://github.com/amitshekhariitbhu/Android-Debug-Database,它可以让你在项目集成之后,在浏览器中直接查看、修改、编辑当前APP的数据库文件。

查看数据库

修改数据库

与原来需要导出到PC查看的方法相比,其效率大大提升了。但是这样我还是觉得太麻烦了,我就单纯想查看一个数据库,为什么还要我进行集成?为什么不能直接在IDE中查看?所以在在 Android Studio 4.1 Canary 5 以及更高版本 上,内置了 Database Inspector ,解决了这些麻烦的问题。

Database Inspector提供了什么功能

在 Android Studio 4.1 Canary 5 以及更高版本 上,内置了 Database Inspector ,提供了以下功能:

  • 查询和修改表数据
  • 执行查询语句
  • 执行 Dao 文件中定义的 Room 查询语句

本地数据库的创建和管理是大多数移动应用工程中的核心组件之一,一般会通过直接使用 SQLite或 Jetpack Room 持久化库来完成。开发者们也在不断地寻求着更好的方式,使其能够在运行中的应用中直接检查和调试数据库。

最新的 Android Studio 4.1 (目前处于 Canary 版本) 内置了叫作 Database Inspector(数据库检查器) 的工具,它可以帮助开发者在已运行的应用中检查、请求以及修改数据库。

有了Database Inspector,修改数据库就和编辑电子表格一样简单。如果正在使用Jetpack Room并观察请求结果,对数据库的修改会直接体现在应用里。

这里,我用的是一个简易的NotePad应用来对Database Inspector的使用进行一些测试,这里使用NotePad是一个简易的笔记应用,提供了简单的添加、查询笔记的功能,大家感兴趣的可以克隆这个NotePad代码仓库,并且按照本文的操作自行尝试体验一下,也可以使用官方推荐的Sunflower应用来体验Database Inspector的一些操作,Sunflower的代码仓库。

Database Inspector的具体使用

首先

NotePad App 的UI提供了两个简单的添加笔记和查询笔记的功能:

点击这两个按钮我们就可以分别进行笔记的新建和查询,我们下面的Database Inspector操作都会围绕着这两个功能进行。

查看数据库

从菜单栏依次选择View > Tool Windows > Database Inspector,就能在Android Studio里打开 Database Inspector。首次打开工程的时候,需要静待工程编译完成后才会出现Databa Inspector的选项

△ 在菜单栏中依次选择 View > Tool Windows > Database Inspector 来打开 Database Inspector

这样就打开了 Database Inspector的窗口:

△ Database Inspector 窗口

但是运行 Database Inspector 需要在API Level 26 或者更高的设备上,在下拉菜单里选择你刚刚启动的应用的进程:

△ 在下拉菜单中选择运行中的应用进程

选择正在运行中的应用进程之后,数据库的架构就会出现在下面的面板上。如果要查看NotePad的数据库表,就需要你找到Databases并展开note_pad.db:

△ 一旦选择了进程,应用相关的数据库就会列出来

修改数据库

如上图所示,NotePad应用包含notes这一张表,表示我的笔记中的所有笔记信息。双击表,会在右侧视图中展示当前表中的所有数据:

△ 数据库表数据

表中的任何数据都是可以修改的,双击任意一项,修改之后,回车保存,这时候你在APP上刷新页面,就可以看到变化。

△ 在表中修改数据后,在app刷新页面即可看到变化

反之,你再APP上进行涉及到数据库操作的修改,只需要在 Database Inspector 上点击刷新即可看到修改。(注意,这不是实时的,你得手动刷新才能看到修改)。

△在app上修改后,需要刷新数据库才能看到修改

当然,你也可以在Database Inspector 里勾选Live updates (实时刷新)。当启用 Live updates 之后,Database Inspector 会自动显示应用里对数据库所做的修改。(注意,当你勾选Live updates之后,你无法再在Database Inspector中对数据进行修改

△ 对数据库的修改会直接展示出来

除了查看和修改数据之外,Database Inspector还提供了一项能力,执行SQL语句,这是大多数据库软件所具备的功能之一。

通过点击Database Inspector窗口左侧表格视图上方的Open New Query tab按钮,就可以在右侧新建一个查询窗口。

△ 执行SQL语句

目前我只测试了比较简单的查询语句,较复杂的查询语句,比如嵌套查询等还没有尝试过,不知道Database Inspector对查询的支持是否友好,感兴趣的朋友可以自己试一试。

结合Room

当然,Room作为 Google 亲儿子,肯定少不了优待。你在 Room 中通过 @Query 注解标记的接口方法,可以在 Android Studio 中直接执行并在 Database Inspector 中直接展示执行结果。

从上面的 gif 也可以看到,当被执行的方法需要查询参数时,会让我们输入参数。对于 @Insert@Delete 等标记的非查询方法,是不支持直接运行的。

最后

可以说,Database Inspector大大提升了我们对数据库的使用体验,使我们在调试数据库的时候,可以像编辑Excel一样的简单,直接修改直接生效,不用再一点一点的去Debug了,可以说是非常实用的。

想体验 Database Inspector 工具可以点击这里下载最新的 Android Studio 4.1 Canary 版本。

参考文章:https://cloud.tencent.com/developer/article/1632543
作者:詹尧宇
原文:https://blog.csdn.net/zhanyaoyu2017/article/details/106473939

动态数据库工具——Database Inspector相关推荐

  1. .net中如何同步获取数据方式增加一样数据自动刷新列表_期待已久的动态数据库工具终于来了!...

    本地数据库的创建和管理是大多数移动应用工程中的核心组件之一,一般会通过直接使用 SQLite 或 Jetpack Room 持久化库来完成.开发者们也在不断地寻求着更好的方式,使其能够在运行中的应用中 ...

  2. Android Studio 数据库可视化工具(Database Inspector)报错

    Android Studio 数据库可视化工具(Database Inspector)报错 使用这个工具的时候报了错 ,(诸位还有可能是好奇点了一下),然后,就报错了 提示如下: Database I ...

  3. 运用工具优化数据库设计(Database Engine Tuning Advisor)

    Data Engine Tuning Advisor 是SqlServer自带的数据库性能调优工具之一,我们一起来学习一下怎么用这个工具优化数据库设计 Database Engine Tuning A ...

  4. 职业规划-数据库工程师(Database Engineer)

    数据库工程师(DBE) 数据库工程师(Database Engineer),是从事管理和维护数据库管理系统(DBMS) 的相关工作人员的统称,他属于运维工程师的一个分支,主要负责业务数据库从设计.测试 ...

  5. MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)

    MySQL数据库工具类之--DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql.Data.MySqlClient; us ...

  6. 【QT 数据库专辑】【01】搭建本地MYSQL数据库 - 工具安装

    1 安装和遇到的问题: 参考: http://www.cnblogs.com/sshoub/p/4321640.html 完全初始安装一般不会出现问题,但是,如果之前有一个安装的版本,会提示要先卸载, ...

  7. 如何在Linux系统中安装DBeaver通用数据库工具

    DBeaver是一个开源.功能齐全.跨平台的通用数据库管理工具和SQL客户端,可在Linux操作系统.Windows和macOS 系统上运行. DBeaver支持80多个数据库管理系统,包括Postg ...

  8. android数据库工具库,android 数据库工具种MyDbHelper

    当前位置:我的异常网» 数据库 » android 数据库工具种MyDbHelper android 数据库工具种MyDbHelper www.myexceptions.net  网友分享于:2013 ...

  9. mysql数据库工具

    文章目录 一.数据库基本使用命令 二.Navicat数据库图形化管理工具 1. 新建连接 本机数据库框架 2. 新建数据库 3. 刚建数据库选中 三.Gatagrip数据库图形工具 四.云数据库介绍 ...

最新文章

  1. 计算机类东北大学和大连理工,东北大学VS大连理工大学,谁才是第一,辽宁本地考生也两难...
  2. 《Go语言编程》学习笔记 (二)
  3. 技嘉z68pds3刷中文bios_技嘉RTX 3080 VISION OC雪鹰显卡评测:内容创作、3A游戏两不误之选...
  4. [[HOW TO]-ubuntu20.10安装openjrok指南
  5. HOJ 2576 HOJ 2577 Simple Computing I II 容斥原理
  6. 更易型算法(Manipulating Algorithms)
  7. lucky number
  8. java基础---File类
  9. 【转】Azure云存储及存储账户概述***
  10. 一步步编写操作系统 48 二进制程序的加载方式
  11. linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_mod_lookup
  12. 牛津词典电子版txt_英语启蒙:推荐一款超火的英文词典app
  13. Android系统框架总结(好文)
  14. 边工作边刷题:70天一遍leetcode: day 2
  15. Python爬虫入门教程03:二手房数据爬取
  16. Flutter 判断网络可用性
  17. 飞思卡尔 I.MX6Q-vpu视频编解码
  18. 海信合作徕卡首款激光电视将于9月亮相;SK海力士成功研发全球最高层238层4D NAND闪存 | 美通企业日报...
  19. 《Vue.js实战》记录
  20. 线性代数-向量组的线性相关

热门文章

  1. 2018中国财经峰会闭幕 共议高质量发展
  2. 嵌入和降维投影 数据集--fashion minst
  3. Python爬虫十六式 - 第四式: 使用Xpath提取网页内容
  4. Axure的增删改查
  5. sirius java_sirius
  6. 智慧校园电子班牌系统开发 整套商业源码
  7. VC界面库Xtreme Toolkit Pro全新发布v22.1——支持VS 2022主题
  8. cgcs2000大地坐标系地图_9d openlayers展示cgcs2000地图报错
  9. php简易留言板功能,简单实现PHP留言板功能
  10. 01-软件项目立项报告