2011-07-08 4 views
5

स्पलैश स्क्रीन शुरू होने पर मेरा ऐप मैं बस एक यूआरएल मार रहा हूं और एक एक्सएमएल फाइल वापस ले रहा हूं। उस एक्सएमएल फ़ाइल से मैं एक उपयोगकर्ता नाम, आईडी और एक छवि डाउनलोड करने के लिए एक यूआरएल जैसे डेटा को पार्स कर रहा हूं। उस यूआरएल से मैं एक छवि डाउनलोड करना चाहता हूं और मैं छवि को अपने ऐप में किसी विशेष नाम में स्टोर करना चाहता हूं। मैं एक ही छवि को दूसरी गतिविधि में पृष्ठभूमि के रूप में उपयोग करना चाहता हूं। मैं अपने ऐप में छवि को कैसे डाउनलोड और स्टोर कर सकता हूं। कच्चे फ़ोल्डर में या खींचने योग्य में, मेरे ऐप में इसे कहां रखा जा सकता है।एंड्रॉइड - एक छवि को डाउनलोड करने और रन टाइम पर इसका उपयोग कैसे करें?

नाम कैसे आ छवि विशेष गतिविधि में एक पृष्ठभूमि छवि के रूप में स्थापित किया जा सकता भंडारण से पहले, कृपया मुझे मित्र

उत्तर

4

यह एक यूआरएल से अपनी छवि को डाउनलोड करने के लिए कोड है मदद:

InputStream in = new URL(image_url).openConnection().getInputStream(); 
Bitmap bm = BitmapFactory.decodeStream(in); 

ध्यान दें कि यह (एक asynctask में की तरह) में अतुल्यकालिक किया जाना चाहिए

से आप उपयोग कर सिस्टम पर बिटमैप स्टोर कर सकते हैं:

File fullCacheDir = new File(Environment.getExternalStorageDirectory(),cacheDir); 
String fileLocalName = name+".JPEG"; 
File fileUri = new File(fullCacheDir, fileLocalName); 
FileOutputStream outStream = null; 
outStream = new FileOutputStream(fileUri); 
image.compress(Bitmap.CompressFormat.JPEG, 75, outStream); 
outStream.flush(); 

ध्यान दें कि यह आपकी छवि को स्टोर करने के तरीके पर एक उदाहरण है और अन्य तरीके भी हैं। आपको वैसे भी दस्तावेज देखना चाहिए।

+1

बस एक छोटी सी के लिए जहां

public static Drawable drawable = null; //get image from URL and store it in Drawable instance public void getImageFromURL(final String urlString) { Thread thread = new Thread() { @Override public void run() { //TODO : set imageView to a "pending" image InputStream is = null; try{ URLConnection urlConn = new URL(urlString).openConnection(); is= urlConn.getInputStream(); }catch(Exception ex){} drawable = Drawable.createFromStream(is, "src"); } }; thread.start(); } 

सेट पृष्ठभूमि छवि चाहते हैं। 'फ़ाइल' पर 'toString' को आमंत्रित करने की वास्तव में कोई ज़रूरत नहीं है। 'फाइल' क्लास में एक कन्स्ट्रक्टर है जो' फ़ाइल (फ़ाइल पैरेंट, स्ट्रिंग चाइल्ड) ' – Kaj

+0

धन्यवाद जैसा दिखता है, मैं –

1

यदि आप इसे अपने आवेदन के लिए चाहते हैं। बेहतर Drawable उदाहरण के रूप में सहेज छवि डाउनलोड करने और अपने आवेदन में इसका इस्तेमाल किसी भी दृश्य

void setImage(View myView){ 
    myView.setBackgroundDrawable(drawable); 
} 
+0

कोड अपडेट करने वाला हूं लेकिन आपको अभी भी इसे कहीं स्टोर करना होगा। आप एक आकर्षित करने के लिए कैसे स्टोर करते हैं – Sunny

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