Where I study 'RxJava' from?
最近升级到android studio 3.2,发现google正在推崇使用implementation而不是使用compile
引用库了。如果在使用过程中发现compile报错的话,可以使用implementation
RxJava 的github地址:https://github.com/ReactiveX/RxJava
现在引用RxJava的依赖:compile"io.reactivex.rxjava2:rxjava:2.1.12"
What is RxJava?
一个词:异步
"a library for composing asynchronous and event-based programs using observable sequences for the Java VM"(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)
Why people would like to use RxJava?
因为:简洁
RxJava随着程序逻辑变得越来越复杂,它依然能够保持简洁。
对比原始代码与RxJava代码:
@Override
public void run() {
super.run();
for (File folder : folders) {
File[] files = folder.listFiles();
for (File file : files) {
if (file.getName().endsWith(".png")) {
final Bitmap bitmap = getBitmapFromFile(file);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
imageCollectorView.addImage(bitmap);
}
});
}
}
}
}
}.start();
网友评论