我在Android中创建了一个sqlite
数据库,虽然我可以在我的代码中查询它,但我在文件系统/SD卡中找不到它。
我已经查看了其他的stackoverflow问题,它并不在data/data/package-name...
中。
我确实在我的应用程序数据条目中看到了52KB的空间,因此它确实存在。而且当我再次运行应用程序时,它不会触发OnCreate
,这意味着它已经有了数据库。
我的手机已经root,我正在使用一个可以正常运行的自定义jelly bean rom。
有什么想法它可能在哪里吗?
代码:C#
public class SqliteHelper : SQLiteOpenHelper
{
private const string DATABASE_NAME = "Book";
private const int DATABASE_VERSION = 1;
public SqliteHelper(Context ctx)
: base(ctx, DATABASE_NAME, null, DATABASE_VERSION)
{ }
// Method is called during creation of the database
public override void OnCreate(SQLiteDatabase db)
{
db.BeginTransaction();
try
{
db.ExecSQL("CREATE TABLE Chapters (Id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT NOT NULL);");
ContentValues cv = new ContentValues();
cv.Put("Name", "1. Family");
db.Insert("Chapters", null, cv);
cv.Put("Name", "2. Shopping");
db.Insert("Chapters", null, cv);
cv.Put("Name", "3. Work");
db.Insert("Chapters", null, cv);
db.SetTransactionSuccessful();
}
finally
{
db.EndTransaction();
}
//if(db.IsOpen())
// db.Close();
}