https://github.com/ladingwu/rxutils
一个RxJava的工具包,提供一些实用的操作符
https://github.com/ladingwu/rxutils
rxjava2 utils
Last synced: about 1 year ago
JSON representation
一个RxJava的工具包,提供一些实用的操作符
- Host: GitHub
- URL: https://github.com/ladingwu/rxutils
- Owner: ladingwu
- License: apache-2.0
- Created: 2018-01-02T15:57:11.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-04T15:59:50.000Z (over 8 years ago)
- Last Synced: 2025-03-28T07:11:26.291Z (about 1 year ago)
- Topics: rxjava2, utils
- Language: Java
- Homepage:
- Size: 143 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RxUtils
## 一些RxJava的小工具
- 通过RxJava初步实现了Android的LiveData的功能
```
Observable.interval(2,2, TimeUnit.SECONDS)
.observeOn(AndroidSchedulers.mainThread())
// 这个调用可以保证只有在onResume之后,才会收到数据
.compose(RxUtils.bindLife(this))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Long aLong) {
Log.i("TAG","conten ---------> "+aLong);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
```
- 提供设置Rx线程优先级的能力
设置一类线程的优先级:
```
// 注意,这个是设置所有的computation线程的优先级为 4,
//只需要调用一次,必须在使用RxJava代码之前调用,最好在Application中设置
RxUtils.setComputationThreadPriority(4);
// 设置所有IO线程的优先级
RxUtils.setIoThreadPriority(4);
...
```
设置当前的线程的优先级:
```
Observable.interval(2,2, TimeUnit.SECONDS)
.map(new Function() {
@Override
public Long apply(Long aLong) throws Exception {
//
int pro=Thread.currentThread().getPriority();
String name=Thread.currentThread().getName();
return aLong;
}
})
// 这个是设置当前的线程的优先级为7
.compose(RxUtils.curThreadPriority(7))
.map(new Function() {
@Override
public Long apply(Long aLong) throws Exception {
int pro=Thread.currentThread().getPriority();
String name=Thread.currentThread().getName();
return aLong;
}
})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Long aLong) {
Log.i("TAG","conten ---------> "+aLong);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
```