Я новичок в MVVM, я тоже использую компоненты архитектуры Android.
это мой код, я написал онлайн-часть, и сейчас я работаю над автономной частью, которая должна использовать базу данных комнаты.
это код моей модели:
class CategoryModel(
private val netManager: NetManager,
private val sharedPrefManager: SharedPrefManager
) {
var dateChanges: String = "null";
private lateinit var categoryDao: CategoryDao
private lateinit var dbConnection: DbConnection
fun getCats(): MutableLiveData<MutableList<Cat>> {
var list = MutableLiveData<MutableList<Cat>>();
if (netManager.isConnected!!) {
list = getCatsOnline();
} else {
list= getCatsOffline();
}
return list
}
это класс DbConnection:
@Database(entities = arrayOf(Cat::class), version = 1)
abstract class DbConnection : RoomDatabase() {
abstract fun CategoryDao(): CategoryDao
companion object {
private var INSTANCE: DbConnection? = null
fun getInstance(context: Context): DbConnection? {
if (INSTANCE == null) {
synchronized(DbConnection::class) {
INSTANCE = Room.databaseBuilder(
context.getApplicationContext(),
DbConnection::class.java, Const.db_Name
).build()
}
}
return INSTANCE
}
fun destroyInstance() {
INSTANCE = null
}
}
проблема в том, что мне нужно установить соединение с базой данных комнати это нуждается в контексте.
Как я могу установить это соединение?Как получить доступ к базе данных из класса Model?