मैं एसडी कार्ड से संग्रहीत छवि को पढ़ने के लिए Environment.getExternalStorageDirectory()
का उपयोग कैसे कर सकता हूं या ऐसा करने का एक बेहतर तरीका है?एंड्रॉइड पर्यावरण का उपयोग कैसे करें .getExternalStorageDirectory()
उत्तर
Environment.getExternalStorageDirectory().getAbsolutePath()
आपको एसडीकार्ड का पूरा मार्ग देता है। फिर आप मानक जावा का उपयोग कर सामान्य फ़ाइल I/O संचालन कर सकते हैं।
String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String fileName = "myFile.txt";
// Not sure if the/is on the path or not
File f = new File(baseDir + File.separator + fileName);
f.write(...);
f.flush();
f.close();
संपादित करें::
यहाँ एक फ़ाइल लिखने के लिए एक सरल उदाहरण है
उफ़ - आप को पढ़ने के लिए एक उदाहरण चाहता था ...
String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String fileName = "myFile.txt";
// Not sure if the/is on the path or not
File f = new File(baseDir + File.Separator + fileName);
FileInputStream fiStream = new FileInputStream(f);
byte[] bytes;
// You might not get the whole file, lookup File I/O examples for Java
fiStream.read(bytes);
fiStream.close();
फिर भी ध्यान है, कि getExternalStorageDirectory() कुछ फोनों पर ठीक से काम नहीं करेगा मेरे मोटोरोला रेजर मैक्सएक्स, क्योंकि इसमें 2 कार्ड्स/एमएनटी/एसडीकार्ड और/एमएनटी/एसडीकार्ड-एक्सटी हैं - आंतरिक और बाहरी एसडी कार्ड सम्मान के लिए। आपको/mnt/sdcard केवल हर बार जवाब मिल जाएगा। Google को ऐसी स्थिति से निपटने का एक तरीका प्रदान करना होगा। चूंकि यह कई एसडी कार्ड जागरूक ऐप्स (यानी कार्ड बैकअप) प्रस्तुत करता है जो इन फोनों पर बुरी तरह विफल रहता है।
गैलेक्सी टैब 2 जीटी-पी 3110 के साथ यहां ... मैं सोच रहा था कि मेरा डेटाबेस एसडी कार्ड में क्यों कॉपी नहीं किया गया था और मुझे अभी एहसास हुआ कि आपके जैसे 2 कार्ड हैं ... कुछ भी नहीं के लिए डिबगिंग के घंटों को बर्बाद कैसे करें! – Mirko
यह संभव है कि बाह्य भंडारण के लिए आंतरिक भंडारण के विभाजन का उपयोग करने वाला डिवाइस एक एसडी कार्ड स्लॉट भी प्रदान कर सकता है। इस मामले में, एसडी कार्ड बाहरी भंडारण का हिस्सा नहीं है और आपका ऐप इसे एक्सेस नहीं कर सकता है (अतिरिक्त संग्रहण केवल उपयोगकर्ता द्वारा प्रदत्त मीडिया के लिए है जो सिस्टम स्कैन करता है)। –
@ टिम यहाँ मुझे इस तरह की समस्या का सामना करना पड़ रहा है। नेक्सस 5 में केवल अंतर्निहित स्टोरेज है और माइक्रोमैक्स ए114 कैनवास 2.2 में विस्तारणीय स्टोरेज है। मेरी समस्या यह है कि जब मेरे ऐप से कुछ फाइलें डाउनलोड नहीं हो पाती हैं। और पर्यावरण। MEDIA_MOUNTED इसका क्या अर्थ है? –
प्रलेखन Environment.getExternalStorageDirectory() में वर्णित है:
Environment.getExternalStorageDirectory() वापसी प्राथमिक /बाह्य भंडारण निर्देशिका साझा की है।
यह है कि यह कैसे उपयोग करने के लिए एक छवि को पढ़ने का एक उदाहरण है:।
String fileName = "stored_image.jpg";
String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String pathDir = baseDir + "/Android/data/com.mypackage.myapplication/";
File f = new File(pathDir + File.separator + fileName);
if(f.exists()){
Log.d("Application", "The file " + file.getName() + " exists!";
}else{
Log.d("Application", "The file no longer exists!";
}
जैसा कि आपने उल्लेख किया है, 'getExternalStorageDirectory()' के साथ हम उपयोगकर्ता पसंदीदा स्टोरेज (जो आम तौर पर आंतरिक मेमोरी है) में नई निर्देशिका बना सकते हैं। तो, क्या होता है यदि डिफ़ॉल्ट संग्रहण 'बाहरी स्मृति' पर सेट किया गया है और यह ** पठनीय/लिखने योग्य ** नहीं है? क्या यह अपवाद फेंकता है? या यह स्वचालित रूप से 'आंतरिक भंडारण' में बना देगा? –
- 1. पर्यावरण के साथ एंड्रॉइड डिवाइस .getExternalStorageDirectory()! =/Mnt/sdcard /?
- 2. एंड्रॉइड: "उपयोग-पुस्तकालय" का उपयोग कैसे करें?
- 3. मैवेन पोम से लिनक्स पर्यावरण चर का उपयोग कैसे करें?
- 4. एक अपेक्षित स्क्रिप्ट में पर्यावरण चर का उपयोग कैसे करें?
- 5. एएसपी.NET पर्यावरण में कंसोल आउटपुट का उपयोग कैसे करें?
- 6. एंड्रॉइड में Zxing का उपयोग कैसे करें
- 7. एंड्रॉइड पर ओपनसीएल का उपयोग कैसे करें?
- 8. एंड्रॉइड में TabHost.OnTabChangeListener का उपयोग कैसे करें?
- 9. एंड्रॉइड में DefaultHttpClient का उपयोग कैसे करें?
- 10. एंड्रॉइड कॉल सूची का उपयोग कैसे करें?
- 11. एंड्रॉइड डाउनलोड मैनेजर का उपयोग कैसे करें?
- 12. एंड्रॉइड: कस्टम रंगों का उपयोग कैसे करें?
- 13. getExternalFilesDir के बीच डिफ और getExternalStorageDirectory()
- 14. वीआईएम में एंड्रॉइड डेवलपमेंट पर्यावरण को कैसे स्थापित करें?
- 15. django social-auth का उपयोग कर विकास पर्यावरण में फेसबुक का उपयोग करके लॉगिन कैसे करें?
- 16. एंड्रॉइड पर्यावरण में डेटा उपयोग का पता लगाने के बारे में कैसे जाएं
- 17. विंडोज सेवाओं से पर्यावरण चर का उपयोग
- 18. पर्यावरण का उपयोग करना। एक्सिटकोड बनाम मुख्य
- 19. मैं JAVA_OPTS पर्यावरण चर का उपयोग कैसे करूं?
- 20. मैं वाला में पर्यावरण चर का उपयोग कैसे करूं?
- 21. स्पिनर का उपयोग कैसे करें
- 22. Netbeans में पर्यावरण परिवर्तनीय कैसे सेट करें?
- 23. विकास पर्यावरण सेटअप कैसे स्वचालित करें?
- 24. फोनगैप में एंड्रॉइड देशी कोड का उपयोग कैसे करें?
- 25. एंड्रॉइड में गूगल कैलेंडर एपीआई का उपयोग कैसे करें?
- 26. एंड्रॉइड में डब्लूएमएस और डब्ल्यूएफएस का उपयोग कैसे करें
- 27. एंड्रॉइड पर एसएमएस स्टोरेज का उपयोग कैसे करें?
- 28. एंड्रॉइड 2.2 में खंड का उपयोग कैसे करें?
- 29. एंड्रॉइड में डाइजेस्ट प्रमाणीकरण का उपयोग कैसे करें?
न अगर बाहरी मेमोरी माउंट है की जाँच करने के भूल जाते हैं: 'Environment.getExternalStorageState() बराबर (Environment.MEDIA_MOUNTED)' – Mannaz
अच्छी टिप्पणी, मन्नज! बीटीडब्ल्यू, इन कॉलों का उपयोग करने के लिए आपको किस लाइब्रेरी को शामिल करने की आवश्यकता है? क्या यह किसी भी मौके से एंड्रॉइड.ओएस पर्यावरण है? – gonzobrains
हां, आयात android.os.Environment; – debracey