我已经查看了有关此主题的先前问题的答案,但似乎无法使它们中的任何一个起作用。我正在 Eclipse 中开发,并在模拟器上运行该应用程序。
似乎最简单的方法是将adb
shell 与 sqlite3 命令结合使用。使用 adb 我可以看到模拟器设备。当我启动 adb shell 时,我看到一个目录,我希望在该目录中找到数据库:
/data/data/com.example.myfirstapp/databases/ (where com.example.myfirstapp is the package name of the app)
但是,该目录中没有.db
文件。有一个与应用程序创建的数据库同名的文件,但它没有.db
扩展名。
(我很确定我看到的是模拟设备的文件系统,因为它确实有我的应用程序的目录)。
更新
在浏览完所有回复,并通过 adb/sqlite3 并使用 DDMD/Sqlite 浏览器访问数据库后,我意识到我在代码中犯了一个“新手”错误:
public class MessageOpenHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "MyFirstApp.db";
public static final String MESSAGE_COLUMN = "message";
public static final String MESSAGE_TABLE_NAME = "messages";
private static final String MESSAGE_TABLE_CREATE = String.format("create table %s (%s TEXT);", MESSAGE_TABLE_NAME, MESSAGE_COLUMN);
public MessageOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
按照惯例,数据库名称应包含.db
扩展名。尽管没有它也可以正常工作,但 Eclipse 的 Sqlite 浏览器将无法识别该文件。希望像我这样的其他新手不会犯同样的错误。