adb shell下查看sqlite数据库
转:http://blog.chinaunix.net/uid-635442-id-2698555.html
Google Android操作系统内核基于Linux,其数据库采用了sqlite。sqlite是一个开源的
小巧的大小小于500KB的微型数据库系统。
Android Debug Bridge(adb)是Android下的一个让你管理手机或者手机虚拟机的多功能
工具。
本文主要介绍如何在虚拟机上操作sqlite数据库。
Google的Android的开发包(http://dl.google.com/android/android-sdk-windows-1.0_r2.zip)
内有个虚拟机,windows版本的开发包解压后,虚拟机位于tools\下emulator.exe文件。
双击emulator.exe即可启动虚拟机(Figure1),启动虚拟机后,在命令行窗口内输入
adb shell即可登入设备,我们就拥有了一个Linux环境(Figure2)。
Figure1:Android虚拟机
Figure2:adb shell登入Linux系统
Android把数据都存放在data/data目录下。
我们使用cd命令转到data/data目录下:
cd /data/data
ls 显示所有数据
如果你看过高焕堂老师的<<应用框架原理与程序设计36技>>,并亲自试验过
"9.1#21:SQLite基本操作"章节,你会看到像我目录一样有个com.misoo.SQ01文件夹。
cd com.misoo.SQ01/databases 进入com.misoo.SQ01/databases目录
ls 命令你会看到StudDB.db,这就是我们的StudDB.db数据库。
Figure3:登入sqlite3数据库
在 # 提示符下输入以下命令,我们进入sqlite(Figure3)。
sqlite3 StudDB.db
这个命令会打开StudDB.db数据库,若StudDB.db数据库不存在,则会新建一个名为
StudDB.db的数据库。(注意数据库名大小写有区别)
在sqlite>提示符下输入
.help 这个命令让我们看到许多命令
.tables 查看所有表,例如我的系统里有Student和android_metadata两个表
查询表Student 数据内容,我们输入
select * from Student;
我们查出三条数据。这个数据库的显示方式让我们习惯了Oralce,看得很不舒服,输入
以下两个命令,让我们改变这种显示模式。
.mode column
.header on
再输入select * from Student; 我们看着舒服多了(Figure4)。
Figure4:改变数据显示模式
.exit命令退出sqlite,返回到#提示符。
在#提示符下输入exit退出Linux。
我们看到SQLite SQL语句并没什么特别,可参考http://www.sqlite.org/lang.html ,这
个网站关于SQL用法有非常有趣的图示(Figure5)。
Figure5:sqlite网站关于SQL使用图示