Java 我需要对两个livedata对象执行算术运算(减法),每个对象都是从单独的SQL查询返回的
我对编码和移动应用程序开发相对来说是个新手,但我很热衷,很热情,很想学习 这是我提出的第一个问题,因此,如果我在提问时违反了礼仪,请提前道歉 我正在编写一个应用程序来跟踪游泳运动员的个人最佳时间,我几乎已经完成了使用Room查询sql db的编码,并使用普通dao、存储库和viewmodel体系结构来返回我的游泳时间和资格时间。最后一步是从项目资格赛时间中减去游泳运动员的比赛时间。这就是我奋斗的地方 最初,我尝试如下嵌套livedata对象,但在内部执行算术时,外部livedata无法访问Java 我需要对两个livedata对象执行算术运算(减法),每个对象都是从单独的SQL查询返回的,java,android-livedata,mediatorlivedata,Java,Android Livedata,Mediatorlivedata,我对编码和移动应用程序开发相对来说是个新手,但我很热衷,很热情,很想学习 这是我提出的第一个问题,因此,如果我在提问时违反了礼仪,请提前道歉 我正在编写一个应用程序来跟踪游泳运动员的个人最佳时间,我几乎已经完成了使用Room查询sql db的编码,并使用普通dao、存储库和viewmodel体系结构来返回我的游泳时间和资格时间。最后一步是从项目资格赛时间中减去游泳运动员的比赛时间。这就是我奋斗的地方 最初,我尝试如下嵌套livedata对象,但在内部执行算术时,外部livedata无法访问 **
**Code snippet:**
swimMeetViewModel.getQualificationTimes(queryQualTimes(scSwimDistance, scHKTable, swimMeetViewModel.getAgeGroup())).observe(getViewLifecycleOwner(), new Observer<List<String>>() {
@Override
public void onChanged(@Nullable List<String> qualificationTime) {
freeQual = qualificationTime.get(0);
free_qual.setText(freeQual);
swimMeetViewModel.getFastTimes(queryFastTimes(swimMeetTable, AppConstants.free, scSwimDistance, SCMEET_TRUE)).observe(getViewLifecycleOwner(), new Observer<List<String>>() {
@Override
public void onChanged(@Nullable List<String> fastTime) {
freeTime = fastTime.get(0);
free_time.setText(freeTime);
}
freeDelta.setValue(toMMSS(toMilli(freeTime) - toMilli(freeQual)));
});
}
});
**代码片段:**
swimMeetViewModel.getQualificationTimes(查询时间(SCSwimInstance,scHKTable,swimMeetViewModel.getAgeGroup())。观察(getViewLifecycleOwner(),new Observer()){
@凌驾
更改后的公共void(@Nullable List qualificationTime){
freeQual=qualificationTime.get(0);
free_qual.setText(freeQual);
swimMeetViewModel.getFastTimes(queryFastTimes(swimMeetTable,AppConstants.free,SCSwimInstance,SCMEET_TRUE))。观察(getViewLifecycleOwner(),new Observer()){
@凌驾
更改后的公共void(@Nullable List fastTime){
freeTime=fastTime.get(0);
空闲时间.setText(空闲时间);
}
freedta.setValue(toMMSS(toMilli(freeTime)-toMilli(freeQual));
});
}
});
在深入研究之后,我遇到了以下问题,即mediatorlivedata是我处理多个livedata源所需的工具。然而,我似乎无法使用建议的代码来解决我的问题
如果您能帮助理解此代码并解释mediatorlivedata的工作原理,我们将不胜感激。不幸的是,在这方面,这项建议没有多大帮助
提前感谢,
ilh