मैं एंड्रॉइड पर छवियों को डाउनलोड और कैश करने के लिए ग्लाइड का उपयोग कर रहा हूं। सबकुछ ठीक से काम करता है इस तथ्य को छोड़कर कि मैं बिटकमैप्स को सीधे ImageView
में लोड नहीं करना चाहता, मैं फीका एनीमेशन नहीं चाहता, न ही छवि प्लेसहोल्डर।एंड्रॉइड ग्लाइड: बिटमैप्स को डाउनलोड और कैश कैसे करें?
मैं चाहता हूं कि एक वैश्विक विधि तैयार करें जो मुझे पूरे एप्लिकेशन में छवि डाउनलोड करने में मदद करेगी।
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);
}
}
समस्या यह है कि मुझे नहीं पता कि श्रोता को कैसे कार्यान्वित किया जाए। RequestListener
बिल्कुल नहीं कहा जाता है।
इस की चर्चा करते हुए प्रयास करें: [कड़ी] (http://android-developers.blogspot.in/2010/07/multithreading-for-performance.html)। –