Това може да е малко късно, но се надявам това да помогне на всеки, който получи този проблем (тъй като не мога да намеря окончателно решение наоколо).
Мисля, че знам причината за тази причина (поне за моя случай). Търсене в DDMS --> File Explorer , ще разберете, че Папката на базата данни (/data/data//databases/) не съществува, поради което приложението не може да създаде файла на базата данни в тази несъществуваща папка. Ако можете да създадете папка с бази данни по някакъв начин, можете да избегнете този проблем.
Тъй като съм мързелив, просто използвах папката /data/data//files/ когато съм в режим на емулатор. Можете да получите директорията на файловете, като използвате това:
context.getFilesDir().getPath()
Това работи прекрасно за мен в емулатора.
Надявам се това да помогне на някого.
В случай, че искате да видите някакъв код:
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);
}
РЕДАКТИРАНЕ:Опитах да вляза във Facebook (моето приложение има FB интеграция) в емулатора и папката /databases се появи след това (и продължи). Не съм сигурен какво се е случило, но е възможно да създадете тази папка по някакъв начин. Нещо за друг експерт тук, за да хвърли светлина върху него.