Sqlite
androidx.sqlite
kitaplığı, SQLite'e erişen kendi kitaplıklarınızı oluşturmak için kullanılabilecek temel uygulamalarla birlikte soyut arayüzler 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ü |
---|---|---|---|---|
11 Aralık 2024 | 2.4.0 | - | - | 2.5.0-alpha12 |
Bağımlılıkları beyan etme
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ın veya modülünüzün build.gradle
dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
Eski
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
Sürüm 2.5.0-alpha12
11 Aralık 2024
androidx.sqlite:sqlite-*:2.5.0-alpha12
yayınlanır. 2.5.0-alpha12 sürümü bu taahhütleri içerir.
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ınlanır. 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ınlanır. 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. 2.5.0-alpha04 sürümü bu taahhütleri 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'ye sahip Android cihazlarda atomik sembollerin eksik olması nedeniyle Bundled SQLite Sürücüsü'nde
UnsatisfiedLinkError
hatasının atılmasına neden olan bir bağlantı sorunu düzeltildi. (b/341639198) - Sürücüler, sıfır uzunlukta bir bayt dizisini bir sütuna bağlarken sütundan okunurken null değere neden oluyordu. Bu sorun düzeltildi.
Sürüm 2.5.0-alpha03
29 Mayıs 2024
androidx.sqlite:sqlite-*:2.5.0-alpha03
yayınlanır. 2.5.0-alpha03 sürümü bu taahhütleri 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 Çok Platformlu (KMP) Desteği: Room KMP'nin ilk sürümü olan Room 2.7.0-alpha01'in yayınlanmasıyla birlikte, Room'un KMP olmasını sağlayan
SQLite
API'leri de güncellendi.andriodx.sqlite
paketi, düşük düzey SQLite API'lerini tanımlayan üç arayüz içerir:SQLiteDriver
,SQLiteConnection
veSQLiteStatement
.androidx.sqlite:sqlite-framework
yapıları, Android ve iOS için yerel olarak arayüzlerin uygulanmasını sağlarkenandroidx.sqlite:sqlite-bundled
yapıları, kaynaktan derlenmişSQLite
'i kullanan bir uygulama sunar ("paketlenmiş SQLite" olarak da bilinir). SQLite Sürücü API'si hakkında daha fazla bilgi için resmi SQLite KMP dokümanlarına bakın.
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
yayınlandı. 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
yayınlandı. 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ı. 2.4.0-beta01 sürümü bu taahhütleri 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
yayınlandı. 2.4.0-alpha03 sürümü bu taahhütleri 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
, herhangi bir değişiklik yapılmadan yayınlanır. 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
, sorunu önlemek için artık taşıma işlemleri sırasında minimum SQL ifade ö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
yayınlandı. 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
kaynaklarının bulunduğu kitaplık grubu Java'dan Kotlin'e dönüştürüldü.androidx.sqlite
bazı boşluk notları eksik olduğundan, kaynaklarınızın Kotlin dilinde olması ve kodun yanlış boşluk bilgisini çıkarması durumunda 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 kilitleme 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
yayınlandı. 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 taahhütleri içerir.
API Değişiklikleri
- androidx.sqlite sources kitaplık grubu Java'dan Kotlin'e dönüştürüldü. androidx.sqlite bazı boşluk notları eksik olduğundan, kaynaklarınızın Kotlin dilinde olması ve kodun yanlış boşluk bilgisini çıkarması durumunda 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
yayınlandı. 2.3.0-alpha04 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Boşluk kabul etme durumu güncellendi (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
'ü kısıtlayın. 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 sürümünden bu yana ö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ı. 2.3.0-alpha01 sürümü bu taahhütleri 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 sürümünden bu yana yapılan ö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ılmadı.
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 sürüm, yalnızca 2.4.0-alpha04
numaralı oda sürümüyle uyumlu hale getirmek için yayınlanmıştır.
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'da
execPerConnectionSQL()
için varsayılan yöntem ekleyin (I86326, b/172270145)
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 taahhütleri 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ı grubu 2.0.1 sürümü, iki hata düzeltmesiyle yayınlandı.
Hata Düzeltmeleri
FrameworkSQLiteOpenHelper
'ün, bozuk bir veritabanından veya başlatma sırasında kötü bir taşıma işleminden düzgün şekilde kurtarılmadığı iki sorun düzeltildi. (b/111504749 ve b/111519144)