当 SQLite 数据库创建完成后,如何查看数据库的内容呢?如果直接使用 File Explorer 查看,最多只能看到 database 目录下出现了一个 BookStore.db 文件,Book 表是无法通过 File Explorer 看到的。
我将简单介绍两种 SQLite 数据库的查看方式,来对数据库和表的创建情况进行检查。
-----------------------------------数据库可视化工具------------------------------------------
首先下载一个 SQLiteStudio 工具:
接下来导出 /data/data/<包名>/database/ 目录下的 BookStore.db 文件:
将导出的 BookStore.db 添加到 SQLiteStudio中:
打开 BookStore 数据库,就可以对book表进行查看和编辑了:
编辑完成后也可将它重新导入到手机中。
这个方法虽然简单,但是较为麻烦,每次查都需要重新导出文件。适合在查看数据的情况下使用,不适合在对数据库进行调试时使用。
-----------------------------------命令行实用程序------------------------------------------
adb是Android SDK中自带的一个调试工具,使用这个工具可以直接对连接在电脑上的手机或模拟器进行调试操作。它存放在 sdk 的 platform-tools 目录下,如果想要在命令行中使用这个工具,就需要先把它的路径配置到环境变量里。
Windows 系统下配置环境变量:
配置好了环境变量之后,就可以使用adb工具了。
打开命令行界面,输入 adb shell,进入设备控制台:
/*输入 abd shell 进入设备控制台*/
C:\Users\dudon>adb shell /*使用 cd 命令进入到数据库存放目录下*/
root@vbox86p:/ # cd /data/data/com.example.dudon.databasetest/databases/ /*使用 ls 命令查看该目录里的文件*/
root@vbox86p: # ls BookStore.db
/*db-journal是为了让数据库能够支持事务而产生的临时日志文件*/
BookStore.db-journal /*借助 sqlite 命令打开数据库,输入sqlite3加数据库名即可*/
root@vbox86p: # sqlite3 BookStore.db <
SQLite version 3.7. -- ::
Enter ".help" for instructions
Enter SQL statements terminated with a ";" /*输入 .table 命令,查看数据库中的表*/
sqlite> .table
android_metadata book /*输入 .schema 命令查看建表语句*/
sqlite> .schema
CREATE TABLE android_metadata (locale TEXT);
CREATE TABLE book (id integer PRIMARY KEY Autoincrement ,
author text ,price real ,pages integer,name text ); sqlite>
由此证明,BookStore.db 数据库和 Book 表确实已经创建成功了。
之后键入 .exit 或 .quit 命令就可以退出数据库的编辑,再键入 exit 命令就可以退出设备控制台了。