【发布时间】:2017-04-06 12:36:54
【问题描述】:
我只想要数字,但这是我在日志中收到的:
[牛肝菌(等级=4.5),牛肝菌(等级=9.5)]
回应:
public class GradeResponse {
@Inject
Retrofit retrofit;
@Inject
MainPresenter mainPresenter;
public void getGradeRx() {
MyApplication.getMainComponent().injectIntoGradeResponse(this);// informando ao dagger sobre o uso de um component e a necessidade de injetar dependência
Subscription getGrade = retrofit
.create(GradeService.class)
.getGrade()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.map(model -> {
return model.getBoletim();
})
.subscribe(new Observer<Boletim[]>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Log.i(TAG, "saporra vai me matar ainda");
}
@Override
public void onNext(Boletim[] grades) {
Log.i(TAG, Arrays.asList(grades).toString());
}
});
}
}
模型:
GradeModel:
@SerializedName("boletim")
@Expose
private Boletim[] boletim;
Boletim.class
public class Boletim {
@SerializedName("grade")
@Expose
private double grade;
改造服务正常,依赖注入工作。我从 rxJava 接收 onSuccess 方法,我现在只需要接收没有这个 "[Boletim(grade=".
的数字【问题讨论】:
-
在此处查看过滤器运算符 - github.com/ReactiveX/RxJava/wiki/Filtering-Observables
-
你不应该使用
Arrays.asList(grades).toString()。 -
@LyubomyrShaydariv 那我应该用什么?
-
@StuStirling 你能用它做一个演示吗?
-
@StuStirling 为什么你认为这是一个过滤器?这是一个转变
标签: java android rx-java rx-android