2017-07-05 16 views
6

Używam biblioteki Persistence Room dla mojej aplikacji na Androida, ale po jej utworzeniu nie mogę znaleźć pliku .sql z tabelami na moim urządzeniu.Dlaczego podczas korzystania z pokoju Android nie utworzono pliku bazy danych?

Kiedy tworzę bazę danych przez SQLiteOpenHelper, widzę wszystkie moje tabele w folderze dane na urządzeniu, ale kiedy tworzę bazę danych przez Pokój, nie ma nigdzie pliku.

Gdzie mogę zobaczyć zawartość wszystkich moich stołów?

Tworzenie kodu do bazy danych:

@Provides 
@Singleton 
PokuponDataBase providePokuponDataBase() { 
    return Room.inMemoryDatabaseBuilder(SuperDealApp.getInstance().getApplicationContext(), PokuponDataBase.class, "PokuponRoomDatabase").build(); 
} 
+0

Wypróbuj 'getDatabasePath()' jako [sugerowane tutaj] (https://stackoverflow.com/questions/44263891/how-to-use-room-persistence-library- with-pop-populated-database#comment75538553_44263891). – Sufian

Odpowiedz

3

znalazłem przyczynę znikają mojej bazy danych. To dlatego, że stworzyłem go niepoprawnie. Używam Room.InMemoryDatabaseBuilder() zamiast prostego Room.databaseBuilder() i po każdym ponownym załadowaniu aplikacji moja db została odtworzona, a także w bazie danych Memoriał nie tworzy żadnych plików.

+2

Umieszczenie kodu w pytaniu mogło zaoszczędzić czas;) – Sufian

+0

@WorieN pls, zaakceptuj własną odpowiedź jako "odpowiedź" –

Powiązane problemy