使用eclipse android模拟器在data / data / packagename /下找不到数据库文件夹

时间:2014-02-06 09:12:11

标签: java android eclipse sqlite

我遇到了sqlite android的问题。根据我从互联网上找到的例子,可以在data / data / packagename /下找到数据库,但我找不到该目录下的这个文件夹。

请告诉我这是什么问题?

如果有必要,我会提供我的sqlitehelper类。

   package com.example.waterrefilltest;
  import static android.provider.BaseColumns._ID;



 import android.content.ContentValues;
 import android.content.Context;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteOpenHelper;


    public class data extends SQLiteOpenHelper{


private static final String DATABASE_NAME = "waterrefill.db";

public data(Context ctx){
    super(ctx, DATABASE_NAME, null, 4);
}



public void generateData(Content c){
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues cv = new ContentValues();
    cv.put("lat", c.getLat());
    cv.put("long", c.getLng());
    cv.put("cat",c.getCt());
    cv.put("rat", c.getRt());
    cv.put("ph",c.getPh());
    cv.put("distance", c.getDistance());
    db.insert("contents", null, cv);
    db.close();
}

public void deleteData(SQLiteDatabase db){
    db.execSQL("DROP TABLE contents");

}
@Override
public void onCreate(SQLiteDatabase db){
    db.execSQL("CREATE TABLE contents ("+_ID+" INTEGER PRIMARY KEY AUTOINCREMENT , lat TEXT ,  longi TEXT , cat TEXT , rat TEXT , ph TEXT , distance TEXT );");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS contents");
    onCreate(db);



}

}

2 个答案:

答案 0 :(得分:1)

我猜数据库还没有创建。这就是为什么你无法看到它。在你的主要活动课中试试这个:

data dt = new data(this);
SQLiteDatabase db = dt.getReadableDatabase();

数据库是在调用oncreate时创建的,当你调用getReadAbleDatabase()时,它的oncreate被调用并创建数据库

答案 1 :(得分:0)

可能未创建,原因可能是您在创建表声明中使用的“;