To może być trochę za późno, ale mam nadzieję, że pomoże to każdemu, kto ma ten problem (ponieważ nie mogę znaleźć ostatecznego rozwiązania).
Chyba znam przyczynę tej przyczyny (przynajmniej w moim przypadku). Przeglądanie DDMS --> Eksploratora plików , zdasz sobie sprawę, że Folder bazy danych (/data/data//databases/) nie istnieje, dlatego aplikacja nie może utworzyć pliku bazy danych w tym nieistniejącym folderze. Jeśli możesz w jakiś sposób utworzyć folder baz danych, możesz uniknąć tego problemu.
Ponieważ jestem leniwy, właśnie użyłem /data/data//files/ folderu kiedy jestem w trybie emulatora. Możesz pobrać pliki w następujący sposób:
context.getFilesDir().getPath()
To działało dla mnie pięknie w emulatorze.
Mam nadzieję, że to komuś pomoże.
Jeśli chcesz zobaczyć kod:
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);
}
EDYCJA:Próbowałem zalogować się do Facebooka (moja aplikacja ma integrację z FB) w folderze Emulator i /databases pojawił się po tym (i utrzymywał się). Nie jestem pewien, co się stało, ale jakoś można utworzyć ten folder. Coś, co mógłby rzucić inny ekspert w okolicy.