我正在从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();
}
}
);
运行上面的代码不会打印任何内容,验证调用方法永远不会被调用。
我的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的优秀,直观的教程,也会受到赞赏。
答案 0 :(得分:2)
它没有输出任何内容,因为你没有调用subscribe
。再次阅读帖子,您将找到以下代码:
myObservable.subscribe(mySubscriber);
// Outputs "Hello, world!"