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

SQLiteOpenHelper:metoda onCreate() nie jest wywoływana na urządzeniu fizycznym

Pozwól, że spróbuję Ci wyjaśnić kilka rzeczy.

W aplikacji łączącej się z bazą danych podajemy nazwę i wersję bazy danych. W takiej sytuacji mogą wystąpić następujące zdarzenia:

1) Brak bazy danych . Może to mieć miejsce na przykład w przypadku programu ustawień początkowych. W takim przypadku sama aplikacja musi utworzyć bazę danych i wszystkie znajdujące się w niej tabele. Co więcej, już pracuje z nowo utworzoną bazą danych.

2) Baza danych istnieje , ale jego wersja jest nieaktualna. Może to być aktualizacja sprawy. Np. nowa wersja programu wymaga dodatkowych pól w starych lub nowych tabelach. W takim przypadku aplikacja musi zaktualizować istniejące tabele i w razie potrzeby utworzyć nowe.

3) Istnieje baza danych i jej aktualna wersja . W takim przypadku aplikacja pomyślnie łączy się z bazą danych i działa.

Jak wiecie fraza „aplikacja musi” jest równoznaczna z frazą „programista musi”, czyli to jest nasze zadanie. Aby poradzić sobie z sytuacjami opisanymi powyżej, musimy stworzyć klasę, która dziedziczy po SQLiteOpenHelper. Nazwij to DBHelper. Ta klasa zapewni nam metody tworzenia lub aktualizacji bazy danych w przypadku ich braku lub przestarzałości.

onCreate - metoda, która zostanie wywołana, jeśli baza danych, z którą chcemy się połączyć - nie istnieje (to Twój przypadek)



  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 używać _COUNT w BaseColumns?

  2. Zarządzanie danymi za pomocą Python, SQLite i SQLAlchemy

  3. SQLite JSON_ARRAY_LENGTH()

  4. Eksportuj całą bazę danych SQLite do pliku SQL

  5. Nie można otworzyć bazy danych SQLite z programu SQLIte Helper Oncreate, gdy OnCreate jest wyzwalany przez otwarcie bazy danych po raz pierwszy