2017-09-23 47 views
0

我想使用RxAndroid和RxJava,但我有点困惑哪些下面提到的库我应该使用? 在一些教程它们使用例如以下类其可在哪个库我应该使用RxAndroid和RxJava

compile 'io.reactivex:rxandroid:1.2.1' 
compile 'io.reactivex:rxjava:1.1.9' 

.subscribe(new Subscriber<String>) 

和一些教程哎使用例如它们使用下列类,其是可以在以下的lib

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

.subscribe(new Observer<String>) 

    moreover, in this lib there is no "Unsubscribe()" method??!! 

和在观察者类有一些所谓的一次性类
这不Subscriber类存在

此外, 请让我知道我应该使用哪一个?

compile 'io.reactivex:rxandroid:1.2.1' 
compile 'io.reactivex:rxjava:1.1.9' 

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

https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0。您可以使用Disposable并调用dispose()。 – Raghunandan

回答

0

在我的新项目中,我使用

compile 'io.reactivex.rxjava2:rxandroid:2.0.1' 
compile 'io.reactivex.rxjava2:rxjava:2.1.0' 
+0

但在这个库你提到有没有退订方法..对吧? – user2121

+0

你认为一次性,你应该处置它或使用CompositeDisposable信件处置几个一次性 CompositeDisposable compositeDisposable = new CompositeDisposable(); compositeDisposable.add(一次性的); compositeDisposable.clear(); –

0

有两个主要版本Rxjava和RxAndroid的,基本上如果你使用的第一个版本(1。 xy)你应该迁移到使用Rxjava2。 其原因是来自官方的github回购

时间表计划1.x的行:

  • 2017年6月1日 - 特性冻结(没有新的运营商),只有错误修正三月
  • 31,2018 - 结束生命的,没有进一步的发展

,如果你从头开始,你应该使用版本2,因为它比更强大旧的,它有背压支持,试着看看回购和维基here

0

如果你开始新项目,你应该使用RxJava2,因为它更快,更优化。有一种特殊的类型来处理箱子的背压。但它里面有更多的方法。 一次性只是Subscription类的新名称。所以在RxJava1中它是Subscription.unsubscribe()现在它的Disposable.dispose()。