Я могу открыть базу данных из основного действия приложения, используя следующий код, но после того, как она обернута в одноэлементный объект, она продолжает выдавать ошибку нулевого объекта:
object CommonClass {
fun openSQLDatabase(): SQLiteDatabase? {
var dbase: SQLiteDatabase? = null
try {
dbase = openOrCreateDatabase(
"dbfile.sqlite",
Context.MODE_PRIVATE, null
)
} catch (e: SQLException) {
println(e.message)
}
return dbase
}
}
I 'м, если предположить, что основная AppCompatActivity должна каким-то образом передавать свой контекст объекту, но мне не удалось найти работающую модель.
дляSwayangjit
Android Studio выделяет параметр Context.MODE_PRIVATE и отмечает его как:
Type mismatch.
Required: SQLiteDatabase.CursorFactory?
Found: Int
Но когда я реализую AppCompatActivity к одноэлементному объекту и передают Context.MODE_PRIVATE из основного действия, он запускается, но выдает эту ошибку:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase android.content.Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory)' on a null object reference