下面给你一个RxJava 入门路线图,偏实用、不堆概念,适合刚接触的人。
RxJava = 异步 + 事件流 + 链式编程
你可以把它理解为:
“用一串操作符,优雅地处理数据流(网络、点击、定时器等)”
Observable<String> observable = Observable.create(emitter -> {
emitter.onNext("Hello");
emitter.onNext("RxJava");
emitter.onComplete();
});
Observer<String> observer = new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {}
@Override
public void onNext(String s) {
System.out.println(s);
}
@Override
public void onError(Throwable e) {}
@Override
public void onComplete() {}
};
observable.subscribe(observer);
Observable.just("A", "B", "C")
Observable.fromArray(array)
Observable.interval(1, TimeUnit.SECONDS) // 定时
.map(x -> x + "!")
.flatMap(x -> Observable.just(x, x))
.filter(x -> x.length() > 2)
.take(3)
.subscribeOn(Schedulers.io()) // 上游线程
.observeOn(AndroidSchedulers.mainThread()) // 下游线程
Observable.just("请求数据")
.subscribeOn(Schedulers.io())
.map(data -> data + " -> 处理完成")
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
System.out.println(result);
});
❌ 不搞懂线程切换
❌ 滥用 flatMap
❌ 忘记 dispose(内存泄漏)
✅ 新手先用 map / filter / just
如果你愿意,我可以:
✅ 用 Android 网络请求 举例
✅ 对比 RxJava vs Kotlin Flow
✅ 给你 练习小任务
你想从哪开始?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。