在Android Studio中,如果SQLite数据库创建不起作用,可能是由于以下几个原因:
public class DBHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 2; // 更新版本号为2
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// ...
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "("
+ COLUMN_ID + " INTEGER PRIMARY KEY,"
+ COLUMN_NAME + " TEXT,"
+ COLUMN_AGE + " INTEGER" + ")";
db.execSQL(CREATE_TABLE);
Log.d("DBHelper", "Table created successfully.");
}
数据库文件已存在且不可写:如果数据库文件已存在且不可写,可能会导致数据库创建失败。可以尝试删除原有的数据库文件,然后重新运行程序。
数据库升级操作未正确实现:如果需要在数据库升级时执行一些操作(如增加字段、删除表等),需要在SQLiteOpenHelper的onUpgrade()方法中实现相应的逻辑。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < 2) {
String ALTER_TABLE = "ALTER TABLE " + TABLE_NAME + " ADD COLUMN " + COLUMN_WEIGHT + " INTEGER";
db.execSQL(ALTER_TABLE);
}
Log.d("DBHelper", "Database upgraded successfully.");
}
如果以上方法仍然无法解决问题,可以尝试清除应用数据或重新安装应用。