dziesiętny do binarnego kodu Pythona
Wprowadzenie do bazy danych Android SQLite
Baza danych Android SQLite wymaga bardzo małej ilości pamięci (około 250kb), która jest dostępna na wszystkich urządzeniach z Androidem. Każde urządzenie ma wbudowaną obsługę bazy danych SQLite, która jest automatycznie zarządzana na Androidzie od momentu jej utworzenia, wykonania, aż po proces odpytywania.
SQLite to baza danych typu open source, dostępna w każdej bazie danych systemu Android. Obsługuje standardowe funkcje baz danych relacji, takie jak składnia SQL, transakcje i instrukcje SQL. SQLite jest znacznie lżejszą wersją bazy danych SQL, w której większość poleceń SQL nie działa w bazie danych SQLite. Po zainstalowaniu oprogramowania SQLite ważne jest, aby upewnić się, że funkcja lub polecenie jest dostępne w SQLite tylko wtedy, gdy można je wykonać.
Podstawowe zalety SQLite:
- To niewielka baza danych
- Wymaga bardzo mało pamięci
- Baza danych zarządzana automatycznie
SQLite obsługuje tylko 3 typy danych:
- Tekst (jak string) - do przechowywania danych typu store
- Integer (jak int) - do przechowywania klucza podstawowego w postaci całkowitej
- Real (jak double) - do przechowywania długich wartości
Zasadniczo SQLite sam nie sprawdza poprawności typów danych. Innymi słowy, niezależnie od używanych typów danych, określa się je jako ważne.
Na przykład w tym przypadku omówiono bazę danych operatora kablowego. Tutaj dodawana jest nowa tabela z „tekstem” w polu nazwy i polem zawierającym „pole tekstowe”. Utworzono typ danych o wartości losowej. Końcowym wynikiem jest tabela testowa z nieprawidłowym typem danych, co pokazuje, że SQLite nie sprawdza poprawności typu danych.
* Bazę danych można znaleźć, klikając pakiet i uzyskując dostęp do folderu danych do folderu bazy danych, w którym znajduje się plik.
Uwaga: Klasa SQLiteOpen Helper służy do zarządzania tworzeniem bazy danych i zarządzaniem wersjami.
Pytania użytkowników:
Czy zmiana w wersji db jest skutkiem zmiany wersji SQLite obiektu?
Nie ma zmian w wersji SQLite obiektu, ponieważ jeden obsługuje tworzenie / aktualizację bazy danych, a drugi gra na danych przechowywanych w tabelach bazy danych. Tym samym nie ma żadnej zależności
Wracając, kiedy rozszerzamy klasę SQLiteopenHelper, nadpisujemy metody Oncreate i OnUpgrade w tej klasie. Kiedy uzyskiwany jest dostęp do bazy danych SQLite, może czasami działać wolno, w zależności od złożoności zapytania. Zawsze preferowane jest upewnienie się, że podczas wykonywania zapytania SQL unika się najmniejszego wpływu lub zapytań działających w trybie rekurencyjnym. To też jestzaleca się synchroniczne wykonywanie bazy danych.Te metody są automatycznie obsługiwane lub wywoływane przez framework. Należy również zauważyć, że za każdym razem, gdy zwiększa się wersję bazy danych, automatycznie wywołuje do niej onUpgrade.
Ilekroć mówi się o otwartej klasie pomocniczej SQLite, nazwa i wersja jej bazy danych są przekazywane w konstruktorze klasy rozszerzonej.
W tym miejscu należy wziąć pod uwagę dwie rzeczy:
- Jeśli baza danych nie istnieje, wywoływana jest metoda OnCreate ().
- Metoda OnUpgrade () jest wywoływana, jeśli wersja bazy danych jest aktualizowana.
Otwarta klasa pomocnicza SQLite podaje nazwę i wersję w konstruktorze. Wywoływana jest metoda getwriteabledatabase (), a jeśli baza danych nie istnieje, to OnCreate. W przypadku, gdy baza danych istnieje, a wersja jest zaktualizowana, wywoła OnUpgrade ().
Czy te metody są przy pierwszym wywołaniu db?
Weźmy przykład. Po zainstalowaniu aplikacji utworzy ona OnCreate, a apk metody zostanie przesłany do sklepu Google Play. Po pobraniu najnowszej wersji apk sprawdzi już zainstalowaną bazę danych. Jeśli ma wyższą wersję, wywoła upgrade, jeśli nie, to nic nie da.
Pytanie użytkownika
Czy wymagane jest posiadanie uprawnień użytkownika do aktualizacji wersji bazy danych?
Nie, pozwolenie nie jest wymagane, ponieważ pracujemy nad zasobami aplikacji, których nie musimy szukać.
Pytanie użytkownika
Jeśli użytkownik1 zainstalował moją aplikację i jest to uaktualniona wersja dla DB, a następnie użytkownik2 instaluje nową aplikację, a użytkownik1 aktualizuje aplikację. W takim scenariuszu, jeśli wywoływana jest funkcja user1 on version upgrade, a dla user2 metoda create, to czy wszystkie metody pochodzą z Androida?
Tak, ponieważ nie mamy już zainstalowanej żadnej wersji na urządzeniu. Nie ma to znaczenia, o ile na urządzeniu nie ma zainstalowanej wcześniejszej wersji. To bardzo przypomina obsługę frameworka.
Pytanie użytkownika
Czy możemy mieć obiekt bazy danych SQLite? Co jeśli moja nazwa bazy danych makonfliktz innym obiektem nazwy bazy danych?
Nie ma to znaczenia, ponieważ baza danych znajduje się w nazwie pakietu aplikacji, co nie powinno powodować konfliktów, nawet jeśli utworzono podfolder o tej samej nazwie. Ma to znaczenie tylko na poziomie głównym, a obsługa poziomu głównego odbywa się za pomocą nazwy pakietu. Należy zauważyć, że nie możemy mieć dwóch aplikacji o tej samej nazwie pakietu, ale możemy mieć 2 różne nazwy baz danych w różnych pakietach. Baza danych SQLite dba o aktualizację, usuwanie, wstawianie, odpytywanie oraz zamykanie i otwieranie operacji na bazie danych za pomocą obiektu.
Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy, a my skontaktujemy się z Tobą.
Powiązane posty: