Dit is misschien een beetje laat, maar ik hoop dat dit helpt voor iedereen die dit probleem krijgt (aangezien ik geen definitieve oplossing kan vinden).
Ik denk dat ik de reden voor deze oorzaak weet (althans voor mijn geval). Zoeken in de DDMS --> Verkenner , zou u zich realiseren dat de Databasemap (/data/data//databases/) bestaat niet, daarom kan de toepassing het databasebestand niet in die niet-bestaande map maken. Als u op de een of andere manier een databasemap kunt maken, kunt u dit probleem vermijden.
Omdat ik lui ben, heb ik de map /data/data//files/ gebruikt wanneer ik in de emulatormodus ben. U kunt de bestanden als volgt ophalen:
context.getFilesDir().getPath()
Dit werkte uitstekend voor mij in de Emulator.
Ik hoop dat dit iemand helpt.
Als je wat code wilt zien:
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:ik heb geprobeerd in te loggen op Facebook (mijn app heeft FB-integratie) in de map Emulator en /databases die daarna verscheen (en bleef bestaan). Ik weet niet zeker wat er is gebeurd, maar het is mogelijk om die map op de een of andere manier te maken. Iets voor een andere expert hier om licht op te werpen.