Для создания класса-контейнера надо получить данные из нескольких таблиц
Я создал базу данных из нескольких таблиц на библиотеке Room. Далее я пытаюсь создать классы, содержащие в своих полях данные по запросам из нескольких полей.
public MutableLiveData<List<FoodData>> getFoodDataList() {
if (livedataOfAllFood == null) {
livedataOfAllFood = foodDao.getAllFood();
}
MutableLiveData<List<FoodData>> results = (MutableLiveData<List<FoodData>>) Transformations
.map(livedataOfAllFood, new Function<List<Food>, List<FoodData>>() {
@Override
public List<FoodData> apply(List<Food> input) {
return input.stream().map(new java.util.function.Function<Food, FoodData>() {
@Override
public FoodData apply(Food food) {
String name = food.getName() ;
Log.d(MY_LOG, "FrRepo - name = " + name) ;
int id = food.getId() ;
Log.d(MY_LOG, "FrRepo - id = " + id) ;
Double amount = 0.0 ;
// amount = fridgeDao.getCurrentAmountInDoubleById(id) ;
FoodData foodData = new FoodData(name, amount) ;
Log.d(MY_LOG, "FrRepo - amount = " + amount) ;
return foodData;
}
}).collect(Collectors.<FoodData>toList());
}
});
return results ;
}
Как получить amount в закоммиченной строчке? я пытался использовать Transformation.switchmap и future, но или они тут не подходят или я накосячил.