进入SQLite
首先进入sdk的tools目录下查看已有哪些虚拟设备
android list avd
启动一个虚拟器
emualtor @NexusOne
进入sdk的platform-tools目录下,通过adb命令查看正在运行的设备列表
adb devices
使用adb在链接的设备上打开一个shell
adb shell
说明:此shell在本质上是一个Unix ash,但只包含有限的命令集。例如。可以在此shell中运行ls命令,但不能运行find、grep和awk命令。
在shell提示符下键入以下命令,可以看到shell可用的指令集:
#ls /system/bin
要查看根级目录和文件,可在shell中键入以下命令:
#ls -l
要查看数据库,需要访问以下目录
#ls /data/data
此目录下包含设备上安装的包的列表,比如分析以下com.android.providers.contacts包:
#ls /data/data/com.android.providers.contacts/databases
此命令将列出此包的数据库文件,它们是SQLite数据库
如果想查看所有的*.db文件:
#ls -R /data/data/*/databases
通过在adb shell中键入以下命令,可以在这些数据库上调用sqlite3
sqlite3是SQLite库包含的一个简单命令行工具让用户能操作SQLite数据库
#sqlite3 /data/data/com.android.providers.contacts/databases/contacts.db
这样,就成功进入了SQLite
SQLite下操作
键入.help可以查看说明
访问http://www.sqlite.org/sqlite.html可以查看各种sqlite3命令
键入以下命令退出sqlite3:
sqlite>.exit
查看数据库:
sqlite>.datatbases
建表:
sqlite>create table tbl1(one varchar(10), two smallint);
查看已有表:
sqlite>.tables
.tables命令类似于下面的命令:
SELECT name FROM sqlite_master
WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'
UNION ALL
SELECT name FROM sqlite_temp_master
WHERE type IN ('table','view')
ORDER BY 1
sqlite> insert into tbl1 values('hello!',10);
sqlite> insert into tbl1 values('goodbye', 20);
查询表:
sqlite> select * from tbl1;
显示列名:
默认的输出模式是list mode(列表模式),每条结果以一行的结果输出
可以用.separator代替list mode
column mode:
将输出写入文件:
sqlite> .mode list
sqlite> .separator |
sqlite> .output test_file_1.txt
sqlite> select * from tbl1;
sqlite> .exit
$ cat test_file_1.txt
hello|10
goodbye|20
.schema命令显示创建表的原始create语句
其他命令:
.explain
参考:
《精通Android 2》