Bricoler RxJava
pour la première fois, j'ai créé une chaîne Rx pour écouter un changement d'état de l'objet Chaîne:Comment la valeur String est-elle transmise à la méthode updateText()?
observable=Observable
.defer(new Callable<ObservableSource<String>>() {
@Override
public ObservableSource<String> call() throws Exception {
return(Observable.just(query()));
}
})
.subscribeOn(Schedulers.io())
.map(this::prettify)
.observeOn(AndroidSchedulers.mainThread())
.cache();
Ici enjoliver est:
private String prettify(String raw) {
Gson gson=new GsonBuilder().setPrettyPrinting().create();
JsonElement json=new JsonParser().parse(raw);
return(gson.toJson(json));
}
Maintenant, je créé un abonné à observable
:
sub=observable.subscribe(
this::updateText,
error -> Toast
.makeText(getActivity(), error.getMessage(), Toast.LENGTH_LONG)
.show()
);
Mais ce que je ne pouvais pas aider à comprendre comment la valeur est passée au updateText
méthode:
private void updateText(String text) {
((TextView)getView().findViewById(R.id.result)).setText(text);
}
La méthode updateText
fonctionne simplement, mais ma question est comment est-elle la valeur de chaîne? Toute aide à ce sujet sera grandement appréciée.