दिलचस्प पोस्ट
पोस्ट पैरामीटर हमेशा रिक्त है फोन समारोह से एक jquery AJAX कॉलबैक के लिए प्रतीक्षा करें विशेष वर्णों को प्रतिस्थापित करने के लिए कैसे वे PHP पर आधारित हैं? एईएस इंटरऑपरेबिलिटी नेट एंड आईफ़ोन के बीच? मैं विंडो में एक चर में एक कमांड के परिणाम कैसे प्राप्त करूं? Angular2 परिवर्तन का पता लगाने: ngOnChanges नेस्टेड ऑब्जेक्ट के लिए फायरिंग नहीं ग्लोबल जावास्क्रिप्ट व्हेरिएबल स्कोप: यह काम क्यों नहीं करता है? कैसे "मार" पृष्ठभूमि कार्यकर्ता पूरी तरह से? Google+ दीवार में पोस्ट कैसे करें मैं MySQL में एकाधिक स्तंभों के लिए अद्वितीय बाधा कैसे निर्दिष्ट करूं? मैं किसी विशेष स्ट्रिंग में एक विशेषता के साथ कैसे मेल कर सकता हूँ? ग्रैडल बिल्डस्क्रिप्ट निर्भरताएं विंडोज संस्करण में नेट का पता लगाएं "N" दिनों के बाद फायरबसे डेटा को कैसे हटाएं? VB.NET में बहुभाषी स्ट्रिंग

एसडी कार्ड पर लिखने की अनुमति

मैं अपने एप को एप्लिकेशन डीबी को एसडी कार्ड में संग्रहित करना चाहता हूं। मेरे कोड में मैं canWrite() हूं कि क्या निर्देशिका canWrite() मौजूद है, और यदि नहीं, तो IOException फेंक इस विशेष उदाहरण में, मैं डीबी फाइल को एसडी कार्ड पर मूल निर्देशिका में कॉपी करने की कोशिश कर रहा हूं, लेकिन यह एक IOException फेंक IOException । मैं इसे लिखने के लिए एक फ़ोल्डर / फाइल पर अनुमति कैसे बदल सकता हूँ?

वेब के समाधान से एकत्रित समाधान "एसडी कार्ड पर लिखने की अनुमति"

आप सही हैं कि एसडी कार्ड निर्देशिका /sdcard एसडी कार्ड है लेकिन आपको इसे कड़ी मेहनत नहीं करना चाहिए। इसके बजाय, डायरेक्टरी प्राप्त करने के लिए Environment.getExternalStorageDirectory() डायरेक्टरी Environment.getExternalStorageDirectory() को कॉल करें:

 File sdDir = Environment.getExternalStorageDirectory(); 

यदि आपने पहले से ऐसा नहीं किया है, तो आपको अपने ऐप को अपने मैनिफेस्ट से नीचे की रेखा जोड़कर एसडी कार्ड पर लिखने की सही अनुमति देना होगा:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

डेव के उत्तर में उपर्युक्त तकनीक निश्चित रूप से एक अच्छा डिज़ाइन अभ्यास है, और हां, अंततः बाहरी मेमोरी तक पहुंचने के लिए एंड्रॉइड मैनिफ़ेस्ट.एक्सएमएल फ़ाइल में आवश्यक अनुमति निर्धारित की जानी चाहिए।

हालांकि, मोनो-एस्क तरीका सबसे अधिक जोड़ने (यदि सभी नहीं, सुनिश्चित नहीं हैं) "मैनिफ़ेस्ट ऑप्शंस" गतिविधि (या सेवा) को लागू करने वाले क्लास के गुणों के माध्यम से है।

विजुअल स्टूडियो मोनो प्लगइन स्वतः मैनिफेस्ट उत्पन्न करता है, इसलिए मैन्युअल रूप से मैन्युअल रूप से छेड़छाड़ करने के लिए सर्वश्रेष्ठ नहीं है (मुझे यकीन है कि ऐसे मामलों हैं जहां कोई अन्य विकल्प नहीं है)।

उदाहरण के लिए:

 [Activity(Label="MonoDroid App", MainLauncher=true, Permission="android.permission.WRITE_EXTERNAL_STORAGE")] public class MonoActivity : Activity { protected override void OnCreate(Bundle bindle) { base.OnCreate(bindle); } }