1

http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/からRxJavaを学んでいます

彼の hello world の例をコピーして貼り付けると、メソッドがスーパークラスのメソッドをオーバーライドしないというコンパイル エラーが発生します。そこで、同じ例を使用しましたが、Eclipse に "call" メソッドを生成させました。

Observable<String> myObservable = Observable.create(
            new Observable.OnSubscribe<String>() {

                public void call(Subscriber<? super String> arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("Hi");

                    arg0.onNext("Hello, world!");
                    arg0.onCompleted();
                }
            }
        );

上記のコードを実行しても何も出力されず、call メソッドが呼び出されないことが確認されます。

私のbuild.gradleファイル:

apply plugin: 'java'
apply plugin: 'eclipse'

sourceCompatibility = 1.5
version = '1.0'
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version':     
version
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
    compile 'io.reactivex:rxjava:1.0.0'
}

test {
    systemProperties 'property': 'value'
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}

誰かが rxjava または rxandroid の優れた直感的なチュートリアルをリンクできれば、それも高く評価されます。

4

1 に答える 1

2

を呼び出していないため、何も出力されませんでしたsubscribe。投稿をもう一度読むと、次のコードが見つかります。

myObservable.subscribe(mySubscriber);
// Outputs "Hello, world!"
于 2014-12-19T08:21:42.977 に答える