我已经阅读了关于如何访问数据库内容的问题的答案,但是我似乎无法让它在我的机器上运行.这是shell日志:
C:\android-sdk-windows\tools>adb -s emulator-5554 shell # sqlite3 /data/data/com.android.demo.notepad2/databases/notes sqlite3 /data/data/com.android.demo.notepad2/databases/notes SQLite version 3.5.9 Enter ".help" for instructions sqlite> .tables .tables sqlite> ^C C:\android-sdk-windows\tools>
尽管Eclipse文件浏览器告诉我它存在,但SQLite只是回复我的命令.如果我使用sqlite3工具并使用".tables",则接受命令.
通过模拟器的SQLite语法是不同的是我错过了什么?
(很抱歉这么多问题,Android上似乎没有太多连贯的文档!)
谢谢!
我可以告诉你,它在Android 2.0.1上运行正常:
$ adb shell # cd /data/data/apt.tutorial # ls lib databases shared_prefs # cd databases # ls lunchlist.db # sqlite3 lunchlist.db SQLite version 3.5.9 Enter ".help" for instructions sqlite> .tables android_metadata restaurants sqlite> .exit # exit
您始终可以使用DDMS下载数据库文件,也可以adb pull
使用桌面SQLite客户端进行检查.例如,我使用Firefox的SQLite Manager插件.
另外,请记住,SQLite的没有默认文件扩展名,因此,如果你的数据库是不是notes
,但notes.db
还是notes.sqlite
什么的,你需要指定扩展.
另外,我还没有在Windows上试过这个,并且有可能在Windows命令提示符和Android设备上可用的有限shell上引起您的困难.