2016-03-24 9 views
3

Bu yönteme sahibim, her şey mükemmel şekilde çalışıyor ancak görüntüler her zaman sunucudan geliyor ve önbellekten yüklenmiyor! ne oldu ?Görüntüler önbellekte saklanmıyor

public static void makeImageRequest(String Unique_ID, final View parentView, final int id) { 

    String url = FILE_UPLOAD_FOLDER + Unique_ID + ".png"; 
    final int defaultImageResId = R.drawable.user; 
    // Retrieves an image specified by the URL, displays it in the UI. 
    ImageCacheManager.getInstance().getImage(url, new ImageListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 
      ImageView imageView = (ImageView) parentView.findViewById(id); 
      imageView.setImageResource(defaultImageResId); 
     } 

     @Override 
     public void onResponse(ImageContainer response, boolean isImmediate) { 
      if (response.getBitmap() != null) { 
       ImageView imageView = (ImageView) parentView.findViewById(id); 
       imageView.setImageBitmap(response.getBitmap()); 
      } else if (defaultImageResId != 0) { 
       ImageView imageView = (ImageView) parentView.findViewById(id); 
       imageView.setImageResource(defaultImageResId); 
      } 

     } 
    }); 
} 

cevap

2

Sadece Picasso yerine ImageCacheManager kullanın. Picasso, Android için güçlü bir görüntü indirme ve önbellek kütüphanesidir. Görüntüler, Android uygulamalarına çok ihtiyaç duyulan bağlam ve görsel yetenekleri ekler. Picasso uygulamanızda sorunsuz bir şekilde görüntü yüklemesine izin verir - çoğu zaman bir kod satırıyla!

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView); 

Burada da resim başarıyla indirilen veya başarısız olup olmadığını yönetebilirsiniz:

    Picasso.with(context) 
           .load("http://i.imgur.com/DvpvklR.png") 
           .into(imageView, new Callback() { 
            @Override 
            public void onSuccess() { 
             // your code 
            } 

            @Override 
            public void onError() { 
             // your code 
            } 
           }); 

Yalnızca gradle bu satırı eklemek gerekir:

compile 'com.squareup.picasso:picasso:2.5.2' 

yardımcı olur Umut!

+0

Teşekkür ederiz. ancak her zaman ilk önce önbellekten başka bir resim yükler. Görüntüler nasıl yenilenir? – shirin