SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Czy naprawdę konieczne jest tworzenie tabel SQLite przy każdym uruchomieniu aplikacji?

Myślę, że nie rozumiesz tutaj. Po skonstruowaniu obiektu SQLiteOpenHelper sprawdzi, czy baza danych SQLite istnieje, a jeśli nie, wywoła jego onCreate() metoda (gdzie zwykle programiści implementują tworzenie bazy danych SQL)

Aktualizacja:
@Clay Shannon:Wyjaśnię mechanizm działania projektów Eclipse i Android. Załóżmy, że używasz Eclipse do programowania projektu na Androida. Nowy projekt utworzy folder projektu w obszarze roboczym (w twoim przypadku jest to C:\aXX3&Space\Android\workspace a folder projektu to OnDemandAndAutomatic_Project ). Ten folder będzie zawierał kilka podfolderów, takich jak:src, bin, asset, res,... Każdy folder ma swoją własną rolę i interesuje Cię folder asset, prawda? Folder Assets służy do przechowywania plików referencyjnych (których nie można lub nie chcesz umieszczać w folderze res), takich jak:plik html, plik dźwiękowy, plik graficzny, plik tekstowy... Gdy Eclipse buduje apk z projektu, te pliki są również zawarte w apk. Kiedy instalujesz apk na urządzeniu z Androidem, apk jest kopiowany do folderu systemowego Androida, a także tworzony jest folder zawierający dane aplikacji, jak wspomniał Dharmendra:/data/data/{packagename}/ (nazwa pakietu, taka jak com.google.app itp., a ta ścieżka dotyczy systemu operacyjnego Android na urządzeniu, a nie systemu Windows).

Twój przypadek jest taki, że chcesz użyć już istniejącej bazy danych, więc musisz zaimplementować funkcję, która sprawdzi, czy Twoja baza istnieje, czy nie, jeśli nie, skopiuj swoją bazę do ścieżki bazy danych /data/data/ {nazwapakietu}/bazy danych/ i wywołaj tę funkcję po uruchomieniu aplikacji. A jak to zrobić, jest już tutaj odpowiedzią Jak skopiować istniejącą bazę danych z jednej aplikacji do drugiej. Tutaj jest również odniesienie do dostępu do plików zasobów, jeśli nie wiesz http://www.wiseandroid.com/post/2010/06/14/Android-Beginners-Intro-to-Resources-and-Assets.aspx

Mam nadzieję, że teraz możesz rozwiązać swój problem. Uwaga :Twoja już istniejąca baza danych musi być bazą danych SQLite, w przeciwnym razie aplikacja nie rozpozna jej, nawet jeśli skopiujesz ją na właściwą ścieżkę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak Group_Concat() działa w SQLite

  2. TABELA UPUSZCZANIA SQLite

  3. PowerManager.PARTIAL_WAKE_LOCK android

  4. zwrócono sqlite:kod błędu =1, msg =brak takiej kolumny:kuchnia1

  5. Jak stworzyć natywną aplikację na Androida działającą w trybie offline?