आपका प्रश्न इतना स्पष्ट नहीं है, लेकिन मैं उत्तर देने का प्रयास करूँगा।
सबसे अधिक संभावना है, आपका डेटाबेस या तो:
- अभी तक मौजूद नहीं है, और आपको इसे बनाना होगा;
- आपकी डेटाबेस फ़ाइल केवल पढ़ने के लिए है, आपको इसे बदलना होगा (यह प्रश्न संबंधित हो सकता है)।
#2 के लिए, SQLiteOpenHelper#getReadableDatabase()
का उपयोग करने के बजाय , उपयोग करें SQLiteOpenHelper#getWritableDatabase
यदि आपका डेटाबेस बाहरी संग्रहण इकाई पर है, तो आपके पास जांचने के लिए कुछ अन्य चीज़ें हैं:
- क्या वर्तमान में बाह्य संग्रहण माउंट किया गया है? यदि नहीं, तो आप डीबी तक नहीं पहुंच सकते।
- क्या इसे केवल पढ़ने के लिए माउंट किया गया है? अगर ऐसा है, तो आपको इसे बदलना होगा।
- क्या आपने पथ की जांच की है? क्या यह सही है?
समस्या इनमें से किसी भी विषय पर हो सकती है।
यह जाँचने के लिए कि क्या यह केवल-पढ़ने के लिए माउंट किया गया है, निम्न प्रयास करें:
/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}
/* Checks if external storage is available to at least read */
public boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
return true;
}
return false;
}
यहाँ से लिया गया।
Environment
के बारे में अधिक जानकारी के लिए कक्षा, कृपया डॉक्स देखें।