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 Desember 2024 | 2.4.0 | - | - | 2.5.0-alpha12 |
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-alpha12
11 Desember 2024
androidx.sqlite:sqlite-*:2.5.0-alpha12
dirilis. Versi 2.5.0-alpha12 berisi commit ini.
Versi 2.5.0-alpha11
30 Oktober 2024
androidx.sqlite:sqlite-*:2.5.0-alpha11
dirilis. Versi 2.5.0-alpha11 berisi commit ini.
Versi 2.5.0-alpha10
16 Oktober 2024
androidx.sqlite:sqlite-*:2.5.0-alpha10
dirilis. Versi 2.5.0-alpha10 berisi commit ini.
Perubahan API
- Tambahkan
SQLiteStatement.getColumnType()
beserta berbagai konstanta hasilSQLITE_DATA_*
untuk memungkinkan pengambilan jenis data kolom. (I1985c, b/369636251)
Versi 2.5.0-alpha09
2 Oktober 2024
androidx.sqlite:sqlite-*:2.5.0-alpha09
dirilis. Versi 2.5.0-alpha09 berisi commit ini.
Versi 2.5.0-alpha08
18 September 2024
androidx.sqlite:sqlite-*:2.5.0-alpha08
dirilis. Versi 2.5.0-alpha08 berisi commit ini.
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 thread aman serialisasi, bukan mode multi-thread yang dipaketkan dengan SQLite yang dikompilasi (b/340949940).
Perbaikan Bug
- Memperbaiki masalah penautan di Driver SQLite yang Dipaketkan yang akan menyebabkan
UnsatisfiedLinkError
ditampilkan karena tidak adanya simbol atom di perangkat Android dengan ARM32. (b/341639198) - Memperbaiki masalah pada driver saat mengikat array byte dengan panjang nol ke kolom akan menyebabkan nilai null saat membaca 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 pada
BundledSQLiteDriver
saat database yang dibuat dengan database tersebut akan berisi karakter terminator null C. (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 Kotlin (KMP): Dengan rilis Room 2.7.0-alpha01 yang merupakan rilis pertama Room KMP,
SQLite
API yang memungkinkan Room menjadi KMP juga telah diupdate. Paketandriodx.sqlite
berisi tiga antarmuka yang menentukan API SQLite 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 yang dipaketkan”). Untuk 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
- Menghindari masalah framework saat kueri SQL tidak akan di-invalidate setelah perubahan skema selama migrasi.
FrameworkSupportSQLiteOpenHelper
kini akan menetapkan cache pernyataan SQL minimum selama migrasi untuk menghindari masalah tersebut. (0ad2a8f) - Memperbaiki 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 yang dilampirkan. (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)