在android命令行下使用sqlite3
现在已经可以在真机(nexus one)下使用sqlite3命令行工具了。不想在模拟器上面使用,android的模拟器和真机比较起来,太慢了,尤其是启动的时候。
如果在android上无法使用下面提到的命令行工具,报告:
sqlite3: not found
那么可能需要安装带sqlite3的ROM,见nexus one更新第三方ROM。另外,想使用sqlite3访问程序私有目录下的文件,需要具备ROOT权限,见nexus one获取root权限。
如果这两条都具备了,可以开始使用。
在android SDK tools目录下,运行命令行:
adb shell
进入adb shell后,应该是直接进入当前通过USB连接的android机器。
应该出现#提示,如果是$提示,请按照上面链接获取ROOT权限。
sqlite3 /data/data/com.easymorse.demo/files/mydb
在这里,com.easymorse.demo是应用的名字(package name),files目录是程序私有的存放文件的目录,如果是通过android创建的sqlite数据库,应该存放在:
/data/data/com.easymorse.demo/databases
然后,就可以使用sql语句的命令了,比如:
SQLite version 3.5.9
Enter ".help" for instructions
sqlite> select * from users;
select * from users;
1|寮犱笁|
sqlite> .exit
这里的乱码部分,应该是中文,可能和命令行的编码格式(GB18030)不匹配造成的。在android中能正常显示汉字。
可以通过sqlite3命令行访问android中的联系人库,比如:
sqlite3 /data/data/com.android.providers.contacts/databases/contacts2.db
打开数据库。
然后:
select display_name from contacts;
查询到显示名字。
日志引用
2 Comments to “在android命令行下使用sqlite3”
android | niujins blog — 2011年06月27日 @ 10:57
Android websites collection (Language: 80% English) | riding in tech world. — 2011年09月16日 @ 00:26
这篇文章上的评论的 RSS feed TrackBack URI