关于RxJava的一些特殊用法小结
作者:DannyLau 时间:2022-06-13 13:31:54
本文主要给大家介绍了关于RxJava的一些特殊用法,分享出来供大家参考学习,需要的朋友们下面来一起看看吧。
一、按钮绑定
通过 RxView 可以对 view 进行快速的 clicks 绑定
RxView.clicks(button).debounce(300, TimeUnit.MILLISECONDS).subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
Log.i("test", "clicked");
}
});
二、轮询
项目中需要轮询请求,有两种实现方式
第一种
//轮训请求
Observable.create(new Observable.OnSubscribe<String>(){
@Override
public void call(Subscriber<? super String> subscriber) {
Schedulers.newThread().createWorker().schedulePeriodically(new Action0() {
@Override
public void call() {
//请求网络
}
},10,10, TimeUnit.SECONDS);
}
}).subscribe(new Action1<String>() {
@Override
public void call(String s) {
}
});
第二种
//轮询
Subscription mRepeat = Observable.interval(2,2,TimeUnit.SECONDS)
.subscribe(new Action1<Long>() {
@Override
public void call(Long aLong) {
}
});
三、延迟操作
有了这个就不用写,之前 thread 的延时方法了,而且可以快速的选择主线程和子线程
//延迟
Observable.timer(2,TimeUnit.SECONDS)
.subscribe(call ->{
});
来源:http://danny-lau.com/2017/01/10/rxjava-utils/
标签:rxjava,用法
0
投稿
猜你喜欢
C# Memcached缓存用法实例详解
2023-06-29 07:27:33
Java实现XML文件学生通讯录
2023-07-23 19:21:49
MultipartResolver实现文件上传功能
2021-06-19 22:38:15
java搭建ftp/sftp进行数据传递的全过程
2023-11-29 15:08:10
C#纯技术之Class写入Json
2023-01-15 17:13:49
mybatisplus使用xml的示例详解
2021-08-21 18:19:27
Android多国语言转换Excel及Excel转换为string详解
2022-10-30 08:07:02
零基础写Java知乎爬虫之获取知乎编辑推荐内容
2023-11-29 04:33:39
JAVA JDK8 List分组的实现和用法
2023-11-26 09:56:11
浅谈Java日志框架slf4j作用及其实现原理
2022-11-02 19:02:04
c# 实现自动扫雷
2021-09-01 09:25:58
android 通过MediaRecorder实现简单的录音示例
2023-07-29 06:03:54
Android实现点击切换视图并跳转传值
2022-07-14 07:23:28
java 中设计模式(值对象)的实例详解
2021-12-27 14:15:08
java面向对象:API(接口)与集合(ArrayList)
2021-06-07 03:28:19
Android编程使WebView支持HTML5 Video全屏播放的解决方法
2022-04-11 08:25:15
Java编程中ArrayList源码分析
2023-05-20 00:05:25
macOS上使用gperftools定位Java内存泄漏问题及解决方案
2023-03-02 11:42:38
VS2019配置OpenCV时找不到Microsoft.Cpp.x64.user的解决方法
2023-07-01 01:57:36
Flutter 实现网易云音乐字幕的代码
2023-04-01 11:50:45