169 похожих чатов

Привет всем! gradle: implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1' implementation 'androidx.fragment:fragment-ktx:1.4.1' Fragment: private val viewModelSettings: ViewModelSettings by activityViewModels() override fun

onViewCreated(view: View, savedInstanceState: Bundle?) {
// Получаем данные из viewModel
viewModelSettings.userData.observe(viewLifecycleOwner) {
binding.editTextLogin.setText(it.login)
binding.editTextPassword.setText(it.password)
}

binding.buttonTestConnection.setOnClickListener {
// Проверить заполненные данные

// Новые данные для viewModel
viewModelSettings.userData.value = UserData(
1,
binding.editTextLogin.text.toString(),
binding.editTextPassword.text.toString(),
)
}
}

ViewModel:
open class ViewModelSettings : ViewModel() {
val userData: MutableLiveData<UserData> by lazy {
MutableLiveData<UserData>()
}
}

Database:
@Database(version = 1, entities = [UserData::class])
abstract class AppDatabase : RoomDatabase() {
abstract fun usersDao(): UserDao
}

Вопрос, как в моём случае из ViewModel подключиться к БД?

3 ответов

24 просмотра

Инициализирую переменную БД: private val database: AppDatabase by lazy { Room.databaseBuilder(applicationContext, AppDatabase::class.java, "database.db") .build() } Делаю Insert: GlobalScope.launch { val user = UserData(1, "log1", "pass1", true) database.usersDao().insertUserData(user) } - всё работает из MainActivity, а вот из ViewModel не хочет, ругается на applicationContext. Подскажите куда копать?

Анатолий Радонежский
Инициализирую переменную БД: private val database:...

У тебя она lazy. она инициализируется там где его нету.

Похожие вопросы

Обсуждают сегодня

Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
38
Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
65
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
24
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
А чем вам питонисты не угодили?😂
.
79
у меня вопрос на счет .global <name> для чего это нужно если я пишу на ассемблере? только для того что бы сделать это видимым для линкера? вот что написано в докумментации GA...
Simple Sorcerer
1
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
У меня вот только только был затык при изучении одной темы. Я настолько привык к джс, что мозг с трудом признал таки, что f и \x -> f x - это равные функции. Потому что в д...
xfides Barabanov
7
Карта сайта