Android 无法解析rxjava中的符号Obserable.onSubscribe

Android 无法解析rxjava中的符号Obserable.onSubscribe,android,rx-java,rx-java2,Android,Rx Java,Rx Java2,因为我是新来的RxJava尝试运行以下代码,但它显示了我 Cannot resolve symbol `Obserable.onSubscribe` 代码如下 Observable<String> fetchFromGoogle = Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber&l

因为我是新来的
RxJava
尝试运行以下代码,但它显示了我

Cannot resolve symbol `Obserable.onSubscribe`
代码如下

Observable<String> fetchFromGoogle = Observable.create(new Observable.OnSubscribe<String>() {
            @Override
            public void call(Subscriber<? super String> subscriber) {
                try {

                }catch(Exception e){
                    subscriber.onError(e); // In case there are network errors
                }
            }
        });
用于java 8兼容性

 compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
从评论中:


您依赖于RXJava2,但代码示例是针对RXJava1的。v2中没有Observable.OnSubscribe,您也不应该调用create(OnSubscribe),因为它因不安全而被弃用

如果您想要RxJava 1依赖项:

compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.3.4'
如果您想要RxJava 2代码:

io.reactivex.Observable<String> fetchFromGoogle = io.reactivex.Observable.create(
    new ObservableOnSubscribe<String>() {
        @Override
        public void subscribe(ObservableEmitter<String> emitter) {
            try {

            } catch(Exception e) {
                emitter.onError(e); // In case there are network errors
            }
        }
    });
io.reactivex.Observable fetchFromGoogle=io.reactivex.Observable.create(
新的订阅(){
@凌驾
公共无效订阅(可观测发射器){
试一试{
}捕获(例外e){
emitter.onError(e);//如果出现网络错误
}
}
});

您依赖于RxJava 2,但代码示例适用于RxJava 1。v2中没有可观察的
。OnSubscribe
,您也不应该调用
create(OnSubscribe)
,因为它因不安全而被弃用。alrite,这意味着web上的大部分教程都是RxJava1:)这导致了我的困惑,谢谢
io.reactivex.Observable<String> fetchFromGoogle = io.reactivex.Observable.create(
    new ObservableOnSubscribe<String>() {
        @Override
        public void subscribe(ObservableEmitter<String> emitter) {
            try {

            } catch(Exception e) {
                emitter.onError(e); // In case there are network errors
            }
        }
    });