Фреска - Как сохранить изображения в локальном хранилище - PullRequest
0 голосов
/ 20 января 2019

Мое приложение должно загружать изображения из локального хранилища, применять некоторые преобразования и затем сохранять преобразованное изображение обратно в локальное хранилище.

Я использую Fresco для загрузки изображений из хранилища. Все работает хорошо, за исключением того, что я не могу сохранить изображения обратно в локальное хранилище.

Это то, что я делаю для сохранения изображений:

val imagePipeline = Fresco.getImagePipeline()
val dataSource = imagePipeline.fetchEncodedImage(imageRequest, context)
dataSource.subscribe(SaveBitmapSubscriber(), DefaultExecutorSupplier(1).forLocalStorageWrite())

class SaveBitmapSubscriber: BaseDataSubscriber<CloseableReference<PooledByteBuffer>>() {
  override fun onFailureImpl(dataSource: DataSource<CloseableReference<PooledByteBuffer>>) {
    Log.d(javaClass.simpleName, "onFailureImpl")
  }

  override fun onNewResultImpl(dataSource: DataSource<CloseableReference<PooledByteBuffer>>) {
    Log.d(javaClass.simpleName, "onNewResultImpl")
  }
}

onFailureImpl вызывается каждый раз. Что я делаю неправильно? Это даже правильный способ сделать это? документация по теме недостаточна.

1 Ответ

0 голосов
/ 24 января 2019

В onFailureImpl, попробуйте calling dataSource.getFailureCause() и зарегистрируйте это.Исключение должно объяснить, что пошло не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...