当我在android中使用Sqlite数据库时
使用以下代码:
public class DBHelper extends SQLiteOpenHelper{
public String test="";
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
test="here11";
// Category table create query
String CREATE_CATEGORIES_TABLE = "CREATE TABLE " + TABLE_LABELS + " ( "+ KEY_Phone + " TEXT PRIMARY KEY, " + KEY_NAME + " TEXT, " + KEY_email + " TEXT, " + KEY_Pass + " TEXT, " + KEY_MomNum + " TEXT )";
db.execSQL(CREATE_CATEGORIES_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_LABELS);
// Create tables again
onCreate(db);
}
}
我输入一个测试字符串来检查是否输入onCreate函数
在主要班级:
DBHelper db = new DBHelper(getApplicationContext());
Toast.makeText(getApplicationContext(), db.test, Toast.LENGTH_LONG).show();
但我显示空吐司为什么?
谢谢。答案 0 :(得分:0)
数据库创建一次,因此如果您第二次运行,它将不会再次运行onCreate方法,因为数据库已存在。
您需要做的是增加数据库版本。这将调用onUpgrade
,然后再次调用onCreate
,它将再次创建数据库。
答案 1 :(得分:0)
您应该删除应用程序缓存并再次测试。