Sqlite

Biblioteka androidx.sqlite zawiera abstrakcyjne interfejsy oraz podstawowe implementacje, których możesz używać do tworzenia własnych bibliotek uzyskujących dostęp do SQLite.

Rozważ użycie biblioteki Room, która udostępnia warstwę abstrakcyjną zamiast SQLite, aby zapewnić solidniejszy dostęp do baz danych i jednocześnie wykorzystać pełne możliwości SQLite.

Najnowsza aktualizacja Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
18 października 2023 r. 2.4.0 - - -

Deklarowanie zależności

Aby dodać zależność od SQLite, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Odlotowy

dependencies {
    def sqlite_version = "2.4.0"

    // Java language implementation
    implementation "androidx.sqlite:sqlite:$sqlite_version"

    // Kotlin
    implementation "androidx.sqlite:sqlite-ktx:$sqlite_version"

    // Implementation of the AndroidX SQLite interfaces via the Android framework APIs.
    implementation "androidx.sqlite:sqlite-framework:$sqlite_version"
}

Kotlin

dependencies {
    val sqlite_version = "2.4.0"

    // Java language implementation
    implementation("androidx.sqlite:sqlite:$sqlite_version")

    // Kotlin
    implementation("androidx.sqlite:sqlite-ktx:$sqlite_version")

    // Implementation of the AndroidX SQLite interfaces via the Android framework APIs.
    implementation("androidx.sqlite:sqlite-framework:$sqlite_version")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 2.4

Wersja 2.4.0

18 października 2023 r.

Opublikowano androidx.sqlite:sqlite:2.4.0, androidx.sqlite:sqlite-framework:2.4.0 i androidx.sqlite:sqlite-ktx:2.4.0. Wersja 2.4.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 2.3.0

  • Wprowadziliśmy różne poprawki błędów.

Wersja 2.4.0-rc01

20 września 2023 r.

Opublikowano androidx.sqlite:sqlite:2.4.0-rc01, androidx.sqlite:sqlite-framework:2.4.0-rc01 i androidx.sqlite:sqlite-ktx:2.4.0-rc01. Wersja 2.4.0-rc01 zawiera te zatwierdzenia.

Wersja 2.4.0-beta01

23 sierpnia 2023 r.

Opublikowano androidx.sqlite:sqlite:2.4.0-beta01, androidx.sqlite:sqlite-framework:2.4.0-beta01 i androidx.sqlite:sqlite-ktx:2.4.0-beta01. Wersja 2.4.0-beta01 zawiera te zatwierdzenia.

Wersja 2.4.0-alfa03

9 sierpnia 2023 r.

Opublikowano androidx.sqlite:sqlite:2.4.0-alpha03, androidx.sqlite:sqlite-framework:2.4.0-alpha03 i androidx.sqlite:sqlite-ktx:2.4.0-alpha03. Wersja 2.4.0-alpha03 zawiera te zatwierdzenia.

Wersja 2.4.0-alfa02

21 czerwca 2023 r.

androidx.sqlite:sqlite:2.4.0-alpha02, androidx.sqlite:sqlite-framework:2.4.0-alpha02 i androidx.sqlite:sqlite-ktx:2.4.0-alpha02 zostały wydane bez zmian. Wersja 2.4.0-alpha02 zawiera te zatwierdzenia.

Wersja 2.4.0-alfa01

22 marca 2023 r.

Opublikowano androidx.sqlite:sqlite:2.4.0-alpha01, androidx.sqlite:sqlite-framework:2.4.0-alpha01 i androidx.sqlite:sqlite-ktx:2.4.0-alpha01. Wersja 2.4.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd NullPointerException, który mógł występować w komponencie SupportSQLiteQueryBuilder. (5df8698)

Wersja 2.3.1

Wersja 2.3.1

22 marca 2023 r.

Opublikowano androidx.sqlite:sqlite:2.3.1, androidx.sqlite:sqlite-framework:2.3.1 i androidx.sqlite:sqlite-ktx:2.3.1. Wersja 2.3.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Unikaj problemu z platformą, w którym zapytania SQL nie zostały unieważnione po zmianie schematu podczas migracji. Aby uniknąć problemu, podczas migracji FrameworkSupportSQLiteOpenHelper ustawi teraz minimalną pamięć podręczną instrukcji SQL. (0ad2a8f)
  • Rozwiązaliśmy problem, który powodował, że katalog pamięci podręcznej mógł nie być dostępny dla funkcji SupportSQLiteLock, dlatego plik o wartości null musi być obsługiwany w prawidłowy sposób. (9d177dc)
  • Rozwiązaliśmy problem, który powodował, że usługa attachedDbs nie zwracała pełnej listy dołączonych baz danych. (5f008e1)

Wersja 2.3.0

Wersja 2.3.0

11 stycznia 2023 r.

Opublikowano androidx.sqlite:sqlite:2.3.0, androidx.sqlite:sqlite-framework:2.3.0 i androidx.sqlite:sqlite-ktx:2.3.0. Wersja 2.3.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 2.2.0

  • Źródła grupy bibliotek androidx.sqlite zostały przekonwertowane z języka Java na Kotlin. Pamiętaj, że jeśli w elemencie androidx.sqlite brakuje adnotacji z wartością null, możesz napotkać błędy niezgodności źródła, jeśli Twoje źródła znajdują się w kotlinie, a kod wywnioskował nieprawidłową wartość null. Ponadto niektóre metody getter zostały przekonwertowane na właściwości wymagające składni dostępu do właściwości w plikach Kotlin. Jeśli wystąpią poważne niezgodności, zgłoś błąd. (b/240707042)
  • Dodaj interfejs API do konfiguracji SupportSQLite's, aby umożliwić utratę danych podczas mechanizmu przywracania. (I1b830, b/215592732)
  • Dodano interfejs API do blokowania wielu procesów i używania na poziomie FrameworkSQLite*, aby chronić tworzenie i migracje baz danych w wielu procesach po raz pierwszy. (Ied267, b/193182592)

Wersja 2.3.0-rc01

7 grudnia 2022 r.

Opublikowano androidx.sqlite:sqlite:2.3.0-rc01, androidx.sqlite:sqlite-framework:2.3.0-rc01 i androidx.sqlite:sqlite-ktx:2.3.0-rc01. Wersja 2.3.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązanie problemu z NPE w kolumnach SupportSQLiteQueryBuilder z wartościami null. (Ica8f5)

Wersja 2.3.0-beta02

9 listopada 2022 r.

Opublikowano androidx.sqlite:sqlite:2.3.0-beta02, androidx.sqlite:sqlite-framework:2.3.0-beta02 i androidx.sqlite:sqlite-ktx:2.3.0-beta02. Wersja 2.3.0-beta02 zawiera te zatwierdzenia.

  • Poprawiono różne interfejsy API, które przyjmują argumenty zapytania z argumentu niezmiennego (Array<Any?>) do kontrawariancji (Array<out Any?>), aby dopasować działanie tablicy w Javie. (b/253531073)

Wersja 2.3.0-beta01

5 października 2022 r.

Opublikowano androidx.sqlite:sqlite:2.3.0-beta01, androidx.sqlite:sqlite-framework:2.3.0-beta01 i androidx.sqlite:sqlite-ktx:2.3.0-beta01. Wersja 2.3.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Wszystkie źródła android.sqlite zostały przekonwertowane z języka Java na Kotlin. b/240707042
  • Jedną z ważniejszych zmian w konwersji jest to, że następujące funkcje pobierające stały się właściwościami:
    • SupportSQLiteDatabase:
    • attachedDbs
    • isDatabaseIntegrityOk
    • isDbLockedByCurrentThread
    • isOpen
    • isReadOnly
    • isWriteAheadLoggingEnabled
    • maximumSize
    • pageSize
    • path
    • version
    • SupportSQLiteOpenHelper:
    • databaseName
    • readableDatabase
    • writableDatabase

Wersja 2.3.0-alfa05

24 sierpnia 2022 r.

Opublikowano androidx.sqlite:sqlite:2.3.0-alpha05, androidx.sqlite:sqlite-framework:2.3.0-alpha05 i androidx.sqlite:sqlite-ktx:2.3.0-alpha05. Wersja 2.3.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Źródła grup bibliotek androidx.sqlite zostały przekonwertowane z języka Java na Kotlin. Pamiętaj, że jeśli w komponencie androidx.sqlite brakuje adnotacji dotyczących wartości null, możesz napotkać błędy niezgodności źródła, jeśli źródła znajdują się w kotlin, a kod wywnioskował nieprawidłową wartość null. Jeśli wystąpią poważne niezgodności, zgłoś błąd. (b/240707042)

Wersja 2.3.0-alfa04

10 sierpnia 2022 r.

Opublikowano androidx.sqlite:sqlite:2.3.0-alpha04, androidx.sqlite:sqlite-framework:2.3.0-alpha04 i androidx.sqlite:sqlite-ktx:2.3.0-alpha04. Wersja 2.3.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zaktualizowana wartość null (I29fbd)

Wersja 2.3.0-alfa03

1 czerwca 2022 r.

Opublikowano androidx.sqlite:sqlite:2.3.0-alpha03, androidx.sqlite:sqlite-framework:2.3.0-alpha03 i androidx.sqlite:sqlite-ktx:2.3.0-alpha03. Wersja 2.3.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Włącz androidx.sqlite.ProcessLock jako ograniczony. Interfejs API jest ograniczony do funkcji androidx.sqlite i nie powinien być używany jako uniwersalna blokada wieloprocesowa. (I1643f)

Wersja 2.3.0-alfa02

6 kwietnia 2022 roku

Opublikowano androidx.sqlite:sqlite:2.3.0-alpha02, androidx.sqlite:sqlite-framework:2.3.0-alpha02 i androidx.sqlite:sqlite-ktx:2.3.0-alpha02. Wersja 2.3.0-alpha02 zawiera te zatwierdzenia.

  • Brak istotnych zmian od wersji 2.3.0-alfa01

Wersja 2.3.0-alfa01

23 lutego 2022 r.

Opublikowano androidx.sqlite:sqlite:2.3.0-alpha01, androidx.sqlite:sqlite-framework:2.3.0-alpha01 i androidx.sqlite:sqlite-ktx:2.3.0-alpha01. Wersja 2.3.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj interfejs API w konfiguracji SupportSQLite, aby umożliwić utratę danych podczas mechanizmu przywracania. (I1b830, b/215592732)
  • Dodano interfejs API do blokowania wielu procesów i używania na poziomie FrameworkSQLite*, aby chronić tworzenie i migracje baz danych w wielu procesach po raz pierwszy. (Ied267, b/193182592)

Wersja 2.2.0

Wersja 2.2.0

15 grudnia 2021 roku

Opublikowano androidx.sqlite:sqlite:2.2.0, androidx.sqlite:sqlite-framework:2.2.0 i androidx.sqlite:sqlite-ktx:2.2.0. Wersja 2.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 2.1.0

Dodaj domyślną metodę dla funkcji execPerConnectionSQL() w: SupportSQLiteDatabase.

Wersja 2.2.0-rc01

Grudzień 1, 2021

Opublikowano androidx.sqlite:sqlite:2.2.0-rc01, androidx.sqlite:sqlite-framework:2.2.0-rc01 i androidx.sqlite:sqlite-ktx:2.2.0-rc01. Wersja 2.2.0-rc01 zawiera te zatwierdzenia.

Brak istotnych zmian od wersji 2.2.0-beta01.

Wersja 2.2.0-beta01

13 października 2021 r.

Opublikowano androidx.sqlite:sqlite:2.2.0-beta01, androidx.sqlite:sqlite-framework:2.2.0-beta01 i androidx.sqlite:sqlite-ktx:2.2.0-beta01. Wersja 2.2.0-beta01 zawiera te zatwierdzenia.

  • Brak zmian w stosunku do poprzedniej wersji alfa.

Wersja 2.2.0-alfa02

21 lipca 2021 r.

Opublikowano androidx.sqlite:sqlite:2.2.0-alpha02, androidx.sqlite:sqlite-framework:2.2.0-alpha02 i androidx.sqlite:sqlite-ktx:2.2.0-alpha02. Wersja 2.2.0-alpha02 zawiera te zatwierdzenia.

Brak istotnych zmian od wersji 2.2.0-alfa01. Ta wersja jest dostosowana do wersji sali 2.4.0-alpha04.

Wersja 2.2.0-alfa01

16 czerwca 2021 r.

Opublikowano androidx.sqlite:sqlite:2.2.0-alpha01, androidx.sqlite:sqlite-framework:2.2.0-alpha01 i androidx.sqlite:sqlite-ktx:2.2.0-alpha01. Wersja 2.2.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj domyślną metodę dla execPerConnectionSQL() w SupportSQLiteDatabase (I86326, b/172270145)

Wersja 2.1.0

Wersja 2.1.0

22 stycznia 2020 r.

androidx.sqlite:sqlite:2.1.0, androidx.sqlite:sqlite-framework:2.1.0 i androidx.sqlite:sqlite-ktx:2.1.0 zostały opublikowane bez zmian od 2.1.0-rc01. Wersja 2.1.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 2.0.1

  • Obsługa polecenia useNoBackupDirectory, która pozwala wskazać, że baza danych ma zostać utworzona w katalogu bez kopii zapasowych, gdy używana jest usługa SupportSQLiteOpenHelper.

Wersja 2.1.0-rc01

Styczeń 8, 2020

Aplikacja androidx.sqlite:sqlite-*:2.1.0-rc01 została zwolniona. Wersja 2.1.0-rc01 zawiera te zatwierdzenia.

Ta wersja jest taka sama jak 2.1.0-beta01.

Wersja 2.1.0-beta01

4 grudnia 2019

androidx.sqlite:sqlite:2.1.0-beta01, androidx.sqlite:sqlite-framework:2.1.0-beta01 i androidx.sqlite:sqlite-ktx:2.1.0-beta01 zostały opublikowane bez zmian od 2.1.0-alpha01. Wersja 2.1.0-beta01 zawiera te zatwierdzenia.

Wersja 2.1.0-alfa01

7 listopada 2019 r.

Opublikowano androidx.sqlite:sqlite:2.1.0-alpha01, androidx.sqlite:sqlite-framework:2.1.0-alpha01 i androidx.sqlite:sqlite-ktx:2.1.0-alpha01. Wersja 2.1.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Do pliku SupportSQLiteOpenHelper.Configuration dodaliśmy nową właściwość o nazwie useNoBackupDirectory wskazującą, że należy utworzyć bazę danych opartą na plikach i zlokalizowaną w katalogu braku kopii zapasowych.

Wersja 2.0.1

Wersja 2.0.1

13 marca 2019 r.

Opublikowano wersję 2.0.1 grupy artefaktów androidx.sqlite z 2 poprawkami.

Poprawki błędów

  • Rozwiązaliśmy 2 problemy, które powodowały, że podczas inicjowania usługa FrameworkSQLiteOpenHelper nie mogła prawidłowo odzyskać z uszkodzonej bazy danych lub nieprawidłowej migracji. (b/111504749 i b/111519144)