站在巨人的肩膀上-Rxjava & RxAndroid

/ 0评 / 5

前言

开发Android应用的时候,最常见的问题就是异步处理了,针对这个问题往往采用回调解决,这样带来的问题就是会让我们的代码可读性很差,举个例子

假设有这样一个需求:界面上有一个自定义的视图 imageCollectorView ,它的作用是显示多张图片,并能使用 addImage(Bitmap) 方法来任意增加显示的图片。现在需要程序将一个给出的目录数组 File[] folders 中每个目录下的 png 图片都加载出来并显示在 imageCollectorView 中。需要注意的是,由于读取图片的这一过程较为耗时,需要放在后台执行,而图片的显示则必须在 UI 线程执行。常用的实现方式有多种,下面这种方法明显成了一个“人”字,也许自己刚写出来比较容易看懂,但是后期维护起来肯定很困难。

new Thread() {
    @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();

Rxjava & RxAndroid

本篇的主角就是用来解决上面的问题的,因为网上优质介绍的博客很多了,所以我就分享给大家很有代表性的几篇。

入门篇:概念

给 Android 开发者的 RxJava 详解

防止链接失效地址:给 Android 开发者的 RxJava 详解

深入篇:实际demo

从案例学RxAndroid开发 (上、下)

防止链接失效地址:从案例学RxAndroid开发 (上、下)

最新篇:2.0

因为截至本文章发出,最新版为2.0,网上的优质博客大多数是基于1.X的,所以贴出几篇

关于 RxJava 最友好的文章—— RxJava 2.0

防止链接失效地址:关于 RxJava 最友好的文章—— RxJava 2

RxJava2 浅析

防止链接失效地址:RxJava2 浅析 - 泡在网上的日子

技术的迭代真是一年一个时代

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注