Я следовал руководству/учебнику, в котором пытался заставить работать базу данных номеров: https://medium.com/mobile -app-development-publication/learning-androids-room-database-made-easy-ada5906dcd59
Вот код модели представления (неполный банкомат):
Код: Выделить всё
class EntryViewModel(private val entryDAO: EntryDAO) : ViewModel() {
private var entryList = mutableStateListOf()
private val _entryListFlow = MutableStateFlow(entryList)
val entryListFlow: StateFlow get() = _entryListFlow
init { loadEntryList() }
private fun loadEntryList() {
viewModelScope.launch {
entryDAO.getEntryFromDate().collect {
entryList = it.toMutableStateList()
_entryListFlow.value = entryList
}
}
}
}
Код: Выделить всё
fun AddJournalScreen(
navController: NavController,
viewModel: EntryViewModel,
) {
// ...
}
ошибкой.
Я поместил переменную модели представления в основной файл активности
р>
Код: Выделить всё
class MainActivity : ComponentActivity() {
lateinit var navController: NavHostController
private val viewModel by lazy {
EntryViewModel((application as DataBaseApplication).db.entryDAO())
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
FYPTheme {
IntroductionScreen()
}
}
}
}
Я пытаюсь передать view в метод addjournalscreen, чтобы я мог сохранять данные, введенные пользователями, в базу данных (и, в конечном итоге, запрашивать ее).
Я пробовал несколько онлайн-видео на YouTube, гуглил и общался в чате, но не мог понять, как это сделать, поскольку некоторые видео, за которыми я пытался следить, также выдавали эту ошибку при попытке передать модель представления.
Я также пробовал следить некоторые использовали viewmodelfactory, но я не смог понять большую часть из них.
Сообщение об ошибке при создании приложения с помощью Hilt
Ошибка сборки
Gradle и плагины
Зависимости Gradle
Плагин
Подробнее здесь: https://stackoverflow.com/questions/782 ... oom-databa