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.

Yeni sorun oluşturma

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 birlikte SQLiteStatement.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

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 ve BundledSQLiteKt, 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şlevine open() 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 ve SQLiteStatement. androidx.sqlite:sqlite-framework yapıları, Android ve iOS için yerel olarak arayüzlerin uygulanmasını sağlarken androidx.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 bir NullPointerException 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ılabilen useNoBackupDirectory 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)