第一种方式:File Explorer

  • 重点:首先保证电脑连接安卓机(手机或平板等)或者开启Android Studio中对应工程的模拟器。
  • 点击Android Studio上方菜单项的View
    在这里插入图片描述
  • 继续点击Tool Windows
  • 继续点击Device File Explorer
    在这里插入图片描述
  • 跳到如下界面,按照data/data的目录顺序点击
    在这里插入图片描述
  • 确定包名,包名看左侧项目目录:src/main/java/包名
    在这里插入图片描述
  • 然后再上述data/data/文件夹下,找到所属包的文件夹
    在这里插入图片描述
  • 接下来数据库就在files文件夹或databases文件夹下,那么怎么确定在哪个文件夹下呢
    • 有个简单的方法,一般两者只存在其一,那就是存在的那个文件夹
    • 但是更严谨的是去看代码中建立数据库的保存路径怎么写的
      • 我目前了解到的写法有两种
      • 第一种:采用相对路径,数据库会保存到databases文件夹下
        在这里插入图片描述
      • 第二种:采用绝对路径(this.getFilesDir().toString),数据库会保存到files文件夹下
        在这里插入图片描述
  • 因此就可在Device File Explorer中的data/data/包名/files目录下或者data/data/包名/databases目录下找到数据库,如下所示:
    在这里插入图片描述
    在这里插入图片描述
  • 会出现两个数据库文件,一个是我们创建的.db3文件,而另一个.db3-journal文件是为了让数据库能够支持事物而产生的的临死日志文件,通常情况这个文件的大小都是0字节。
  • 找到数据库文件后,我们可以借助一些Android Studio的辅助工具来打开这个数据库文件,进行查看,如果以后有时间会继续研究这部分。

第二种方式:adb shell

  • adb是Android SDK中自带的一个调试工具,使用这个工具可以直接对连接在电脑上的安卓机(手机或平板等)或者模拟器进行调试操作。它存放在sdk的platform-tools目录下,如果想要在命令行中使用这个工具,就需要先把它的路径配置到环境变量里。

  • 如果是Windows系统,可以右击我的电脑->属性->高级->环境变量,然后在环境变量里找到Path并点击编辑,将platform-tools目录配置进去,如图所示。
    在这里插入图片描述

  • 如果是Linux系统,可以在home路径下编辑.bash_profile文件,将platform-tools目录配置进去即可。由于我是Windows系统,因此不再展示此步。

  • 配置好环境变量之后,就可以使用adb工具了。

  • 再次提醒,再进入adb调试模式之前,需要保证电脑连接安卓机(手机或平板等)或者开启Android Studio中对应工程的模拟器。

  • 打开命令行界面,输入adb shell,就会进入到设备的控制台,如图所示。
    在这里插入图片描述

  • 然后使用cd命令进行到data/data/包名/databases或者data/data/包名/files目录下,如图所示。
    在这里插入图片描述

  • 使用ls命令查看该目录里的文件
    在这里插入图片描述

  • 这个目录下出现两个数据库文件,一个正是我们创建的myDict.db3文件,另一个是myDict.db3-journal文件,是为了让数据库能够支持事物而产生的临死日志文件,通常情况下这个文件的大小是00字节。

  • 接下来我们采用sqlite命令来打开数据库了,只需要键入sqlite3,后面加上数据库名即可,如图所示。
    在这里插入图片描述

  • 这时就已经打开了myDict.db3数据库,现在就可以对这个数据库中的表进行管理了。首先来看一下目前数据库中有哪些表,键入 .table命令(注意前面有.)。
    在这里插入图片描述

  • 可以看到,此时数据库中有两张表,android_metadata表是每个数据库中自动生成的,不用管它,而另一张表就是我们创建的了,这里还可以通过 .schema命令(注意前面有.)来查看它们的建表语言。如图所示。
    在这里插入图片描述

  • 如果想继续查看和修改数据库和表格的数据, 需要学习sqlite命令,今后会专门为此出一篇博文。

  • 之后键入 .exit(前面有.)或 .quit命令(前面有.)可以退出数据库的编辑,再键入 exit(前面无.)命令就可以退出设备控制台了。

个人更推荐第二种adb调试方式,更简单快捷,所需要的sqlite命令知识也是我们必需的。

  • 另外需要注意的是进入adb调试方式后,一定要 .exit和exit退出来,否则运行模拟器时就会进不去,一直卡在如下情况中。
    在这里插入图片描述
  • 目前自己能想到的方法就是:删掉模拟器,重新配置一个,就可以了。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐