1

我正在关注本教程https://youtu.be/YoSr5mi5kKU?t=30m52s以了解 Android 中的 RxJava 和 MVP 模式。

但是,当它到达观察对象的时刻时,它现在起作用了:

public void getDataTMDBinteractor() {
    Map<String, String> params = new HashMap<>();
    params.put("api_key", "zzzzzzzzzzzzzzzzzzzzzzzzzzz");
    Observable<ResponseTMDB> responseTMDBObservable = serviceTMDB.getDataTMBDService(params);

    responseTMDBObservable.subscribeOn(Schedulers.newThread())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(new Subscriber<ResponseTMDB>() { //Starting error from here
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(ResponseTMDB responseTMDB) {

            }
        });
}

在此处输入图像描述

错误是:无法解析方法 'subscribe(anonymous rx.Subscriber)'

服务接口是这样的:

public interface ServiceTMDB {
    @GET("movie/popular")
    Observable<ResponseTMDB> getDataTMBDService(@QueryMap Map<String, String> params);
}

我不知道我到底错过了什么或做错了什么。

摇篮进口:

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.google.code.gson:gson:2.8.0'
4

2 回答 2

2

简单的问题,您正在添加

compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'

适用于 RxJava 1.x


但对于

compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

你应该添加

compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
于 2017-01-08T19:10:25.320 回答
0

您正在添加:

compile 'io.reactivex:rxandroid:1.2.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
于 2018-06-04T01:14:10.240 回答