如何在rxjava2中使用Flowable?
RxJava2中引入了新的Flowable。如何在android中使用此功能。RxJava1中没有可流动性。如何在rxjava2中使用Flowable?,java,android,rx-java,rx-android,Java,Android,Rx Java,Rx Android,RxJava2中引入了新的Flowable。如何在android中使用此功能。RxJava1中没有可流动性。公共类可流动性ExampleActivity扩展AppCompativity{ public class FlowableExampleActivity extends AppCompatActivity { private static final String TAG = FlowableExampleActivity.class.getSimpleName(); B
公共类可流动性ExampleActivity扩展AppCompativity{
public class FlowableExampleActivity extends AppCompatActivity {
private static final String TAG = FlowableExampleActivity.class.getSimpleName();
Button btn;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
btn = (Button) findViewById(R.id.btn);
textView = (TextView) findViewById(R.id.textView);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
doSomeWork();
}
});
}
/*
* simple example using Flowable
*/
private void doSomeWork() {
Flowable<Integer> observable = Flowable.just(1, 2, 3, 4);
observable.reduce(50, new BiFunction<Integer, Integer, Integer>() {
@Override
public Integer apply(Integer t1, Integer t2) {
return t1 + t2;
}
}).subscribe(getObserver());
}
private SingleObserver<Integer> getObserver() {
return new SingleObserver<Integer>() {
@Override
public void onSubscribe(Disposable d) {
Log.d(TAG, " onSubscribe : " + d.isDisposed());
}
@Override
public void onSuccess(Integer value) {
Log.d(TAG, " onSuccess : value : " + value);
}
@Override
public void onError(Throwable e) {
Log.d(TAG, " onError : " + e.getMessage());
}
};
}
}
私有静态最终字符串标记=FlowableExampleActivity.class.getSimpleName();
按钮btn;
文本视图文本视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_示例);
btn=(按钮)findViewById(R.id.btn);
textView=(textView)findViewById(R.id.textView);
btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
doSomeWork();
}
});
}
/*
*使用Flowable的简单示例
*/
私人文件{
可流动可观察=可流动。仅(1,2,3,4);
可观察的。减少(50,新的双功能(){
@凌驾
公共整数应用(整数t1、整数t2){
返回t1+t2;
}
}).subscribe(getObserver());
}
私有单观察员getObserver(){
返回新的SingleObserver(){
@凌驾
认购的公共无效(一次性d){
Log.d(标记为“onSubscribe:+d.isDisposed());
}
@凌驾
成功时的公共void(整数值){
Log.d(标记“onSuccess:value:”+value);
}
@凌驾
公共无效申报人(可丢弃的e){
Log.d(标记“onError:+e.getMessage());
}
};
}
}
我有一个创建示例项目来演示RxJava2的使用。在这里你可以找到这是它在文档中所说的 实际上,1.x fromEmitter(以前是fromAsync)已被重命名 创建。其他基本无功类型具有类似的特性 方法(减去背压策略) 因此,您可以使用与
fromEmitter
和fromAsync
如何学习RxJava2的所有功能?它包含如此多的API。我不知道开发android应用程序需要学习哪些东西。