Sqlite
androidx.sqlite
kitaplığı soyut arayüzlerin yanı sıra SQLite'a erişen kendi kitaplıklarınızı oluşturmak için kullanılabilecek temel uygulamaları içerir.
SQLite'in tüm gücünden yararlanırken daha güçlü veritabanı erişimi sağlamak için SQLite üzerinde bir soyutlama katmanı sağlayan Room kitaplığını kullanmayı düşünebilirsiniz.
Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
30 Ekim 2024 | 2.4.0 | - | - | 2.5.0-alfa11 |
Bağımlılıkları bildirme
SQLite bağımlılığı eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.
Uygulamanız veya modülünün build.gradle
dosyasına ihtiyaç duyduğunuz yapılar için bağımlılıkları ekleyin:
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") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Sürüm 2.5
2.5.0-alpha11 sürümü
30 Ekim 2024
androidx.sqlite:sqlite-*:2.5.0-alpha11
yayınlanır. 2.5.0-alpha11 sürümü bu taahhütleri içerir.
Sürüm 2.5.0-alpha10
16 Ekim 2024
androidx.sqlite:sqlite-*:2.5.0-alpha10
yayınlanır. 2.5.0-alpha10 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Bir sütunun veri türünü almak için çeşitli
SQLITE_DATA_*
sonuç sabitleriyle birlikteSQLiteStatement.getColumnType()
ekleyin. (I1985c, b/369636251)
Sürüm 2.5.0-alpha09
2 Ekim 2024
androidx.sqlite:sqlite-*:2.5.0-alpha09
yayınlanır. 2.5.0-alpha09 sürümü bu taahhütleri içerir.
Sürüm 2.5.0-alpha08
18 Eylül 2024
androidx.sqlite:sqlite-*:2.5.0-alpha08
yayınlanır. 2.5.0-alpha08 sürümü bu taahhütleri içerir.
Sürüm 2.5.0-alpha07
21 Ağustos 2024
androidx.sqlite:sqlite-*:2.5.0-alpha07
yayınlandı. 2.5.0-alpha07 sürümü bu taahhütleri içerir.
Yeni Özellikler
- JVM / masaüstü hedeflerinde Linux ARM 64 için destek eklendi. (b/358045505)
Sürüm 2.5.0-alpha06
7 Ağustos 2024
androidx.sqlite:sqlite-*:2.5.0-alpha06
yayınlandı. 2.5.0-alpha06 sürümü bu taahhütleri içerir.
Yeni Özellikler
linuxArm64
Kotlin Çok Platformlu hedefi için destek ekleme (I139d3, b/338268719)
Sürüm 2.5.0-alpha05
10 Temmuz 2024
androidx.sqlite:sqlite-*:2.5.0-alpha05
yayınlanır. 2.5.0-alpha05 sürümü bu taahhütleri içerir.
API Değişiklikleri
SQLiteKt
,SQLite
olarak veBundledSQLiteKt
,BundledSQLite
olarak yeniden adlandırıldı. (I8b501)
Sürüm 2.5.0-alpha04
12 Haziran 2024
androidx.sqlite:sqlite-*:2.5.0-alpha04
yayınlanır. Sürüm 2.5.0-alpha04 bu kaydetmeleri içerir.
API Değişiklikleri
- Veritabanı bağlantısı açarken açık işaretlerini iletmek için
BundledSQLiteDriver
işlevineopen()
aşırı yükleme API'si eklendi. SQLite'in derlendiği paketteki çoklu iş parçacıklı mod yerine salt okuma modunda veritabanı açmak veya serileştirilmiş iş parçacığı güvenli modunu kullanmak için kullanışlıdır (b/340949940).
Hata Düzeltmeleri
- ARM32'li Android cihazlarda atomik sembollerin eksik olması nedeniyle Bundled SQLite Sürücüsü'nde
UnsatisfiedLinkError
atılmasına neden olan bir bağlantı sorunu düzeltildi. (b/341639198) - Sürücüler üzerinde, sıfır uzunlukta bir bayt dizisinin bir sütuna bağlanmasının, sütundan okunurken null değere yol açmasına neden olan sorun düzeltildi.
Sürüm 2.5.0-alpha03
29 Mayıs 2024
androidx.sqlite:sqlite-*:2.5.0-alpha03
yayınlanır. Sürüm 2.5.0-alpha03 bu kaydetmeleri içerir.
Hata Düzeltmeleri
BundledSQLiteDriver
ile oluşturulan veritabanlarının C null sonlandırıcı karakteri içermesiyle ilgili sorun düzeltildi. (b/340822359)
Sürüm 2.5.0-alpha02
14 Mayıs 2024
androidx.sqlite:sqlite-*:2.5.0-alpha02
, 2.5.0-alpha01 sürümünden bu yana önemli bir değişiklik içermeden yayınlanmıştır . 2.5.0-alpha02 sürümü bu taahhütleri içerir.
Sürüm 2.5.0-alpha01
1 Mayıs 2024
androidx.sqlite:sqlite-*:2.5.0-alpha01
yayınlanır. 2.5.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Kotlin Çoklu Platform (KMP) Desteği: Room KMP'nin ilk sürümü olan Room 2.7.0-alpha01'in kullanıma sunulmasıyla birlikte, Room'da KMP olmasını sağlayan
SQLite
API'leri de güncellendi.andriodx.sqlite
paketi, alt düzey SQLite API'lerini tanımlayan üç arayüz içeriyor:SQLiteDriver
,SQLiteConnection
veSQLiteStatement
.androidx.sqlite:sqlite-framework
yapısı, Android ve iOS arayüzlerinin yerel olarak uygulanmasını sunarkenandroidx.sqlite:sqlite-bundled
, kaynaktan derlenenSQLite
özelliğini ("paketlenmiş SQLite" olarak da bilinir) kullanan bir uygulama sunar. SQLite Driver API hakkında daha fazla bilgi edinmek için resmi SQLite KMP belgelerine bakabilirsiniz.
Sürüm 2.4
Sürüm 2.4.0
18 Ekim 2023
androidx.sqlite:sqlite:2.4.0
, androidx.sqlite:sqlite-framework:2.4.0
ve androidx.sqlite:sqlite-ktx:2.4.0
serbest bırakıldı. 2.4.0 sürümü bu taahhütleri içerir.
2.3.0 sürümünden beri yapılan önemli değişiklikler
- Çeşitli hata düzeltmeleri eklendi.
Sürüm 2.4.0-rc01
20 Eylül 2023
androidx.sqlite:sqlite:2.4.0-rc01
, androidx.sqlite:sqlite-framework:2.4.0-rc01
ve androidx.sqlite:sqlite-ktx:2.4.0-rc01
serbest bırakıldı. 2.4.0-rc01 sürümü bu taahhütleri içerir.
Sürüm 2.4.0-beta01
23 Ağustos 2023
androidx.sqlite:sqlite:2.4.0-beta01
, androidx.sqlite:sqlite-framework:2.4.0-beta01
ve androidx.sqlite:sqlite-ktx:2.4.0-beta01
yayınlandı. Sürüm 2.4.0-beta01 bu kaydetmeleri içerir.
Sürüm 2.4.0-alpha03
9 Ağustos 2023
androidx.sqlite:sqlite:2.4.0-alpha03
, androidx.sqlite:sqlite-framework:2.4.0-alpha03
ve androidx.sqlite:sqlite-ktx:2.4.0-alpha03
serbest bırakıldı. 2.4.0-alpha03 sürümü bu kaydetmeleri içerir.
Sürüm 2.4.0-alpha02
21 Haziran 2023
androidx.sqlite:sqlite:2.4.0-alpha02
, androidx.sqlite:sqlite-framework:2.4.0-alpha02
ve androidx.sqlite:sqlite-ktx:2.4.0-alpha02
hiçbir değişiklik yapılmadan serbest bırakıldı. 2.4.0-alpha02 sürümü bu taahhütleri içerir.
Sürüm 2.4.0-alpha01
22 Mart 2023
androidx.sqlite:sqlite:2.4.0-alpha01
, androidx.sqlite:sqlite-framework:2.4.0-alpha01
ve androidx.sqlite:sqlite-ktx:2.4.0-alpha01
yayınlandı. 2.4.0-alpha01 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
SupportSQLiteQueryBuilder
'te ortaya çıkabilecek birNullPointerException
düzeltildi. (5df8698)
Sürüm 2.3.1
Sürüm 2.3.1
22 Mart 2023
androidx.sqlite:sqlite:2.3.1
, androidx.sqlite:sqlite-framework:2.3.1
ve androidx.sqlite:sqlite-ktx:2.3.1
yayınlandı. 2.3.1 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Taşıma sırasında şema değişikliğinden sonra SQL sorgularının geçersiz kılınmaması sorununun çerçevede yaşanmasını önler.
FrameworkSupportSQLiteOpenHelper
artık sorunun önüne geçmek için taşıma işlemleri sırasında minimum SQL ifadesi önbelleğini ayarlayacak. (0ad2a8f) - Önbelleğe alma dizininin
SupportSQLiteLock
için kullanılamayabileceği ve bu nedenle null bir dosyanın düzgün şekilde işlenmesi gerektiğiyle ilgili sorun düzeltildi. (9d177dc) attachedDbs
işlevinin, ekli veritabanlarının tam listesini döndürmediği sorun düzeltildi. (5f008e1)
Sürüm 2.3.0
Sürüm 2.3.0
11 Ocak 2023
androidx.sqlite:sqlite:2.3.0
, androidx.sqlite:sqlite-framework:2.3.0
ve androidx.sqlite:sqlite-ktx:2.3.0
serbest bırakıldı. 2.3.0 sürümü bu taahhütleri içerir.
2.2.0 sürümünden beri yapılan önemli değişiklikler
androidx.sqlite
kitaplık grubu kaynakları, Java'dan Kotlin'e dönüştürüldü.androidx.sqlite
öğesinde bazı null değer ek açıklamaları eksik olduğundan, kaynaklarınız Kotlin'deyse ve kod yanlış null değeri çıkarıyorsa kaynak uyumsuzluğu hatalarıyla karşılaşabileceğinizi unutmayın. Ayrıca, belirli alıcı yöntemleri Kotlin dosyalarında mülk erişim söz dizimini gerektiren mülklere dönüştürüldü. Önemli uyumsuzluk varsa lütfen hata kaydı oluşturun. (b/240707042)- Kurtarma mekanizması sırasında veri kaybına izin vermek için
SupportSQLite's
yapılandırmasında bir API ekleyin. (I1b830, b/215592732) - Çok işlemli ilk kez veritabanı oluşturma ve taşıma işlemlerini korumak için
FrameworkSQLite*
düzeyinde çok işlemli kilit ve kullanım API'si eklendi. (Ied267, b/193182592)
Sürüm 2.3.0-rc01
7 Aralık 2022
androidx.sqlite:sqlite:2.3.0-rc01
, androidx.sqlite:sqlite-framework:2.3.0-rc01
ve androidx.sqlite:sqlite-ktx:2.3.0-rc01
serbest bırakıldı. 2.3.0-rc01 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Boş değer atanabilir sütunlar için
SupportSQLiteQueryBuilder
'te NPE sorununu çözme. (Ica8f5)
Sürüm 2.3.0-beta02
9 Kasım 2022
androidx.sqlite:sqlite:2.3.0-beta02
, androidx.sqlite:sqlite-framework:2.3.0-beta02
ve androidx.sqlite:sqlite-ktx:2.3.0-beta02
yayınlandı. 2.3.0-beta02 sürümü bu taahhütleri içerir.
- Sorgu bağımsız değişkenlerini değişmez (
Array<Any?>
) olandan değişken (Array<out Any?>
) olana geçiren çeşitli API'leri, Java'nın dizi davranışıyla eşleşecek şekilde düzeltin. (b/253531073)
Sürüm 2.3.0-beta01
5 Ekim 2022
androidx.sqlite:sqlite:2.3.0-beta01
, androidx.sqlite:sqlite-framework:2.3.0-beta01
ve androidx.sqlite:sqlite-ktx:2.3.0-beta01
yayınlandı. 2.3.0-beta01 sürümü bu taahhütleri içerir.
API Değişiklikleri
- android.sqlite kaynaklarının tümü Java'dan Kotlin'e dönüştürüldü. b/240707042
- Dönüşümle ilgili dikkate değer bir değişiklik, aşağıdaki alıcı işlevlerinin mülk haline gelmesidir:
SupportSQLiteDatabase
'te:attachedDbs
isDatabaseIntegrityOk
isDbLockedByCurrentThread
isOpen
isReadOnly
isWriteAheadLoggingEnabled
maximumSize
pageSize
path
version
SupportSQLiteOpenHelper
'te:databaseName
readableDatabase
writableDatabase
Sürüm 2.3.0-alpha05
24 Ağustos 2022
androidx.sqlite:sqlite:2.3.0-alpha05
, androidx.sqlite:sqlite-framework:2.3.0-alpha05
ve androidx.sqlite:sqlite-ktx:2.3.0-alpha05
yayınlandı. 2.3.0-alpha05 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- androidx.sqlite kaynakları kitaplık grubu Java'dan Kotlin'e dönüştürüldü. androidx.sqlite'ta bazı boş değer atanabilirlik ek açıklamaları eksik olduğundan, kaynaklarınız Kotlin'deyse ve kod yanlış null değeri çıkarıyorsa kaynak uyumsuzluğu hatalarıyla karşılaşabileceğinizi unutmayın. Önemli bir uyumsuzluk varsa lütfen hata kaydı oluşturun. (b/240707042)
Sürüm 2.3.0-alpha04
10 Ağustos 2022
androidx.sqlite:sqlite:2.3.0-alpha04
, androidx.sqlite:sqlite-framework:2.3.0-alpha04
ve androidx.sqlite:sqlite-ktx:2.3.0-alpha04
serbest bırakıldı. 2.3.0-alpha04 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Güncellenen geçersiz değer (I29fbd)
Sürüm 2.3.0-alpha03
1 Haziran 2022
androidx.sqlite:sqlite:2.3.0-alpha03
, androidx.sqlite:sqlite-framework:2.3.0-alpha03
ve androidx.sqlite:sqlite-ktx:2.3.0-alpha03
yayınlandı. 2.3.0-alpha03 sürümü bu taahhütleri içerir.
API Değişiklikleri
androidx.sqlite.ProcessLock
özelliğini kısıtlanmış hale getir. API,androidx.sqlite
içindeki işleviyle sınırlı ve kapsamlı olup genel amaçlı çok işlemli kilit olarak kullanılmamalıdır. (I1643f)
Sürüm 2.3.0-alpha02
6 Nisan 2022
androidx.sqlite:sqlite:2.3.0-alpha02
, androidx.sqlite:sqlite-framework:2.3.0-alpha02
ve androidx.sqlite:sqlite-ktx:2.3.0-alpha02
yayınlandı. 2.3.0-alpha02 sürümü bu taahhütleri içerir.
- 2.3.0-alpha01'den beri önemli bir değişiklik yok
Sürüm 2.3.0-alpha01
23 Şubat 2022
androidx.sqlite:sqlite:2.3.0-alpha01
, androidx.sqlite:sqlite-framework:2.3.0-alpha01
ve androidx.sqlite:sqlite-ktx:2.3.0-alpha01
yayınlandı. Sürüm 2.3.0-alpha01 bu kaydetmeleri içerir.
API Değişiklikleri
- Kurtarma mekanizması sırasında veri kaybına izin vermek için SupportSQLite'in yapılandırmasına bir API ekleyin. (I1b830, b/215592732)
- Çok işlemli ilk kez veritabanı oluşturma ve taşıma işlemlerini korumak için FrameworkSQLite* düzeyinde çok işlemli kilit ve kullanım API'si eklendi. (Ied267, b/193182592)
Sürüm 2.2.0
Sürüm 2.2.0
15 Aralık 2021
androidx.sqlite:sqlite:2.2.0
, androidx.sqlite:sqlite-framework:2.2.0
ve androidx.sqlite:sqlite-ktx:2.2.0
yayınlandı. 2.2.0 sürümü bu taahhütleri içerir.
2.1.0'dan bu yana önemli değişiklikler
SupportSQLiteDatabase
için execPerConnectionSQL()
'e varsayılan yöntem ekleyin.
Sürüm 2.2.0-rc01
1 Aralık 2021
androidx.sqlite:sqlite:2.2.0-rc01
, androidx.sqlite:sqlite-framework:2.2.0-rc01
ve androidx.sqlite:sqlite-ktx:2.2.0-rc01
yayınlandı. 2.2.0-rc01 sürümü bu taahhütleri içerir.
2.2.0-beta01 sürümünden bu yana önemli bir değişiklik yapılmamıştır.
Sürüm 2.2.0-beta01
13 Ekim 2021
androidx.sqlite:sqlite:2.2.0-beta01
, androidx.sqlite:sqlite-framework:2.2.0-beta01
ve androidx.sqlite:sqlite-ktx:2.2.0-beta01
yayınlandı. 2.2.0-beta01 sürümü bu taahhütleri içerir.
- Önceki alfa sürümüne göre değişiklik yok.
Sürüm 2.2.0-alpha02
21 Temmuz 2021
androidx.sqlite:sqlite:2.2.0-alpha02
, androidx.sqlite:sqlite-framework:2.2.0-alpha02
ve androidx.sqlite:sqlite-ktx:2.2.0-alpha02
yayınlandı. 2.2.0-alpha02 sürümü bu taahhütleri içerir.
2.2.0-alpha01 sürümünden bu yana önemli bir değişiklik yapılmadı. Bu yayın, 2.4.0-alpha04
odasının iptaliyle uyumlu hale getirilmelidir.
Sürüm 2.2.0-alpha01
16 Haziran 2021
androidx.sqlite:sqlite:2.2.0-alpha01
, androidx.sqlite:sqlite-framework:2.2.0-alpha01
ve androidx.sqlite:sqlite-ktx:2.2.0-alpha01
yayınlandı. 2.2.0-alpha01 sürümü bu taahhütleri içerir.
API Değişiklikleri
- SupportSQLiteDatabase'e (I86326, b/172270145)
execPerConnectionSQL()
için varsayılan yöntem ekleyin
2.1.0 sürümü
2.1.0 sürümü
22 Ocak 2020
androidx.sqlite:sqlite:2.1.0
, androidx.sqlite:sqlite-framework:2.1.0
ve androidx.sqlite:sqlite-ktx:2.1.0
, 2.1.0-rc01
'den bu yana herhangi bir değişiklik olmadan yayınlanır. 2.1.0 sürümü bu kaydetmeleri içerir.
2.0.1 sürümünden beri yapılan önemli değişiklikler
SupportSQLiteOpenHelper
kullanıldığında veritabanının yedek yok dizininde oluşturulması gerektiğini belirtmek için kullanılabilenuseNoBackupDirectory
desteği.
Sürüm 2.1.0-rc01
8 Ocak 2020
androidx.sqlite:sqlite-*:2.1.0-rc01
yayınlanır. 2.1.0-rc01 sürümü bu taahhütleri içerir.
Bu sürüm, 2.1.0-beta01
ile aynıdır.
Sürüm 2.1.0-beta01
4 Aralık 2019
androidx.sqlite:sqlite:2.1.0-beta01
, androidx.sqlite:sqlite-framework:2.1.0-beta01
ve androidx.sqlite:sqlite-ktx:2.1.0-beta01
, 2.1.0-alpha01
'den bu yana herhangi bir değişiklik olmadan yayınlanır. 2.1.0-beta01 sürümü bu taahhütleri içerir.
Sürüm 2.1.0-alpha01
7 Kasım 2019
androidx.sqlite:sqlite:2.1.0-alpha01
, androidx.sqlite:sqlite-framework:2.1.0-alpha01
ve androidx.sqlite:sqlite-ktx:2.1.0-alpha01
yayınlandı. 2.1.0-alpha01 sürümü bu taahhütleri içerir.
API değişiklikleri
- Dosya tabanlı bir veritabanının oluşturulması ve yedekleme dizininde bulunmaması gerektiğini belirtmek için
SupportSQLiteOpenHelper.Configuration
adlı yeni bir özellik eklendi.useNoBackupDirectory
Sürüm 2.0.1
Sürüm 2.0.1
13 Mart 2019
androidx.sqlite
yapı grubunun 2.0.1 sürümü iki hata düzeltmesiyle yayınlandı.
Hata Düzeltmeleri
FrameworkSQLiteOpenHelper
ürününün bozuk bir veritabanından düzgün şekilde kurtarılamamasına veya başlatma sırasında hatalı bir taşıma işlemine neden olan iki sorun düzeltildi. (b/111504749 ve b/111519144)