В настоящее время я работаю с Rx Java для опроса сервера и LiveData для хранения данных. Моя текущая проблема заключается в том, что веб-интерфейс не будет отображать ничего, пока не будет выполнен метод опроса. Когда данных с сервера много, это занимает довольно много времени. Могу ли я узнать, как я могу это исправить? Я новичок в Android и Rx Java
public void polling(int frequency) {
Observable.interval(0, frequency, TimeUnit.MILLISECONDS)
.map(tick -> {
HashMap<PatientModel, ObservationModel> poHashMap = new HashMap<>();
for (PatientModel patient : getAllPatients()) {
for (ObservationType observationType : ObservationType.values()) {
poHashMap.put(patient, getObservation(patient.getPatientID(), observationType));
}
}
patientObservations.postValue(poHashMap);
return patientObservations;
}).subscribe();
}
HomeFragment:
homeViewModel.getAllPatientObservations().observe(getViewLifecycleOwner(), new Observer<HashMap<PatientModel, ObservationModel>>() {
@Override
public void onChanged(HashMap<PatientModel, ObservationModel> patientObservationHashMap) {
patientObservationHashMap.forEach((p,o) -> {
textView.setText(p.getName() + " " + o.getValue());
});
}
});