Въпросът ви не е толкова ясен, но ще се опитам да отговоря.
Най-вероятно вашата база данни:
- Все още не съществува и трябва да го създадете;
- Файлът ви с база данни е само за четене, трябва да го промените (този въпрос може да е свързан).
За #2, вместо да използвате SQLiteOpenHelper#getReadableDatabase()
, използвайте SQLiteOpenHelper#getWritableDatabase
Ако вашата база данни е на външно устройство за съхранение, трябва да проверите още няколко неща:
- Монтирано ли е външното хранилище в момента? Ако не, няма да имате достъп до db.
- Монтирано ли е само за четене? Ако е така, ще трябва да промените това.
- Проверихте ли пътя? Правилно ли е?
Проблемът може да е във всяка от тези теми.
За да проверите дали е монтиран като само за четене, опитайте следното:
/* 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
клас, моля, вижте документите.