Je suis nouveau dans la base de données SQLite. J'ai actuellement créé une base de données, mais j'ai deux erreurs dans ma classe d'aide à l'intérieur du constructeur pour la constante DATABASE_NAME
et la constante DATABASE_VERSION
. L'erreur indique: Impossible de référencer PetDbHelper.DATABASE_NAME
avant que le constructeur de supertype ait été appelé. J'ai la même erreur pour la constante DATABASE_VERSION
. PetDbHelper.java:J'ai des problèmes dans une classe d'assistance SQLite
public class PetDbHelper extends SQLiteOpenHelper {
private final String DATABASE_NAME = "shelter.db";
private final int DATABASE_VERSION = 1;
public PetDbHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String SQL_CREATE_PETS_TABLE = "CRAETE TABLE" + PET_ENTRY.TABLE_NAME + "(" + PET_ENTRY._ID + "INTEGER PRIMARY KEY AUTOINCREMENT,"
+ PET_ENTRY.NAME + "TEXT NOT NULL," + PET_ENTRY.BREED + "TEXT," + PET_ENTRY.GENDER + "INTEGER NOT NULL,"
+ PET_ENTRY.WEIGHT + "INTEGER NOT NULL DEFAULT 0);";
sqLiteDatabase.execSQL(SQL_CREATE_PETS_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
faire DATABASE_NAME statique, Database_Version –
j'ai réalisé que ma réponse à appeler 'méthodes super' ne sont pas applicables à cette question, mais vous besoin d'appeler 'super.onCreate (sqLiteDatabase)' et 'super.onUpgrade (sqliteDatabase, i, i1);' pour éviter un crash différent. –
Ok, merci @MichaelDodd –