2013-02-10 13 views
5

मैं एक नया एंड्रॉइड ऐप कर रहा हूं। मैं "एंड्रॉइड" फ़ोल्डर में एक फ़ोल्डर बनाना चाहता हूं जो एसडीकार्ड में उपलब्ध है। इससे पहले मैं यह जांचना चाहता हूं कि फ़ोल्डर ने पढ़ने/लिखने की अनुमति है या नहीं। मैं इसे कैसे प्राप्त कर सकता हूं? क्या कोई मुझे ऐसा करने में मदद कर सकता है।एंड्रॉइड पढ़ने/लिखने की अनुमति

+0

एक फ़ोल्डर/लिखने की अनुमति पढ़ा है नहीं कर सकते हैं इस का उपयोग करने के लिए इस कोड की जाँच करें। यह एक फ़ोल्डर है। उपयोगकर्ता फ़ोल्डरों को पढ़ने/लिखने की अनुमति वाले हैं। क्या आप यही खोज रहे हैं? –

उत्तर

15

आप इसे पुराने स्कूल जावा तरीका करते हैं। फ़ाइल ऑब्जेक्ट बनाएं और canWrite() और canRead() पर कॉल करें।

File f = new File("path/to/dir/or/file"); 
if(f.canWrite()) { 
    // hell yeah :) 
} 
6

एंड्रॉयड फ़ोल्डर में एक फ़ोल्डर बनाने के लिए सबसे अच्छा तरीका है:

File path = getExternalFilesDir(); 

यह अपनी खुद की निर्देशिका हो जाएगा, इसलिए यदि आप इस के लिए अनुमति है, आप अगर पढ़ने के लिए/इसे लिखने में सक्षम हो जाएगा बाहरी भंडारण उपलब्ध है।

boolean mExternalStorageAvailable = false; 
boolean mExternalStorageWriteable = false; 
String state = Environment.getExternalStorageState(); 

if (Environment.MEDIA_MOUNTED.equals(state)) { 
    // We can read and write the media 
    mExternalStorageAvailable = mExternalStorageWriteable = true; 
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { 
    // We can only read the media 
    mExternalStorageAvailable = true; 
    mExternalStorageWriteable = false; 
} else { 
    // Something else is wrong. It may be one of many other states, but all we need 
    // to know is we can neither read nor write 
    mExternalStorageAvailable = mExternalStorageWriteable = false; 
} 

अनुमतियां लिखने के लिए आवश्यक:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
संबंधित मुद्दे