實現(xiàn)類似定時器功能
- 依賴
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.3'
2.布局文件中只是簡單的TextView控件來顯示文本讲竿。目前涉及到及所了解的RxAndroid與RxJava中多用到的是 .observeOn(AndroidSchedulers.mainThread()),通知主線程這一塊,其它不同還未涉及到橡类。RxAndroid在使用時使用RxJava(Java RxJava學(xué)習(xí)使用)中的方法,
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView textView = (TextView) findViewById(R.id.textView);
Observable
.just("one", "two", "three", "four", "five")// 數(shù)據(jù)源
.map(new Function<String, String>() {
@Override public String apply(@NonNull String s) throws Exception {
Log.e("TAG",Thread.currentThread().getName()); // 打印io線程名
Thread.sleep(1000); // 線程睡眠1秒鐘
return s;
}
})
.subscribeOn(Schedulers.io()) // 將以上代碼訂閱在io線程
.observeOn(AndroidSchedulers.mainThread()) // 通知主線程
.subscribe(new Consumer<String>() { // 主線程訂閱
@Override public void accept(String s) throws Exception {
Log.e("TAG",Thread.currentThread().getName()); // 打印當(dāng)前線程名
textView.setText(s);
}
});
}