2015-11-16 34 views
6

Câu hỏi nhanh: Tôi đang chơi với RxJava lần đầu tiên. Các nhà văn của các hướng dẫn tôi đã nhìn thấy tất cả các lặn vào cách để sử dụng nó, nhưng không ai trong số họ đã nói về sự khác biệt giữa các phiên bản ReactiveX và Netflix của các thư viện. Và để gây nhầm lẫn điều gì đó, liên kết mvnrepository đến Netfix GitHub chuyển hướng đến ReactiveX:Netflix vs ReactiveX Thư viện RxJava-Android

Vì vậy, một số hướng dẫn nói để làm điều này:

dependencies { 
    compile 'io.reactivex:rxandroid:1.0.1' 
    compile 'io.reactivex:rxjava:1.0.16' 
} 

và những người khác nói điều này:

dependencies { 
    compile 'com.netflix.rxjava:rxjava-core:0.20.7' 
    compile 'com.netflix.rxjava:rxjava-android:0.20.7' 
} 

câu trả lời Ngay cả khác nhau trên cùng một SO câu hỏi dường như sử dụng hai thay thế cho nhau:

Và rõ ràng họ không giống nhau. Tôi thấy rằng lớp AndroidObservable không có sẵn trong phiên bản ReactiveX. Chỉ phiên bản Netflix. Rõ ràng các số phiên bản khác nhau ...

Tôi đang thiếu gì đó? Đây có phải chỉ là sự thiếu rõ ràng trong tài liệu mà tôi đã đọc không? Tôi có đọc tài liệu sai không? Ai đó có thể chỉ cho tôi một nơi tốt mà tôi có thể RTFM liên quan đến những điều trên?

Trả lời

8

Chúng là cùng một thư viện. Phiên bản < 1.0.0 có com.netflix.rxjava groupId, nhưng phiên bản 1.0.0 trở lên có nhóm io.reactivexId. Xem trang này changelog item. Để có được phiên bản mới nhất và ổn định nhất, bạn muốn sử dụng nhóm reactivex groupId.

AndroidObservable không được dùng nữa và bị xóa tại một thời điểm nào đó, đó là lý do tại sao nó chỉ tồn tại trong các phiên bản cũ hơn.

Hướng dẫn tham chiếu phiên bản Netflix có thể được viết một lúc trước và chưa được cập nhật.

+0

Tuyệt vời! Vì vậy, có an toàn khi nói rằng 'AndroidObservable.fromBroadcast (this, intentFilter) 'tương đương với' Observable.create (new OperatorBroadcastRegister (this, intentFilter, null, null)) '? –

+0

Tôi thực sự không thể nói, tôi cũng không sử dụng. Tôi không tin là tồn tại như phiên bản 1.0.0. Thư viện rx-android đã được so sánh đáng kể trên bản phát hành đó và một số, nhưng không phải tất cả, tác phẩm bị xóa đã được chuyển sang các dự án khác. https://github.com/ReactiveX/RxAndroid/blob/v1.0.0/CHANGES.md#version-100---august-5th-2015 – iagreen

+0

Vâng, 'OperatorBroadcastRegister' cũng là một trong những lớp không dùng nữa. Tôi đã tham gia trò chơi trong nhiều năm, vì vậy tôi nên biết rõ hơn, nhưng điều này thật khó hiểu. Cảm ơn đã giúp đỡ. –

Các vấn đề liên quan