Сложность возврата значения из базы данных помещений. ⇐ Android
Сложность возврата значения из базы данных помещений.
Я чувствую, что очень близок к пониманию этой темы с базой данных Room. У меня база данных работает нормально, и я могу добавлять записи, выполнять поиск и удалять, но не могу понять, как суммировать столбец и использовать результат в своем пользовательском интерфейсе.
Вот мой Дао
@Query("ВЫБРАТЬ СУММУ(findAmount) ИЗ найденных результатов") весело getFindTotal():String Вот мой репозиторий
fun getFindTotal():String { coroutineScope.launch(Dispatchers.IO) { val myVal = findDao.getFindTotal() Log.i("myVal","Значение myVal ${myVal}") } вернуть «фиктивную строку» } Вот моя модель просмотра
fun getFindTotal():String { вар myTotal = репозиторий.getFindTotal() Log.i("myTotal", myTotal) вернуть мой итог } Вот мой интерфейс
var myTotal = viewModel.getFindTotal() Текст("Итого = ${myTotal}") Мне кажется, что мне не хватает чего-то фундаментального в понимании того, как работает Room.
В моем репозитории я использовал Log.i, чтобы посмотреть значение переменной myVal, оно выдает правильное значение, поэтому мой SQL-запрос в моем Dao должен работать. Я не могу понять, как вернуть значение myVal в модель представления, поэтому я использовал «фиктивную строку», чтобы убедиться, что строка передается. Это значит, что пользовательский интерфейс создает фиктивную строку.
Как передать значение myVal в модель представления или я делаю это совершенно неправильно? У меня было предложение использовать Flow. Это лучший способ сделать это?
Большое спасибо за рассмотрение моего вопроса.
Я чувствую, что очень близок к пониманию этой темы с базой данных Room. У меня база данных работает нормально, и я могу добавлять записи, выполнять поиск и удалять, но не могу понять, как суммировать столбец и использовать результат в своем пользовательском интерфейсе.
Вот мой Дао
@Query("ВЫБРАТЬ СУММУ(findAmount) ИЗ найденных результатов") весело getFindTotal():String Вот мой репозиторий
fun getFindTotal():String { coroutineScope.launch(Dispatchers.IO) { val myVal = findDao.getFindTotal() Log.i("myVal","Значение myVal ${myVal}") } вернуть «фиктивную строку» } Вот моя модель просмотра
fun getFindTotal():String { вар myTotal = репозиторий.getFindTotal() Log.i("myTotal", myTotal) вернуть мой итог } Вот мой интерфейс
var myTotal = viewModel.getFindTotal() Текст("Итого = ${myTotal}") Мне кажется, что мне не хватает чего-то фундаментального в понимании того, как работает Room.
В моем репозитории я использовал Log.i, чтобы посмотреть значение переменной myVal, оно выдает правильное значение, поэтому мой SQL-запрос в моем Dao должен работать. Я не могу понять, как вернуть значение myVal в модель представления, поэтому я использовал «фиктивную строку», чтобы убедиться, что строка передается. Это значит, что пользовательский интерфейс создает фиктивную строку.
Как передать значение myVal в модель представления или я делаю это совершенно неправильно? У меня было предложение использовать Flow. Это лучший способ сделать это?
Большое спасибо за рассмотрение моего вопроса.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Название: Ошибки Kapt базы данных помещений с типами возврата сопрограммы
Anonymous » » в форуме Android - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Название: Ошибки Kapt базы данных помещений с типами возврата сопрограммы
Anonymous » » в форуме Android - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблема удаления данных из базы данных помещений (Android Studio Java)
Anonymous » » в форуме Android - 0 Ответы
- 75 Просмотры
-
Последнее сообщение Anonymous
-