2015-06-16 5 views
6

मुझे एपीआई से बीएलओबी प्रकार के रूप में छवि मिल रही है। और, मैं इस प्रकार की बचत कर रहा हूँ,छवि देखें आधा लोड या एंड्रॉइड में नहीं

public static void setOptimalImage(Context ctx, File file, ImageView iv, 
      Point size) { 
     BitmapFactory.Options options = new BitmapFactory.Options(); 
     options.inJustDecodeBounds = true; 
     BitmapFactory.decodeFile(file.getPath(), options); 
     if (options.outHeight > 0 && options.outWidth > 0) { 
      if (size == null) { 
       size = new Point(); 
       WindowManager wm = (WindowManager) ctx 
         .getSystemService(Context.WINDOW_SERVICE); 
       wm.getDefaultDisplay().getSize(size); 
      } 
      options.inSampleSize = Utils.calculateInSampleSize(options, size.x, 
        size.y); 
      options.inJustDecodeBounds = false; 
      try { 
       iv.setImageBitmap(BitmapFactory.decodeFile(file.getPath(), 
         options)); 
      } catch (OutOfMemoryError oome) { 
       Log.e(Utils.class.getName(), 
         oome.getMessage() == null ? "OutOfMemory error: " 
           + file.getName() : oome.getMessage()); 
      } 
     } 
    } 

अब, इस मुद्दे को मैं का सामना करना पड़ रहा है,

जब मैं यह बचत कर रहा हूँ, कभी कभी छवि केवल half.Now की बचत है, मेरे सवाल है,

  • क्या फ़ाइल पथ से छवि को जांचने का कोई तरीका है आधे लोड (जिसका अर्थ है दूषित)?

संपादित करें:

  • मैं सर्वर से एक छवि डाउनलोड कर रहा हूँ। इस बीच, मैंने अपना शुद्ध कनेक्शन खो दिया है। उस स्थिति में, मेरी छवि आधे डाउनलोड कर रही है। क्या मैं उन दूषित छवियों को प्रोग्रामेटिक रूप से प्राप्त कर सकता हूं? या किसी भी विचार को इस मामले में कैसे संभालना है?

किसी भी मदद की वास्तव में सराहना की जाएगी।

धन्यवाद। संदर्भ के लिए

अटैच किया जा रहा छवि:

enter image description here

+0

@ मॅनू आपको छवि को सहेजने के बाद गैलरी को रीफ्रेश करने की आवश्यकता है http://stackoverflow.com/questions/15837485/how-can-i-update-the-android-gallery-after-a-photo और आपको रीफ्रेश करने के बाद छवि सेट करने की जरूरत है –

उत्तर

0

मुझे लगता है कि आप भ्रष्ट छवियों का पता लगाने में गलत दिशा में देखो। एपीआई और अनुरोधों का उपयोग करके लोड (या अर्द्ध लोड) बिटमैप्स को प्रबंधित करना आसान होगा। आपके पास एक फ़ाइल (या यहां तक ​​कि एक डेटाबेस भी बेहतर) हो सकती है, जिसमें आपको डाउनलोड की गई छवियों के बारे में जानकारी होगी।

मुझे एकाधिक चेक दिखाई देते हैं, "छवि डाउनलोड की गई है?":

  • एपीआई आप को बताना चाहिए कि क्या आप चाहते हैं छवि का आकार की उम्मीद है डाउनलोड करने के लिए। लोड होने के बाद आपको आकार और तुलना करना होगा, वे
  • के बराबर हैं, आप यह पता लगा सकते हैं कि आपका अनुरोध किस त्रुटि कोड को समाप्त हो गया है। यदि यह सफलता कोड के साथ समाप्त हो गया है तो आप चिह्नित कर सकते हैं कि छवि

और प्रदर्शन के दौरान आप पता लगा सकते हैं कि कौन सी छवियां पूरी तरह से लोड की गई हैं।

0

आदर्श रूप से आपको एपीआई को प्रत्येक फ़ाइल के साथ एक चेकसम (उदा। एमडी 5) वापस करना चाहिए। इसके बाद आप डाउनलोड की गई फ़ाइल के लिए एंड्रॉइड में एक ही एल्गोरिदम का उपयोग करके चेकसम उत्पन्न कर सकते हैं और एपीआई से लौटाए गए एक के साथ इसकी तुलना कर सकते हैं। चेकसम उत्पन्न करने के तरीके के विवरण के लिए java.security.MessageDigest कक्षा में देखें।

संबंधित मुद्दे