Sqlite

Library androidx.sqlite berisi antarmuka abstrak beserta implementasi dasar yang dapat digunakan untuk membuat library Anda sendiri yang mengakses SQLite.

Sebaiknya Anda menggunakan library Room, yang memberikan lapisan abstraksi di atas SQLite untuk memungkinkan akses database yang lebih andal sekaligus memanfaatkan kekuatan penuh SQLite.

Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
18 Oktober 2023 2.4.0 - - -

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada SQLite, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

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")
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 2.4

Versi 2.4.0

18 Oktober 2023

androidx.sqlite:sqlite:2.4.0, androidx.sqlite:sqlite-framework:2.4.0, dan androidx.sqlite:sqlite-ktx:2.4.0 dirilis. Versi 2.4.0 berisi commit ini.

Perubahan penting sejak versi 2.3.0

  • Berbagai perbaikan bug telah ditambahkan.

Versi 2.4.0-rc01

20 September 2023

androidx.sqlite:sqlite:2.4.0-rc01, androidx.sqlite:sqlite-framework:2.4.0-rc01, dan androidx.sqlite:sqlite-ktx:2.4.0-rc01 dirilis. Versi 2.4.0-rc01 berisi commit ini.

Versi 2.4.0-beta01

23 Agustus 2023

androidx.sqlite:sqlite:2.4.0-beta01, androidx.sqlite:sqlite-framework:2.4.0-beta01, dan androidx.sqlite:sqlite-ktx:2.4.0-beta01 dirilis. Versi 2.4.0-beta01 berisi commit ini.

Versi 2.4.0-alpha03

9 Agustus 2023

androidx.sqlite:sqlite:2.4.0-alpha03, androidx.sqlite:sqlite-framework:2.4.0-alpha03, dan androidx.sqlite:sqlite-ktx:2.4.0-alpha03 dirilis. Versi 2.4.0-alpha03 berisi commit ini.

Versi 2.4.0-alpha02

21 Juni 2023

androidx.sqlite:sqlite:2.4.0-alpha02, androidx.sqlite:sqlite-framework:2.4.0-alpha02, dan androidx.sqlite:sqlite-ktx:2.4.0-alpha02 dirilis tanpa perubahan. Versi 2.4.0-alpha02 berisi commit ini.

Versi 2.4.0-alpha01

22 Maret 2023

androidx.sqlite:sqlite:2.4.0-alpha01, androidx.sqlite:sqlite-framework:2.4.0-alpha01, dan androidx.sqlite:sqlite-ktx:2.4.0-alpha01 dirilis. Versi 2.4.0-alpha01 berisi commit ini.

Perbaikan Bug

  • Memperbaiki NullPointerException yang dapat terjadi di SupportSQLiteQueryBuilder. (5df8698)

Versi 2.3.1

Versi 2.3.1

22 Maret 2023

androidx.sqlite:sqlite:2.3.1, androidx.sqlite:sqlite-framework:2.3.1, dan androidx.sqlite:sqlite-ktx:2.3.1 dirilis. Versi 2.3.1 berisi commit ini.

Perbaikan Bug

  • Menghindari masalah framework saat kueri SQL tidak akan dibatalkan setelah perubahan skema selama migrasi. FrameworkSupportSQLiteOpenHelper sekarang akan menetapkan cache pernyataan SQL minimum selama migrasi untuk menghindari masalah. (0ad2a8f)
  • Memperbaiki masalah saat direktori cache mungkin tidak tersedia untuk digunakan bagi SupportSQLiteLock, sehingga File null harus ditangani dengan baik. (9d177dc)
  • Memperbaiki masalah saat attachedDbs tidak menampilkan daftar lengkap database yang terpasang. (5f008e1)

Versi 2.3.0

Versi 2.3.0

11 Januari 2023

androidx.sqlite:sqlite:2.3.0, androidx.sqlite:sqlite-framework:2.3.0, dan androidx.sqlite:sqlite-ktx:2.3.0 dirilis. Versi 2.3.0 berisi commit ini.

Perubahan penting sejak versi 2.2.0

  • Sumber androidx.sqlite grup library telah dikonversi dari Java ke Kotlin. Perlu diketahui bahwa karena androidx.sqlite memiliki beberapa anotasi nullability yang hilang, Anda mungkin mengalami error inkompatibilitas sumber jika sumber Anda berada di Kotlin dan kode tersebut menginferensi nullability yang salah. Selain itu, metode pengambil tertentu dikonversi menjadi properti yang memerlukan sintaksis akses properti pada file Kotlin. Laporkan bug jika ada inkompatibilitas yang signifikan. (b/240707042)
  • Menambahkan API di konfigurasi SupportSQLite's untuk memungkinkan kehilangan data selama mekanisme pemulihan. (I1b830, b/215592732)
  • Menambahkan API untuk kunci dan penggunaan multi-proses di level FrameworkSQLite*, untuk melindungi pembuatan dan migrasi database multi-proses untuk pertama kalinya. (Ied267, b/193182592)

Versi 2.3.0-rc01

7 Desember 2022

androidx.sqlite:sqlite:2.3.0-rc01, androidx.sqlite:sqlite-framework:2.3.0-rc01, dan androidx.sqlite:sqlite-ktx:2.3.0-rc01 dirilis. Versi 2.3.0-rc01 berisi commit ini.

Perbaikan Bug

  • Menyelesaikan masalah NPE di SupportSQLiteQueryBuilder untuk kolom nullable. (Ica8f5)

Versi 2.3.0-beta02

9 November 2022

androidx.sqlite:sqlite:2.3.0-beta02, androidx.sqlite:sqlite-framework:2.3.0-beta02, dan androidx.sqlite:sqlite-ktx:2.3.0-beta02 dirilis. Versi 2.3.0-beta02 berisi commit ini.

  • Memperbaiki berbagai API yang menggunakan argumen kueri dari invarian (Array<Any?>) hingga kontravarian (Array<out Any?>) agar cocok dengan perilaku array Java. (b/253531073)

Versi 2.3.0-beta01

5 Oktober 2022

androidx.sqlite:sqlite:2.3.0-beta01, androidx.sqlite:sqlite-framework:2.3.0-beta01, dan androidx.sqlite:sqlite-ktx:2.3.0-beta01 dirilis. Versi 2.3.0-beta01 berisi commit ini.

Perubahan API

  • Semua sumber android.sqlite telah dikonversi dari Java ke Kotlin. b/240707042.
  • Salah satu perubahan penting pada konversi adalah fungsi pengambil berikut telah menjadi properti:
    • Di SupportSQLiteDatabase:
    • attachedDbs
    • isDatabaseIntegrityOk
    • isDbLockedByCurrentThread
    • isOpen
    • isReadOnly
    • isWriteAheadLoggingEnabled
    • maximumSize
    • pageSize
    • path
    • version
    • Di SupportSQLiteOpenHelper:
    • databaseName
    • readableDatabase
    • writableDatabase

Versi 2.3.0-alpha05

24 Agustus 2022

androidx.sqlite:sqlite:2.3.0-alpha05, androidx.sqlite:sqlite-framework:2.3.0-alpha05, dan androidx.sqlite:sqlite-ktx:2.3.0-alpha05 dirilis. Versi 2.3.0-alpha05 berisi commit ini.

Perubahan API

  • Sumber androidx.sqlite grup library telah dikonversi dari Java ke Kotlin. Perlu diketahui bahwa karena androidx.sqlite memiliki beberapa anotasi nullability yang hilang, Anda mungkin mengalami error inkompatibilitas sumber jika sumber Anda berada di Kotlin dan kode tersebut menginferensi nullability yang salah. Laporkan bug jika ada inkompatibilitas yang signifikan. (b/240707042)

Versi 2.3.0-alpha04

10 Agustus 2022

androidx.sqlite:sqlite:2.3.0-alpha04, androidx.sqlite:sqlite-framework:2.3.0-alpha04, dan androidx.sqlite:sqlite-ktx:2.3.0-alpha04 dirilis. Versi 2.3.0-alpha04 berisi commit ini.

Perubahan API

  • Mengubah nullability (I29fbd)

Versi 2.3.0-alpha03

1 Juni 2022

androidx.sqlite:sqlite:2.3.0-alpha03, androidx.sqlite:sqlite-framework:2.3.0-alpha03, dan androidx.sqlite:sqlite-ktx:2.3.0-alpha03 dirilis. Versi 2.3.0-alpha03 berisi commit ini.

Perubahan API

  • Membatasi androidx.sqlite.ProcessLock. API diberi cakupan dan dibatasi ke fungsinya dalam androidx.sqlite dan tidak boleh digunakan sebagai kunci multi-proses untuk tujuan umum. (I1643f)

Versi 2.3.0-alpha02

6 April 2022

androidx.sqlite:sqlite:2.3.0-alpha02, androidx.sqlite:sqlite-framework:2.3.0-alpha02, dan androidx.sqlite:sqlite-ktx:2.3.0-alpha02 dirilis. Versi 2.3.0-alpha02 berisi commit ini.

  • Tidak ada perubahan signifikan sejak versi 2.3.0-alpha01

Versi 2.3.0-alpha01

23 Februari 2022

androidx.sqlite:sqlite:2.3.0-alpha01, androidx.sqlite:sqlite-framework:2.3.0-alpha01, dan androidx.sqlite:sqlite-ktx:2.3.0-alpha01 dirilis. Versi 2.3.0-alpha01 berisi commit ini.

Perubahan API

  • Menambahkan API di konfigurasi SupportSQLite untuk memungkinkan kehilangan data selama mekanisme pemulihan. (I1b830, b/215592732)
  • Menambahkan API untuk kunci dan penggunaan multi-proses di level FrameworkSQLite*, untuk melindungi pembuatan dan migrasi database multi-proses untuk pertama kalinya. (Ied267, b/193182592)

Versi 2.2.0

Versi 2.2.0

15 Desember 2021

androidx.sqlite:sqlite:2.2.0, androidx.sqlite:sqlite-framework:2.2.0, dan androidx.sqlite:sqlite-ktx:2.2.0 dirilis. Versi 2.2.0 berisi commit ini.

Perubahan penting sejak versi 2.1.0

Menambahkan metode default untuk execPerConnectionSQL() di SupportSQLiteDatabase.

Versi 2.2.0-rc01

1 Desember 2021

androidx.sqlite:sqlite:2.2.0-rc01, androidx.sqlite:sqlite-framework:2.2.0-rc01, dan androidx.sqlite:sqlite-ktx:2.2.0-rc01 dirilis. Versi 2.2.0-rc01 berisi commit ini.

Tidak ada perubahan signifikan sejak versi 2.2.0-beta01.

Versi 2.2.0-beta01

13 Oktober 2021

androidx.sqlite:sqlite:2.2.0-beta01, androidx.sqlite:sqlite-framework:2.2.0-beta01, dan androidx.sqlite:sqlite-ktx:2.2.0-beta01 dirilis. Versi 2.2.0-beta01 berisi commit ini.

  • Tidak ada perubahan dari versi alfa sebelumnya.

Versi 2.2.0-alpha02

21 Juli 2021

androidx.sqlite:sqlite:2.2.0-alpha02, androidx.sqlite:sqlite-framework:2.2.0-alpha02, dan androidx.sqlite:sqlite-ktx:2.2.0-alpha02 dirilis. Versi 2.2.0-alpha02 berisi commit ini.

Tidak ada perubahan signifikan sejak versi 2.2.0-alpha01. Rilis ini dilakukan agar sesuai dengan rilis Room 2.4.0-alpha04.

Versi 2.2.0-alpha01

16 Juni 2021

androidx.sqlite:sqlite:2.2.0-alpha01, androidx.sqlite:sqlite-framework:2.2.0-alpha01, dan androidx.sqlite:sqlite-ktx:2.2.0-alpha01 dirilis. Versi 2.2.0-alpha01 berisi commit ini.

Perubahan API

  • Menambahkan metode default untuk execPerConnectionSQL() di SupportSQLiteDatabase (I86326, b/172270145)

Versi 2.1.0

Versi 2.1.0

22 Januari 2020

androidx.sqlite:sqlite:2.1.0, androidx.sqlite:sqlite-framework:2.1.0, dan androidx.sqlite:sqlite-ktx:2.1.0 dirilis tanpa perubahan sejak versi 2.1.0-rc01. Versi 2.1.0 berisi commit ini.

Perubahan penting sejak versi 2.0.1

  • Dukungan untuk useNoBackupDirectory yang dapat digunakan untuk menunjukkan bahwa database harus dibuat dalam direktori tanpa cadangan saat menggunakan SupportSQLiteOpenHelper.

Versi 2.1.0-rc01

8 Januari 2020

androidx.sqlite:sqlite-*:2.1.0-rc01 dirilis. Versi 2.1.0-rc01 berisi commit ini.

Rilis ini sama persis dengan 2.1.0-beta01.

Versi 2.1.0-beta01

4 Desember 2019

androidx.sqlite:sqlite:2.1.0-beta01, androidx.sqlite:sqlite-framework:2.1.0-beta01, dan androidx.sqlite:sqlite-ktx:2.1.0-beta01 dirilis tanpa perubahan sejak versi 2.1.0-alpha01. Versi 2.1.0-beta01 berisi commit ini.

Versi 2.1.0-alpha01

7 November 2019

androidx.sqlite:sqlite:2.1.0-alpha01, androidx.sqlite:sqlite-framework:2.1.0-alpha01, dan androidx.sqlite:sqlite-ktx:2.1.0-alpha01 dirilis. Versi 2.1.0-alpha01 berisi commit ini.

Perubahan API

  • Menambahkan properti baru ke SupportSQLiteOpenHelper.Configuration, yang disebut useNoBackupDirectory, untuk menunjukkan bahwa database yang berbasis file harus dibuat dan ditempatkan dari direktori tanpa cadangan.

Versi 2.0.1

Versi 2.0.1

13 Maret 2019

Versi 2.0.1 dari grup artefak androidx.sqlite dirilis dengan dua perbaikan bug.

Perbaikan Bug

  • Memperbaiki dua masalah yang menyebabkan FrameworkSQLiteOpenHelper tidak dapat dipulihkan dengan baik dari database yang rusak atau migrasi yang bermasalah selama inisialisasi. (b/111504749 dan b/111519144)