androidx.sqlite
kitaplığı soyut arayüzler ve temel arayüzler içeriyor
kitaplıklarınızı oluşturmak için kullanılabilecek
uygulamalar hakkında bilgi edinin.
SQLite Örneğin, çeşitli bölümlerin yer aldığı Oda kitaplığını
daha güçlü veritabanı erişimi sağlamak için SQLite üzerinde bir soyutlama katmanı
en iyi şekilde yararlanabilirsiniz.
Bağımlılıkları belirleme
Kotlin Çoklu Platform'u destekleyen mevcut androidx.sqlite
sürümü
(KMP) 2.5.0-alpha01 veya sonraki sürümlerdir.
KMP projenize SQLite kurmak için yapılara bağımlılık ekleyin
modülünüzün build.gradle.kts
dosyasında:
androidx.sqlite:sqlite
- SQLite Sürücü arayüzleriandroidx.sqlite:sqlite-bundled
- Paket halinde sunulan sürücü uygulaması
SQLite Sürücü API'leri
androidx.sqlite
kitaplık grupları, iletişim kurmak için alt düzey API'ler sunar.
kullanıldığında kitaplığın içerdiği SQLite kitaplığı
androidx.sqlite:sqlite-bundled
veya Android ya da iOS gibi ana makine platformunda
androidx.sqlite:sqlite-framework
kullanın. API'ler, Google Cloud'un
işlevleri bulunuyor.
3 ana arayüz vardır:
SQLiteDriver
- SQLite kullanmak için giriş noktasıdır ve .SQLiteConnection
:sqlite3
nesnesinin temsilidir.SQLiteStatement
:sqlite3_stmt
nesnesinin temsilidir.
Aşağıdaki örnekte temel API'ler gösterilmektedir:
fun main() {
val databaseConnection = BundledSQLiteDriver().open("todos.db")
databaseConnection.execSQL(
"CREATE TABLE IF NOT EXISTS Todo (id INTEGER PRIMARY KEY, content TEXT)"
)
databaseConnection.prepare(
"INSERT OR IGNORE INTO Todo (id, content) VALUES (? ,?)"
).use { stmt ->
stmt.bindInt(index = 1, value = 1)
stmt.bindText(index = 2, value = "Try Room in the KMP project.")
stmt.step()
}
databaseConnection.prepare("SELECT content FROM Todo").use { stmt ->
while (stmt.step()) {
println("Action item: ${stmt.getText(0)}")
}
}
databaseConnection.close()
}
SQLite C API'lerine benzer şekilde, yaygın kullanım şu şekildedir:
- Örneklenen
SQLiteDriver
aracını kullanarak bir veritabanı bağlantısı açın bazı ipuçları vereceğim. SQLiteConnection.prepare()
kullanarak SQL ifadesi hazırlayınSQLiteStatement
yürütme:- İsteğe bağlı olarak
bind*()
işlevlerini kullanarak bağımsız değişkenleri bağlama. step()
işlevi kullanılarak sonuç kümesi üzerinde iterasyon yapılır.get*()
işlevleri kullanılarak sonuç kümesindeki sütunlar okunuyor.
- İsteğe bağlı olarak
Sürücü Uygulamaları
Aşağıdaki tabloda, kullanılabilir sürücü uygulamaları özetlenmiştir:
Sınıf Adı |
Yapı |
Desteklenen Platformlar |
AndroidSQLiteDriver |
androidx.sqlite:sqlite-framework |
Android |
NativeSQLiteDriver |
androidx.sqlite:sqlite-framework |
iOS, Mac ve Linux |
BundledSQLiteDriver |
androidx.sqlite:sqlite-bundled |
Android, iOS, Mac, Linux ve JVM (Masaüstü) |
Kullanılması önerilen BundledSQLiteDriver
uygulama şurada bulunmaktadır:
androidx.sqlite:sqlite-bundled
. Şu kaynaktan derlenen SQLite kitaplığını içerir:
tüm kaynaklarda en güncel sürümü ve tutarlılığı
desteklenen KMP platformlarını kullanın.
SQLite Sürücü ve Odası
Sürücü API'leri, SQLite veritabanıyla alt düzey etkileşimlerde kullanışlıdır. SQLite'a daha sağlam erişim sağlayan zengin özellik kitaplığı için, Oda kullanmanız önerilir.
RoomDatabase
, veritabanı işlemlerini gerçekleştirmek için bir SQLiteDriver
kullanır ve
proje yaşam döngüsü boyunca
RoomDatabase.Builder.setDriver()
. Odanın sunduğu olanaklar
RoomDatabase.useReaderConnection
ve
Yönetilen sürüme daha doğrudan erişim için RoomDatabase.useWriterConnection
emin olun.