Android开发中你是怎么查看sqlite数据库的

Android内置了sqlite数据库,我们在Android开发中想看自己的应用中sqlite数据库或者想查看别的应用数据库表中都有哪些内容的时候,老铁们,你们都是怎么操作的呢?

下面介绍几种比较通用的查看数据库的方式。

1. 使用Android Studio中的插件查看数据库,例如SQLScout。

《Android开发中你是怎么查看sqlite数据库的》

安装好SQLScout插件之后,在View → Tool Windows → 可以找到 SQLite Explorer

《Android开发中你是怎么查看sqlite数据库的》

我们想查看某个应用的数据库文件,怎么操作呢?

应用数据库文件目录 data/data/包名/databases/

我们想看哪个应用的数据库文件,直接通过Android Studio中自带的Device File Explorer查看即可。

《Android开发中你是怎么查看sqlite数据库的》

上图便是我连接华为荣耀V9手机,通过Device File Explorer查看应用的截图,下面我们随便找个测试应用,查看一下数据库。

《Android开发中你是怎么查看sqlite数据库的》

我们点开自己的测试应用,包名/databases/目录下,看到了我们的数据库db文件,并且该文件前面有一个小图标和我们的SQLScout插件图片一样,说明我们可以通过SQLScout插件打开该数据库db文件。(没装插件我们一般都是把db文件导出到电脑上用数据库软件查看,现在没那么麻烦了,我们可以直接在Android Studio中查看,编辑,修改数据库文件)

我们双击该数据库db文件之后,就可以在SQLite Explorer中查看该数据库了。

《Android开发中你是怎么查看sqlite数据库的》

SQLite Explorer中的功能基本上已经够我们平时使用了,View Table Data(查看表内容)SQL Editor(SQL语句编辑执行)以及Upload与Android应用数据同步等。

当然表中的数据还支持直接删除行,或者添加行,也可以直接编辑修改表中的数据,可以说还是非常方便的。(修改之后,记得上传同步)

《Android开发中你是怎么查看sqlite数据库的》

当然了,编辑执行SQL语句也是可以的,这里就不演示了(都是很简单的操作,SQL关键字的智能提醒还是很给力的)。

到这第一种通过Android Studio插件查看数据库的方式就讲完了,下面介绍第二种查看数据库的方式。

2. 通过sqlite3命令查询数据库

Android中我们要查询的数据库一般都是保存在/data/data/包名/databases/目录

例如我们常见的媒体库数据库就是保存在/data/data/com.android.providers.media.module/databases/

我们可以adb shell进入相应目录执行sqlite3命令,也可以把数据库文件导出来通过sqlite3命令查询。

例如导出媒体库数据库文件adb pull /data/data/com.android.providers.media.module/databases/

导出自己应用的数据库方法类似,目前假设我们导出了自己的数据库文件。

下面开始通过sqlite3命令查询数据库操作: 

《Android开发中你是怎么查看sqlite数据库的》

上面截图我是直接在cmd 命令行中执行的sqlite3命令,为什么可以直接这个命令呢?

其实根本原因是我电脑中有一个sqlite3.exe文件,且该文件所在目录配置了环境变量。做Android开发都会下载Android SDK,在SDK的中有一个platform-tools目录也就是我们adb.exe文件所在目录,有一个sqlite3.exe文件,所以对于Android开发来说,可以像使用adb 命令一样任意使用sqlite3命令。

《Android开发中你是怎么查看sqlite数据库的》

如果我们本地没有sqlite3.exe文件,也可以去sqlite官网下载https://www.sqlite.org/download.html

比如我们下载windows的sqlite-tools-win32-x86-3380500.zip压缩包

《Android开发中你是怎么查看sqlite数据库的》

 我们会得到三个exe程序,除了我们想要的sqlite3之外,sqlite3_analyzer可以帮我们解析数据库文件,sqldiff可以帮我们对比两个数据库文件有什么不同(sqlite官网都有介绍)。

当然不导出数据库也是可以直接通过sqlite3命令查询的(通过adb shell 进入到手机使用sqlite3命令直接查询,通过上面分析windows中本地有sqlite3文件,既然adb shell之后可以直接使用sqlite3查询,就说明手机里面也有一个sqlite3文件,在手机system/bin目录下,该文件后面被移除了,如果需要通过这个方式查询需要往手机中push这个文件,过程略)。

既然导出了数据库文件,当然也可以通过数据库软件查看数据库表(这种是无脑操作,就不介绍了)

    原文作者:github_2011
    原文地址: https://blog.csdn.net/github_2011/article/details/106982426
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞