Dette kan være lidt sent, men håber dette hjælper for dem, der får dette problem (da jeg ikke kan finde en endelig løsning).
Jeg tror, jeg kender årsagen til denne årsag (i hvert fald for mit tilfælde). Søger i DDMS --> File Explorer , ville du indse, at Databasemappen (/data/data//databases/) eksisterer ikke, hvorfor applikationen ikke kan oprette databasefilen i den ikke-eksisterende mappe. Hvis du kan oprette en databasemappe på en eller anden måde, kan du undgå dette problem.
Fordi jeg er doven, brugte jeg lige mappen /data/data//files/ når jeg er i emulatortilstand. Du kan hente filerne dir ved at bruge denne:
context.getFilesDir().getPath()
Dette fungerede smukt for mig i emulatoren.
Håber dette hjælper nogen.
Hvis du vil se noget kode:
String dbFilename = "example.db";
try
{
File databaseFile = getDatabasePath(dbFilename);
SQLiteDatabase _db = SQLiteDatabase.openOrCreateDatabase(databaseFile);
} catch (Exception e)
{
String databasePath = getFilesDir().getPath() + "/" + dbFilename;
File databaseFile = new File(databasePath);
_db = SQLiteDatabase.openOrCreateDatabase(databaseFile);
}
EDIT:Jeg prøvede at logge ind på Facebook (min app har FB-integration) på emulatoren og /databases-mappen dukkede op efter det (og fortsatte). Ikke sikker på, hvad der skete, men det er muligt at oprette den mappe på en eller anden måde. Noget for en anden ekspert her omkring at kaste lys over.