目前我开始使用可观察的内容,但目前我还是遇到了一些事情......
目前我有一个主类,这个人会调用一个Observable文件观察器,到目前为止一直很好。这很有效。
这样的事情:
public static void main(String args[]) {
Observable<String> myObservable = observable();
// Buffer on Backpressure since I load every old file/directory, too
Subscription subscription = observable.onBackpressureBuffer()
.subscribe(subscriber -> {
})
... // Code that stop the program from stopping
}
这就是我所知道的我想要一些其他Observable的东西,比如说
OfficeObservable
或PdfObservable
。当文件的扩展名为.pdf
时将使用哪个将使用PdfObservable。如果它有类似.docx
的东西,它应该调用OfficeObservable。但是我怎么能把它附加到一个更大的程序。特别是因为那不是我想要使用的最后一个可观察者。
我可以在subscribe方法或flatMap中将它们链接在一起,让它们全部返回相同的接口吗? 我一直坚持如何从RxJava中获取更大的应用程序。
答案 0 :(得分:0)
你可以像这样公开你的专业(和FileObservable):
Observable<String> fileObservable;
private void init(){ // called from constructor or some other init'ish method
//init your fileObservable
}
public Observable<String> getFileObservable(){
return fileObservable;
}
public Observable<String> getPdfFileObservable(){
return fileObservable.filter(name -> name.endsWith(".pdf"))
}
如果您想要将cache()
添加到fileObservable或将其他有用的Observable运算符添加到其中,这很大程度上取决于您要执行的操作。