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 |
---|---|---|---|---|
11 Januari 2023 | 2.3.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.3.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.3.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.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)