Sua pergunta não é tão clara, mas vou tentar responder.
Muito provavelmente, seu banco de dados:
- Ainda não existe e você precisa criá-lo;
- Seu arquivo de banco de dados é somente leitura, você precisa alterá-lo (esta pergunta pode estar relacionada).
Para #2, em vez de usar
SQLiteOpenHelper#getReadableDatabase()
, use SQLiteOpenHelper#getWritableDatabase
Se o seu banco de dados estiver em uma unidade de armazenamento externa, você tem algumas outras coisas para verificar:
- O armazenamento externo está montado no momento? Caso contrário, você não poderá acessar o banco de dados.
- Ele está montado como somente leitura? Nesse caso, você terá que alterar isso.
- Você verificou o caminho? Está correto?
O problema pode estar em qualquer um desses tópicos.
Para verificar se está montado como somente leitura, tente o seguinte:
/* 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;
}
Tirado daqui.
Para obter mais informações sobre o
Environment
classe, consulte os documentos.