2011-12-13 11 views
22

मुझे संपत्तियों में फ़ोल्डर के लिए पूर्ण पथ प्राप्त करने की आवश्यकता है। एसडी कार्ड के लिए इस तरह से कुछ:एंड्रॉइड परिसंपत्ति प्रबंधक

final String sdDir = Environment.getExternalStorageDirectory() + "Files"; 

क्या मैं गलत है?

enter image description here

सबसे पहले मैं पथ इस तरह से प्राप्त करने के लिए (हरा ractangle में) की कोशिश, लेकिन मैं "गलत" मिल alwase। फिर मैं इस ब्लॉक पर टिप्पणी करता हूं और getAssets() से पथ प्राप्त करने का प्रयास करता हूं। सूची(); लेकिन मुझे पहली बार 3 फ़ोल्डर्स चुड़ैल मिलते हैं।

मैं इस "हरी" की तरह बड़े पैमाने पर बनाने के लिए चाहते हैं, लेकिन मैं परिसंपत्तियों से फ़ाइलों का उपयोग करने की आवश्यकता है:

Look the image

मेरी फ़ाइलें फ़ोल्डर का निरपेक्ष पथ प्राप्त करने के लिए मेरी मदद करो।

+0

[स्क्रीन देखो] (http://my.jetscreenshot.com/10682/20111213-pxu2-587kb.jpg) ही बड़े पैमाने पर बनाने के लिए कैसे "हरा" की तरह, लेकिन संपत्तियों से फ़ाइलों का उपयोग एसडी कार्ड नहीं है? – Val

उत्तर

15

मुझे बिल्कुल यकीन नहीं है कि आप क्या करने की कोशिश कर रहे हैं, इसलिए मैं आधारों को कवर करने का प्रयास करूंगा, और शायद इससे मदद मिलेगी।

  • तुम सिर्फ, उपयोग getAssets().list("Files") अपनी संपत्ति में क्या है तो की एक सूची प्राप्त करने की कोशिश कर रहे हैं। (आपको this की वजह से उपनिर्देशिका, का उपयोग करना होगा)।

  • आप एक पूर्ण अपनी संपत्ति निर्देशिका (या किसी भी उपनिर्देशिका) के लिए पथ प्राप्त करने के लिए कोशिश कर रहे हैं, तो आप नहीं कर सकते। संपत्ति निर्देशिका में जो कुछ भी है एपीके में है। यह एक एसडी कार्ड की तरह बाहरी भंडारण में नहीं है।

  • यदि आप संपत्ति निर्देशिका में फ़ाइलों को खोलने का प्रयास कर रहे हैं, तो InputStream प्राप्त करने के लिए AssetManager.open(filename) का उपयोग करें। यहां, फ़ाइल नाम संपत्ति निर्देशिका से सापेक्ष पथ होना चाहिए।


संपादित

मुझे यकीन है कि आप "बड़े पैमाने पर" द्वारा क्या मतलब है नहीं कर रहा हूँ, लेकिन अगर आप एसडी कार्ड के बजाय संपत्ति से फ़ाइल black.png लोड करना चाहते हैं, तो इस बारे में :

// must be called from Activity method, such as onCreate() 
AssetManager assetMgr = this.getAssets(); 
mColors = new Bitmap[] { 
    BitmapFactory.decodeStream(assetMgr.open("black.png")); 
    // and the rest 
}; 
+0

[स्क्रीन देखें] (http://my.jetscreenshot.com/10682/20111213-pxu2-587kb.jpg) "हरे" जैसे बड़े पैमाने पर कैसे बनाया जाए, लेकिन संपत्तियों से फ़ाइलों का उपयोग एसडी कार्ड नहीं है? – Val

1

एपीके फ़ाइल में संपत्तियां संग्रहीत की जाती हैं, इसलिए आपके एप्लिकेशन का उपयोग करने से कोई पूर्ण पथ नहीं है। लेकिन, मैं फ़ाइल पर एक नज़र डालने का सुझाव दूंगा: /// android_asset। यह आपकी जरूरतों को फिट कर सकता है। WebView में एक संपत्ति को प्रदर्शित करने के तरीके पर Here is a good example

+0

मुझे इस फ़ोल्डर से छवियों और ध्वनियों का उपयोग करने के लिए मेरे फाइल फ़ोल्डर में इस पथ की आवश्यकता है। मैं इस उदाहरण का उपयोग करके यह कैसे कर सकता हूं? इसमें वेबव्यू और यूआरएल का इस्तेमाल किया गया, न कि पूर्ण पथ। – Val

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