Я пытаюсь передать переменные из дочернего класса в конструктор родителя.
Конструктор родительского класса состоит из (Context!, String!, SQLiteDatabase.CursorFactory!, Int)
.
Я легко могу сделать
class TodoListDBHandler(context: Context, databaseName: String, factory: SQLiteDatabase.CursorFactory, databaseVersion: Int):
SQLiteOpenHelper(context, databaseName, factory, databaseVersion)
, но я хотел бы указать имя базы данных и версию непосредственно внутри класса, вместо того, чтобы указывать ее каждый раз, когда я вызываю конструктор, поскольку могу ошибаться.
Мой текущий код:
class TodoListDBHandler(context: Context, databaseName: String, factory: SQLiteDatabase.CursorFactory, databaseVersion: Int):
SQLiteOpenHelper(context, databaseName, factory, databaseVersion) {
val databaseFileName = "todoList.db"
val databaseVersion = 1
override fun onCreate(db: SQLiteDatabase?) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
Как указано выше, я хотел бы иметь возможность передать указанную переменную в конструктор родителя.
EDIT:Это нужный код, но в Java
public TodoListDBHandler(Context context, SQLiteDatabase.CursorFactory factory) {
// databaseFileName and databaseVersion are already specified inside the class
super(context, databaseFileName, factory, databaseVersion)
}