Votre question n'est pas très claire, mais je vais essayer d'y répondre.
Très probablement, votre base de données :
- N'existe pas encore, et vous devez le créer ;
- Votre fichier de base de données est en lecture seule, vous devez le modifier (cette question peut être liée).
Pour #2, au lieu d'utiliser SQLiteOpenHelper#getReadableDatabase()
, utilisez SQLiteOpenHelper#getWritableDatabase
Si votre base de données se trouve sur une unité de stockage externe, vous avez quelques autres points à vérifier :
- Le stockage externe est-il actuellement installé ? Sinon, vous ne pouvez pas accéder à la base de données.
- Est-il monté en lecture seule ? Si c'est le cas, vous devrez changer cela.
- Avez-vous vérifié le chemin ? Est-ce correct ?
Le problème peut provenir de l'un de ces sujets.
Pour vérifier s'il est monté en lecture seule, essayez ce qui suit :
/* 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;
}
Tiré d'ici.
Pour plus d'informations sur l'Environment
classe, veuillez vous référer à la documentation.