@Nigtime456

Rxjava загрузить, сохранить и отобразить изображения в одном конвейре?

Суть: нужно загрузить изображение, сохранить его и отобразить. Всё работает, но текущий код мне не нравится:
Single.fromCallable { call.execute() }
            .map { it.body?.byteStream() }
            .map { BitmapFactory.decodeStream(it) }
            .map {//это мне не нравится
                it.compress(Bitmap.CompressFormat.JPEG, 90, getOutPutStream())
                it
            }
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeBy({ it.printStackTrace() }, {
                imageView.setImageBitmap(it)

            })

У меня слабые знания Rx, но мне кажется такой подход не правильный. Вопрос как это красиво записать. Не выносить же полученный bitmap отдельную переменную и потом создавать с ним новый конвейер ? Как вообще выполнять в одном конвейере несколько не связанных операций ?
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Такой подход неправильный. Используй Glide для загрузки изображений.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы