android - 通过使用 ROOM 数据库,如何从没有 LiveData 或没有观察 LiveData 的表中获取值?
问题描述
我想从我的费用表中获取整数值,这是费用(金额列)总费用的总和。
在我的费用实体类中
//This is the column Amount which I want the sum of all values in this column and get single integer value total amount
@ColumnInfo(name = "Amount")
private int amount;
public int getAmount() {
return amount;
}
在我的 Dao 课程中,这里是通过 LiveData 给我总金额的函数
@Query("SELECT SUM(Amount) from Expense_table")
LiveData<Integer> getTotalExpenseAmount();
这是来自存储库类
public LiveData<Integer> getTotalExpenseAmount() {
return expenseDao.getTotalExpenseAmount();
}
这是来自 ViewModel 类
public LiveData<Integer> getTotalExpenseAmount() {
return expenseRepository.getTotalExpenseAmount();
}
一切正常。但在我的情况下,我不想通过 liveData 观察者得到这个,而是我想自己得到这个总量值。我不必一次又一次地使用观察者
expenseViewModel.getTotalExpenseAmount().observe(MainActivity.this, new Observer<Integer>() {
@Override
public void onChanged(Integer integer) {
totalExpense = integer;
addDataSet();
Toast.makeText(MainActivity.this, "Total Expense " + totalExpense, Toast.LENGTH_SHORT).show();
}
});
我必须在许多我不想一次又一次地观察到这一点的课程中获得这个总金额值。请告诉我任何有效地做到这一点的捷径。如果你们解决了我的问题,我会非常感谢你们
解决方案
推荐阅读
- json - 如何遍历json并创建数据框
- python - 模拟嵌入在某些对象中的 API 调用并根据对象内的输入改变行为
- reactjs - 使用 rails 5.2.4.4 设置 react_on_rails 时出现图像编译错误
- python - Django Get 返回多个值
- python-3.x - 为什么在没有我操作的情况下更改了类中的列表?
- python - 在 Python 中将一个添加到字母数字字符串的末尾
- xml - 我有一个 xml 文件,其中包含许多特殊字符,我需要找出这些特殊字符并将它们的不同列表放入文本文件中
- css - Instagram 浏览器中的导航栏错误
- c# - PPT VSTO:如何通过office的内部命令执行快捷方式
- android - android - view和viewModel之间的1:n关系是什么