Pertanyaan Anda tidak begitu jelas, tetapi saya akan mencoba menjawabnya.
Kemungkinan besar, database Anda:
- Belum ada, dan Anda harus membuatnya;
- File database Anda hanya dapat dibaca, Anda harus mengubahnya (Pertanyaan ini mungkin terkait).
Untuk #2, daripada menggunakan SQLiteOpenHelper#getReadableDatabase()
, gunakan SQLiteOpenHelper#getWritableDatabase
Jika database Anda berada di unit penyimpanan eksternal, Anda memiliki beberapa hal lain untuk diperiksa:
- Apakah penyimpanan eksternal saat ini terpasang? Jika tidak, Anda tidak dapat mengakses db.
- Apakah dipasang sebagai hanya baca? Jika demikian, Anda harus mengubahnya.
- Sudahkah Anda memeriksa jalurnya? Apakah itu benar?
Masalahnya mungkin pada salah satu topik tersebut.
Untuk memeriksa apakah itu dipasang sebagai hanya-baca, coba yang berikut ini:
/* 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;
}
Diambil dari sini.
Untuk info lebih lanjut tentang Environment
kelas, silakan merujuk ke dokumen.