Używam Glide do pobierania i buforowania obrazów na Androidzie. Wszystko działa dobrze, oprócz tego, że nie chcę ładować bitmap bezpośrednio do ImageView
, nie chcę mieć animacji zaniku, ani symboli zastępczych obrazu.Android Glide: jak pobierać i zapisywać mapy bitowe w pamięci podręcznej?
Wszystko czego chcę, to stworzyć globalną metodę, która pomoże mi pobrać obraz całej aplikacji.
public class MyApp extends Application {
public static void downloadImage(String url, final OnImageLoadedCallback callback) {
// And how to implement the listener ?
RequestListener<String, Bitmap> requestListener = new RequestListener<String, Bitmap() {
@Override
public boolean onException(Exception exc, String string, Target<Bitmap> target, boolean isFirstResource) {
callback.onDone(null);
return false;
}
@Override
public boolean onResourceReady(Bitmap bitmap, String string, Target<Bitmap> target, boolean isFromMemoryCache, boolean isFirstResource) {
callback.onDone(bitmap);
return false;
}
};
Glide.with(context)
.load(url)
.asBitmap()
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.listener(requestListener);
}
}
Problem polega na tym, że nie wiem, jak zaimplementować słuchacza. RequestListener
nie jest w ogóle wywoływany.
Spróbuj odnosi się do tego: [LINK] (http://android-developers.blogspot.in/2010/07/multithreading-for-performance.html). –