В настоящее время у меня есть приложение, которое использует Picasso для загрузки изображений и их отображения в виде макулатуры.
Я хочу изменить свою логику, полностью покончив с Picasso и загружая изображения в фоновом режиме, когда приложениеизначально установлен.Во время последующих запусков приложения изображения будут отображаться из внутреннего хранилища.
Итак, как я могу сообщить программе восстановления информации о том, что изображение готово к отображению после того, как оно было успешно сохранено во внутреннем хранилище?Я бы предпочел, чтобы они не отображались сразу, потому что это заняло бы слишком много времени, но показывать каждое изображение по завершении загрузки (что-то вроде того, как это делает Пикассо).
Это мой текущийonBindViewHolder код:
override fun onBindViewHolder(rawHolder: RecyclerView.ViewHolder, position: Int) {
val holder = rawHolder as CustomVH
holder.resourcesByCategory = resourcesByCategory[position]
val dir : String = utils.getInternalDirectory("Covers") + "/CoverBookId" + resourcesByCategory[position].id + ".jpg"
val bookCover = File(dir)
if (bookCover.exists()) {
if (holder.bmp != null) {
holder.bmp!!.recycle()
}
holder.resourceCover.setImageBitmap(null)
val options = BitmapFactory.Options()
options.inPreferredConfig = Bitmap.Config.RGB_565
holder.bmp = BitmapFactory.decodeStream(FileInputStream(bookCover), null, options)
if (holder.bmp != null) {
holder.bmp = Bitmap.createScaledBitmap(holder.bmp, 150,180, true)
holder.resourceCover.setImageBitmap(holder.bmp!!)
}
}
}