2012-01-18 17 views
5

Znalazłem na tej stronie wiele pytań z pytaniem, jak otworzyć plik bazy danych znajdujący się w folderze zasobów. Zawsze główny punkt odpowiedzi - poprawna - jest taki sam: nie można otworzyć baz danych znajdujących się w zasobach, ponieważ taki folder (jako cała zawartość pakietu APK) jest tylko do odczytu. Dlatego plik bazy danych musi zostać skopiowany gdzie indziej, zanim będzie można go użyć (Ship an application with a database).Otwieranie bazy danych tylko do odczytu bezpośrednio w folderze zasobów

Co jednak, jeśli plik bazy danych w rzeczywistości nie musi być modyfikowany? W takim przypadku nie ma znaczenia ograniczenie, że folder zasobów jest tylko do odczytu.

Wtedy moje pytania to:

Czy istnieje sposób, aby otworzyć tylko do odczytu bazę danych w folderze aktywów bez kopiowania go najpierw do innej lokalizacji?

+0

Masz jakieś rozwiązania? –

Odpowiedz

0

Użyj flagi OPEN_READONLY, np.

SQLiteDatabase.openDatabase(myPath,null,OPEN_READONLY); 

Można znaleźć więcej flagi here

I myślę trzeba skopiować bazę danych do innego pierwszy, aby móc go otworzyć.

0

Musisz skopiować go do folderu danych, a następnie odczytać stamtąd.

+1

, więc nie ma ŻADNEGO sposobu na odczytanie bazy danych z folderu z zasobami, nawet jeśli nie dotyczy mnie ograniczenie, że ten folder jest tylko do odczytu (biorąc pod uwagę, że DB nie musi być modyfikowany)? – Sergio

Powiązane problemy