Rxjava中的range的简单使用。

来源:互联网 发布:怎么备份手机应用数据 编辑:程序博客网 时间:2024/05/17 22:16
public class MainActivity extends AppCompatActivity {    private Button btn;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btn = (Button) findViewById(R.id.btn);        btn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                rangeTest();            }        });    }    /**     * 测试range操作符     */    private void rangeTest() {        Observable.range(23, 3).subscribe(new Subscriber<Integer>() {            public void onNext(Integer value) {                Log.e("rangeObserver", String.valueOf(value));            }            @Override            public void onCompleted() {                Log.e("rangeObserver", "onCompleted");            }            @Override            public void onError(Throwable e) {                Log.e("rangeObserver", "onError");            }        });    }}


输出:

05-17 19:58:09.629 14460-14460/com.robot.rxjavaandretrofit E/rangeObserver: 2305-17 19:58:09.629 14460-14460/com.robot.rxjavaandretrofit E/rangeObserver: 2405-17 19:58:09.629 14460-14460/com.robot.rxjavaandretrofit E/rangeObserver: 2505-17 19:58:09.629 14460-14460/com.robot.rxjavaandretrofit E/rangeObserver: onCompleted

总结:range操作符的作用Range操作符根据出入的初始值n和数目m发射一系列大于等于n的m个值。

注意:range操作符的不用主动调用onNext()和onCompleted(),它里面已经实现了对Subcriber的onNext()和onCompleted()的调用。


0 0