Android RxAndroid使用

简介: 实现类似定时器功能依赖compile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'io.reactivex.rxjava2:rxjava:2.1.3'2.布局文件中只是简单的TextView控件来显示文本。

实现类似定时器功能

  1. 依赖
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学习使用)中的方法,


  @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")// 数据源
        .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()); // 打印当前线程名
            textView.setText(s);
          }
        });
  }
目录
相关文章
|
Android开发
Android响应式编程开发RxAndroid(6):range
 Android响应式编程开发RxAndroid(6):range range的参数意义,range(x,count),从x起,发射count个数据,例如代码: package zhangphil.
771 0
|
Java Android开发
Android RxAndroid与RxJava之intervalRange
intervalRange以一个例子说明:从1开始输出10个数据,延迟0秒执行,每隔2秒执行一次: package zhangphil.
2285 0
|
Android开发
Android响应式编程开发RxAndroid(4):flatMap
Android响应式编程开发RxAndroid(4):flatMap RxAndroid的map通过Function把一个对象转换为另外一个对象,作为结果输出。
943 0
|
Android开发
Android响应式编程开发RxAndroid(5):RxJava 2.0的Consumer
 Android响应式编程开发RxAndroid(5):RxJava 2.0的Consumer RxJava 2.0引入的Consumer相当于1.0时候的Action。
1223 0
|
Android开发
Android响应式编程开发RxAndroid(3):map
 Android响应式编程开发RxAndroid(3):map RxJava中的map通过Function(函数)做一次结果转换,例如把输入源的数据转换处理成大写: package zhangphil.
836 0
|
Java Android开发
Android响应式编程RxAndroid(1):简单例程
Android响应式编程RxAndroid(1):简单例程 响应式Android编程开发,在github上的项目地址:https://github.com/ReactiveX/RxAndroid,设计原则类比Java观察者模式,给出一个简单例子,假设一个数据源,观察者观察数据源,然后做出简单的动作比如输出。
971 0
|
Android开发 Java
Android响应式编程开发RxAndroid(2):简单例程的Android改造
 Android响应式编程开发RxAndroid(2):简单例程的Android改造 附录1的Android响应式编程开发代码规范,遵循的是RxJava样式,可以正常运行。
987 0
|
5天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
28天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
14 0