Попытка подключить модель представления к экрану с помощью Jetpack Compose для базы данных помещений.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Попытка подключить модель представления к экрану с помощью Jetpack Compose для базы данных помещений.

Сообщение Anonymous »

Я новичок в Jetpack Compose и пытаюсь передать модель представления на экран, однако не могу это сделать, поскольку у меня есть файл навигации приложения, которому требуется параметр для модели представления (хотя я пока не уверен, что это будет работать).
Я следовал руководству/учебнику, в котором пытался заставить работать базу данных номеров: 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»