Sqlite
androidx.sqlite
berisi antarmuka abstrak beserta implementasi dasar
yang dapat digunakan untuk membuat library Anda sendiri yang mengakses
SQLite.
Sebaiknya gunakan library Room, yang memberikan lapisan abstraksi di atas SQLite untuk memungkinkan akses database yang lebih andal sekaligus memanfaatkan seluruh kapabilitas SQLite.
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
21 Agustus 2024 | 2.4.0 | - | - | 2.5.0-alpha07 |
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.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 2.5
Versi 2.5.0-alpha07
21 Agustus 2024
androidx.sqlite:sqlite-*:2.5.0-alpha07
dirilis. Versi 2.5.0-alpha07 berisi commit ini.
Fitur Baru
- Menambahkan dukungan untuk Linux ARM 64 di target JVM / Desktop. (b/358045505)
Versi 2.5.0-alpha06
7 Agustus 2024
androidx.sqlite:sqlite-*:2.5.0-alpha06
dirilis. Versi 2.5.0-alpha06 berisi commit ini.
Fitur Baru
- Menambahkan dukungan untuk target Multiplatform Kotlin
linuxArm64
(I139d3, b/338268719)
Versi 2.5.0-alpha05
10 Juli 2024
androidx.sqlite:sqlite-*:2.5.0-alpha05
dirilis. Versi 2.5.0-alpha05 berisi commit ini.
Perubahan API
- Mengganti nama
SQLiteKt
menjadiSQLite
, danBundledSQLiteKt
menjadiBundledSQLite
. (I8b501)
Versi 2.5.0-alpha04
12 Juni 2024
androidx.sqlite:sqlite-*:2.5.0-alpha04
dirilis. Versi 2.5.0-alpha04 berisi commit ini.
Perubahan API
- Menambahkan API overload
open()
keBundledSQLiteDriver
untuk meneruskan flag terbuka saat membuka koneksi database. Berguna untuk membuka database dalam mode hanya baca atau menggunakan mode aman thread yang diserialisasi sebagai ganti kompilasi mode multi-thread yang dipaketkan dengan SQLite (b/340949940).
Perbaikan Bug
- Memperbaiki masalah penautan di Driver SQLite Paket yang akan menyebabkan
UnsatisfiedLinkError
ditampilkan karena simbol atom tidak ada di perangkat Android dengan ARM32. (b/341639198) - Memperbaiki masalah di driver ketika melakukan binding array byte panjang nol ke kolom akan menyebabkan nilai null saat dibaca darinya.
Versi 2.5.0-alpha03
29 Mei 2024
androidx.sqlite:sqlite-*:2.5.0-alpha03
dirilis. Versi 2.5.0-alpha03 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah
BundledSQLiteDriver
jika database yang dibuat dengannya berisi karakter terminator C null. (b/340822359)
Versi 2.5.0-alpha02
14 Mei 2024
androidx.sqlite:sqlite-*:2.5.0-alpha02
dirilis tanpa perubahan signifikan sejak versi 2.5.0-alpha01 . Versi 2.5.0-alpha02 berisi commit ini.
Versi 2.5.0-alpha01
1 Mei 2024
androidx.sqlite:sqlite-*:2.5.0-alpha01
dirilis. Versi 2.5.0-alpha01 berisi commit ini.
Fitur Baru
- Dukungan Multi-Platform (KMP) Kotlin: Dengan dirilisnya Room 2.7.0-alpha01 yang merupakan rilis pertama KMP Room,
SQLite
API yang memungkinkan Room menjadi KMP juga telah diupdate. Paketandriodx.sqlite
berisi tiga antarmuka yang menentukan SQLite API level rendah:SQLiteDriver
,SQLiteConnection
, danSQLiteStatement
. Artefakandroidx.sqlite:sqlite-framework
menawarkan implementasi antarmuka untuk Android dan iOS Secara Native, sedangkanandroidx.sqlite:sqlite-bundled
menawarkan implementasi yang menggunakanSQLite
yang dikompilasi dari sumber (juga dikenal sebagai “ SQLite paket”). Untuk mengetahui informasi selengkapnya tentang SQLite Driver API, lihat dokumentasi KMP SQLite resmi.
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 diSupportSQLiteQueryBuilder
. (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
- Hindari masalah framework saat kueri SQL tidak akan dibatalkan validasinya setelah perubahan skema selama migrasi.
FrameworkSupportSQLiteOpenHelper
kini akan menetapkan cache pernyataan SQL minimum selama migrasi untuk menghindari masalah. (0ad2a8f) - Perbaikan masalah saat direktori cache mungkin tidak tersedia untuk digunakan untuk
SupportSQLiteLock
, sehingga File null harus ditangani dengan baik. (9d177dc) - Memperbaiki masalah saat
attachedDbs
tidak menampilkan daftar lengkap database terlampir. (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 karenaandroidx.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
- Di
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 dalamandroidx.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 menggunakanSupportSQLiteOpenHelper
.
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 disebutuseNoBackupDirectory
, 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)