数据库还可以这么看?(Android Studio 4.1 新特性)

简介: 数据库还可以这么看?(Android Studio 4.1 新特性)

你是如何查看和调试数据库的 ?


我们都知道,数据库文件是存在应用沙盒中的,无法直接查看。当然 root 过的手机可以直接导出来,通过 Android Studio 自带的 Device File Explorer 也可以导出来,在 PC 端通过任何数据库软件都可以查看,例如 Navicat 等等。


这样做其实很麻烦,业界一些优秀的开源库提供了一种解决方案,那就是 Android-Debug-Database ,github 地址如下:

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

在项目中集成之后,可以在浏览器端直接查看,修改,编辑当前应用的数据库文件。不仅仅是数据库文件,SharedPreference 文件也可以进行操作。由于都是私有目录中的文件,其实都是一样的原理。README 中给出了一张浏览器截图,大家可以看一下:

image.png

相比原来的导出到 PC 查看,效率大大提升。最近滴滴开源的 DoraemonKit 也提供了类似的浏览器查看数据库功能,相信原理也都是类似的。这里就不再介绍了。


太麻烦了 ?


什么?查看个数据库还要我集成一个库?还要我打开浏览器?不知道 Chrome 吃内存吗?

其实,这种无脑的工作就应该交给 IDE 来做嘛。在 Android Studio 4.1 Canary 5 以及更高版本 上,内置了 Database Inspector ,提供了以下功能:

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

我这里以大家比较熟悉的 sunflower 工程为例,来演示一下以上功能。


Database Inspector 使用


查看和修改表数据

打开方式如下图所示:

image.png

Database Inspector 会自动列出当前可调试的进程,以及该进程的应用所包含的数据库中的所有表。如下图所示,sunflower 应用包含 garden_plantingsplants 两张表,分别表示 我的花园中的植物 和 所有的植物。

image.png

左侧会列出应用的所有数据库,双击数据库,下拉列表中会展示出该数据库下的所有表。双击表,会在右侧视图中展示当前表中的所有数据。


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


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

你可以在我的花园中添加植物之后,再去刷新 garden_plantings 表,就可以立即看到修改了。


执行 SQL

除了查看和修改表数据,Database Inspector 还提供了一项能力,执行 SQL 语句 ,这也是大多数 PC 上的数据库软件所具备的功能。通过下面的动图演示一下:

image.png

结合 Room

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

image.png

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


最后


可以说,Database Inspector 大大提升了我们的数据库使用体验,特别是针对 Room 。别忘了使用条件:

  • Android Studio 4.1 Canary 5 及以上版本
  • API 26 以上的手机

Android Studio 4.1 另一个大更新就是对 Jetpack Compose 的强力支持了。作为数据驱动 UI 的完美解决方案,后续我也会持续更进。



相关文章
|
2月前
|
SQL 人工智能 Dart
Android Studio的插件生态非常丰富
Android Studio的插件生态非常丰富
140 1
|
2月前
|
Ubuntu Linux Android开发
Android Studio支持多种操作系统
Android Studio支持多种操作系统
127 1
|
4月前
|
Android开发 开发者 Kotlin
探索安卓开发中的新特性
【9月更文挑战第14天】本文将引导你深入理解安卓开发领域的一些最新特性,并为你提供实用的代码示例。无论你是初学者还是经验丰富的开发者,这篇文章都会给你带来新的启示和灵感。让我们一起探索吧!
|
4月前
|
安全 Android开发 iOS开发
安卓与iOS的较量:技术特性与用户体验的深度解析
在移动操作系统的战场上,安卓和iOS一直占据着主导地位。本文将深入探讨这两大平台的核心技术特性,以及它们如何影响用户的体验。我们将从系统架构、应用生态、安全性能和创新功能四个方面进行比较,帮助读者更好地理解这两个系统的异同。
90 3
|
5月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
421 1
|
1月前
|
存储 安全 Android开发
探索Android系统的最新安全特性
在数字时代,智能手机已成为我们生活中不可或缺的一部分。随着技术的不断进步,手机操作系统的安全性也越来越受到重视。本文将深入探讨Android系统最新的安全特性,包括其设计理念、实施方式以及对用户的影响。通过分析这些安全措施如何保护用户免受恶意软件和网络攻击的威胁,我们希望为读者提供对Android安全性的全面了解。
|
1月前
|
搜索推荐 Android开发 开发者
探索安卓系统的最新特性与发展趋势
本文深入分析了Android 13的新功能和改进,以及这些更新对用户体验和开发者社区的影响。文章还预测了未来Android系统的发展方向,为技术爱好者提供了宝贵的信息。
|
2月前
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
70 8
|
2月前
|
数据可视化 开发工具 Android开发
Android Studio
Android Studio
172 1
|
3月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
448 2

热门文章

最新文章