لغة الاستعلامات البنيوية (Sqlite)
androidx.sqlite
على واجهات مجردة إلى جانب
من التطبيقات التي يمكن استخدامها لإنشاء مكتباتك التي يمكنها الوصول إلى
SQLite.
قد ترغب في التفكير في استخدام الغرف التي توفر طبقة تجريدية عبر SQLite للسماح بوصول أكثر قوة إلى قاعدة البيانات مع الاستفادة من القوة الكاملة لـ SQLite.
التعديل الأخير | الإصدار المستقر | سحب المرشح | الإصدار التجريبي | إصدار أولي |
---|---|---|---|---|
21 آب (أغسطس) 2024 | 2.4.0 | - | - | 2.5.0-alpha07 |
إعلان التبعيات
لإضافة تبعية على SQLite، يجب إضافة مستودع Google Maven إلى مشروعك. الاطّلاع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الملحقات التابعة للعناصر التي تحتاجها في ملف build.gradle
لـ
لتطبيقك أو الوحدة التي تستخدمها:
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") }
لمزيد من المعلومات حول العناصر الاعتمادية، يُرجى الاطّلاع على إضافة تبعيات الإصدار.
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى إلقاء نظرة على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية عن طريق بالنقر فوق زر النجمة.
يُرجى الاطّلاع على مستندات أداة تتبُّع المشاكل. لمزيد من المعلومات.
الإصدار 2.5
الإصدار 2.5.0-alpha07
21 آب (أغسطس) 2024
تم طرح androidx.sqlite:sqlite-*:2.5.0-alpha07
. يحتوي الإصدار 2.5.0-alpha07 على عمليات التنفيذ هذه.
الميزات الجديدة
- إضافة دعم للإصدار ARM 64 من Linux في أهداف JVM / سطح المكتب (b/358045505)
الإصدار 2.5.0-alpha06
7 أغسطس 2024
تم طرح androidx.sqlite:sqlite-*:2.5.0-alpha06
. يحتوي الإصدار 2.5.0-alpha06 على عمليات التنفيذ هذه.
الميزات الجديدة
- إضافة دعم لهدف
linuxArm64
في Kotlin Multiplatform (I139d3، b/338268719)
الإصدار 2.5.0-alpha05
10 يوليو 2024
تم طرح androidx.sqlite:sqlite-*:2.5.0-alpha05
. يحتوي الإصدار 2.5.0-alpha05 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تمت إعادة تسمية "
SQLiteKt
" إلى "SQLite
" و"BundledSQLiteKt
" إلى "BundledSQLite
". (I8b501)
الإصدار 2.5.0-alpha04
12 يونيو 2024
تم طرح androidx.sqlite:sqlite-*:2.5.0-alpha04
. يحتوي الإصدار 2.5.0-alpha04 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة واجهة برمجة تطبيقات خاصة بالتحميل الزائد في
open()
إلىBundledSQLiteDriver
لتمرير العلامات المفتوحة عند فتح اتصال قاعدة بيانات. يكون هذا الخيار مفيدًا لفتح قاعدة بيانات في وضع القراءة فقط أو استخدام الوضع الآمن لسلسلة المحادثات المتسلسلة بدلاً من وضع SQLite في وضع متعدد السلاسل (b/340949940).
إصلاح الأخطاء
- تم إصلاح مشكلة في الربط في "برنامج تشغيل SQLite المضمّن" الذي قد يؤدي إلى استدعاء
UnsatisfiedLinkError
بسبب عدم توفّر الرموز الذرية في أجهزة Android المزوّدة بمعالج ARM32. (b/341639198) - تم إصلاح مشكلة في برامج التشغيل حيث يؤدي ربط صفيفة بايت ذات طول صفري في عمود إلى قيمة فارغة عند القراءة منه.
الإصدار 2.5.0-alpha03
29 مايو 2024
تم طرح androidx.sqlite:sqlite-*:2.5.0-alpha03
. يحتوي الإصدار 2.5.0-alpha03 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- حل مشكلة في
BundledSQLiteDriver
حيث ستحتوي قواعد البيانات التي تم إنشاؤها باستخدامها على حرف إنهاء C فارغ. (b/340822359)
الإصدار 2.5.0-alpha02
14 مايو 2024
تم طرح androidx.sqlite:sqlite-*:2.5.0-alpha02
بدون تغييرات كبيرة منذ الإصدار 2.5.0-alpha01 . يحتوي الإصدار 2.5.0-alpha02 على عمليات التنفيذ هذه.
الإصدار 2.5.0-alpha01
1 مايو 2024
تم طرح androidx.sqlite:sqlite-*:2.5.0-alpha01
. يحتوي الإصدار 2.5.0-alpha01 على عمليات التنفيذ هذه.
الميزات الجديدة
- دعم Kotlin متعدد الأنظمة الأساسية (KMP): مع إصدار الغرفة 2.7.0-alpha01 الذي يُعد الإصدار الأول من KMP في الغرفة، تم أيضًا تحديث واجهات برمجة تطبيقات
SQLite
التي تُتيح الغرفة لتكون KMP. تحتوي الحزمةandriodx.sqlite
على ثلاث واجهات تحدِّد واجهات برمجة تطبيقات SQLite منخفضة المستوى:SQLiteDriver
وSQLiteConnection
وSQLiteStatement
. يوفّر العنصرandroidx.sqlite:sqlite-framework
إمكانية تنفيذ واجهتَي Android وiOS محليًا، بينما يوفّرandroidx.sqlite:sqlite-bundled
طريقة تنفيذ تستخدمSQLite
التي يتم جمعها من المصدر (تُعرف أيضًا باسم "لغة SQLite المجمّعة"). لمزيد من المعلومات حول SQLite Driver API، يمكنك الاطّلاع على مستندات SQLite KMP الرسمية.
الإصدار 2.4
الإصدار
18 تشرين الأول (أكتوبر) 2023
تم طرح الإصدارات androidx.sqlite:sqlite:2.4.0
وandroidx.sqlite:sqlite-framework:2.4.0
وandroidx.sqlite:sqlite-ktx:2.4.0
. يحتوي الإصدار 2.4.0 على عمليات الالتزام هذه.
تغييرات مهمة منذ الإصدار 2.3.0
- تمت إضافة إصلاحات أخطاء مختلفة.
الإصدار 2.4.0-rc01
20 أيلول (سبتمبر) 2023
تم طرح الإصدارات androidx.sqlite:sqlite:2.4.0-rc01
وandroidx.sqlite:sqlite-framework:2.4.0-rc01
وandroidx.sqlite:sqlite-ktx:2.4.0-rc01
. يحتوي الإصدار 2.4.0-rc01 على هذه عمليات التنفيذ.
الإصدار 2.4.0-beta01
23 آب (أغسطس) 2023
تم طرح الإصدارات androidx.sqlite:sqlite:2.4.0-beta01
وandroidx.sqlite:sqlite-framework:2.4.0-beta01
وandroidx.sqlite:sqlite-ktx:2.4.0-beta01
. يحتوي الإصدار 2.4.0-beta01 على هذه الالتزامات.
الإصدار 2.4.0-alpha03
9 آب (أغسطس) 2023
تم طرح الإصدارات androidx.sqlite:sqlite:2.4.0-alpha03
وandroidx.sqlite:sqlite-framework:2.4.0-alpha03
وandroidx.sqlite:sqlite-ktx:2.4.0-alpha03
. يحتوي الإصدار 2.4.0-alpha03 على هذه عمليات التنفيذ.
الإصدار 2.4.0-alpha02
21 حزيران (يونيو) 2023
تم طرح ميزات androidx.sqlite:sqlite:2.4.0-alpha02
وandroidx.sqlite:sqlite-framework:2.4.0-alpha02
وandroidx.sqlite:sqlite-ktx:2.4.0-alpha02
بدون أي تغييرات. يحتوي الإصدار 2.4.0-alpha02 على هذه عمليات التنفيذ.
الإصدار 2.4.0-alpha01
22 آذار (مارس) 2023
تم طرح الإصدارات androidx.sqlite:sqlite:2.4.0-alpha01
وandroidx.sqlite:sqlite-framework:2.4.0-alpha01
وandroidx.sqlite:sqlite-ktx:2.4.0-alpha01
. يحتوي الإصدار 2.4.0-alpha01 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- تم إصلاح خطأ
NullPointerException
يمكن أن يحدث فيSupportSQLiteQueryBuilder
. (5df8698)
الإصدار 2.3.1
الإصدار 2.3.1
22 آذار (مارس) 2023
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.1
وandroidx.sqlite:sqlite-framework:2.3.1
وandroidx.sqlite:sqlite-ktx:2.3.1
. يحتوي الإصدار 2.3.1 على هذه الالتزامات.
إصلاح الأخطاء
- تجنَّب مشكلة في إطار العمل، حيث لا يتم إيقاف طلبات بحث SQL بعد تغيير المخطط أثناء عمليات نقل البيانات. سيضبط
FrameworkSupportSQLiteOpenHelper
الآن الحد الأدنى من ذاكرة التخزين المؤقت لعبارة SQL أثناء عمليات نقل البيانات لتجنُّب المشكلة. (0ad2a8f) - تم إصلاح المشكلة المتمثلة في عدم توفُّر دليل ذاكرة التخزين المؤقت للاستخدام مع
SupportSQLiteLock
، وبالتالي يجب التعامل مع الملف الفارغ بشكل مناسب. (9d177dc) - تم إصلاح المشكلة المتمثلة في عدم عرض
attachedDbs
للقائمة الكاملة لقواعد البيانات المرفقة. (5f008e1)
الإصدار 2.3.0
الإصدار 2.3.0
11 كانون الثاني (يناير) 2023
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.0
وandroidx.sqlite:sqlite-framework:2.3.0
وandroidx.sqlite:sqlite-ktx:2.3.0
. يحتوي الإصدار 2.3.0 على هذه الالتزامات.
تغييرات مهمة منذ الإصدار 2.2.0
- تم تحويل مصادر مجموعة المكتبة
androidx.sqlite
من Java إلى Kotlin. يُرجى العلم أنّه بسبب عدم توفُّر بعض التعليقات التوضيحية للقيم الفارغة فيandroidx.sqlite
، قد تظهر أخطاء عدم توافق المصدر إذا كانت المستندات المصدر بلغة Kotlin وكانت تستنتج الرمز البرمجي قيمة غير صحيحة للقابلية الفارغة. علاوة على ذلك، تم تحويل بعض طرق الحصول على البيانات إلى خصائص تتطلب بنية الوصول إلى الخصائص في ملفات Kotlin. يُرجى الإبلاغ عن الخطأ إذا كان هناك أي حالات عدم توافق كبيرة. (b/240707042) - أضِف واجهة برمجة تطبيقات في إعدادات
SupportSQLite's
للسماح بفقدان البيانات أثناء آلية الاسترداد. (I1b830، b/215592732) - تمت إضافة واجهة برمجة تطبيقات للقفل والاستخدام المتعدد العمليات على مستوى
FrameworkSQLite*
، وذلك لحماية عملية إنشاء قاعدة البيانات ونقلها عند إجراء عمليات متعدّدة. (Ied267، b/193182592)
الإصدار 2.3.0-rc01
7 كانون الأول (ديسمبر) 2022
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.0-rc01
وandroidx.sqlite:sqlite-framework:2.3.0-rc01
وandroidx.sqlite:sqlite-ktx:2.3.0-rc01
. يحتوي الإصدار 2.3.0-rc01 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- حل مشكلة NPE في
SupportSQLiteQueryBuilder
للأعمدة القابلة للقيم الفارغة. (Ica8f5)
الإصدار 2.3.0-beta02
9 تشرين الثاني (نوفمبر) 2022
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.0-beta02
وandroidx.sqlite:sqlite-framework:2.3.0-beta02
وandroidx.sqlite:sqlite-ktx:2.3.0-beta02
. يحتوي الإصدار 2.3.0-beta02 على عمليات التنفيذ هذه.
- يمكنك إصلاح واجهات برمجة تطبيقات مختلفة تستخدم وسيطات طلب البحث من قيمة ثابتة (
Array<Any?>
) إلى قيم متباينة (Array<out Any?>
) لمطابقة سلوك مصفوفة Java. (b/253531073)
الإصدار 2.3.0-beta01
5 تشرين الأول (أكتوبر) 2022
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.0-beta01
وandroidx.sqlite:sqlite-framework:2.3.0-beta01
وandroidx.sqlite:sqlite-ktx:2.3.0-beta01
. يحتوي الإصدار 2.3.0-beta01 على هذه الالتزامات.
التغييرات في واجهة برمجة التطبيقات
- تم تحويل جميع مصادر android.sqlite من Java إلى لغة Kotlin. b/240707042
- من بين التغييرات البارزة في الإحالة الناجحة أنّ دوال التلقي التالية أصبحت خصائص:
- في
SupportSQLiteDatabase
: attachedDbs
isDatabaseIntegrityOk
isDbLockedByCurrentThread
isOpen
isReadOnly
isWriteAheadLoggingEnabled
maximumSize
pageSize
path
version
- في
SupportSQLiteOpenHelper
: databaseName
readableDatabase
writableDatabase
- في
الإصدار 2.3.0-alpha05
24 آب (أغسطس) 2022
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.0-alpha05
وandroidx.sqlite:sqlite-framework:2.3.0-alpha05
وandroidx.sqlite:sqlite-ktx:2.3.0-alpha05
. يحتوي الإصدار 2.3.0-alpha05 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تم تحويل مصادر مجموعة المكتبة androidx.sqlite من Java إلى لغة Kotlin. يُرجى العلم أنّه بسبب عدم توفُّر بعض التعليقات التوضيحية للقيم الفارغة في androidx.sqlite، قد تظهر أخطاء عدم توافق المصدر إذا كانت المستندات المصدر بلغة Kotlin وكانت تستنتج الرمز البرمجي قيمة غير صحيحة لقابلية القيم الفارغة. يُرجى الإبلاغ عن الخطأ إذا كان هناك أي عدم توافق ملحوظ. (b/240707042)
الإصدار 2.3.0-alpha04
10 آب (أغسطس) 2022
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.0-alpha04
وandroidx.sqlite:sqlite-framework:2.3.0-alpha04
وandroidx.sqlite:sqlite-ktx:2.3.0-alpha04
. يحتوي الإصدار 2.3.0-alpha04 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تم تعديل إمكانية قبول القيم الفارغة (I29fbd)
الإصدار 2.3.0-alpha03
1 حزيران (يونيو) 2022
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.0-alpha03
وandroidx.sqlite:sqlite-framework:2.3.0-alpha03
وandroidx.sqlite:sqlite-ktx:2.3.0-alpha03
. يحتوي الإصدار 2.3.0-alpha03 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- جعل
androidx.sqlite.ProcessLock
محظورًا يتم تحديد نطاق واجهة برمجة التطبيقات وتقتصر على وظيفتها ضمنandroidx.sqlite
، ويجب عدم استخدامها كقفل متعدد العمليات للأغراض العامة. (I1643f)
الإصدار 2.3.0-alpha02
6 نيسان (أبريل) 2022
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.0-alpha02
وandroidx.sqlite:sqlite-framework:2.3.0-alpha02
وandroidx.sqlite:sqlite-ktx:2.3.0-alpha02
. يحتوي الإصدار 2.3.0-alpha02 على هذه عمليات التنفيذ.
- لم تطرأ تغييرات مهمة منذ الإصدار 2.3.0-alpha01
الإصدار 2.3.0-alpha01
23 شباط (فبراير) 2022
تم طرح الإصدارات androidx.sqlite:sqlite:2.3.0-alpha01
وandroidx.sqlite:sqlite-framework:2.3.0-alpha01
وandroidx.sqlite:sqlite-ktx:2.3.0-alpha01
. يحتوي الإصدار 2.3.0-alpha01 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- أضِف واجهة برمجة تطبيقات في إعداد SupportSQLite للسماح بفقدان البيانات أثناء آلية الاسترداد. (I1b830، b/215592732)
- تمت إضافة واجهة برمجة تطبيقات للقفل والاستخدام على مستوى إطار عمل SQLite* متعدد العمليات، وذلك لحماية عملية إنشاء قاعدة البيانات ونقلها بعد إجراء عمليات متعددة. (Ied267، b/193182592)
الإصدار 2.2.0
الإصدار 2.2.0
15 كانون الأول (ديسمبر) 2021
تم طرح الإصدارات androidx.sqlite:sqlite:2.2.0
وandroidx.sqlite:sqlite-framework:2.2.0
وandroidx.sqlite:sqlite-ktx:2.2.0
. يحتوي الإصدار 2.2.0 على هذه الالتزامات.
تغييرات مهمة منذ الإصدار 2.1.0
إضافة الطريقة التلقائية لـ execPerConnectionSQL()
في SupportSQLiteDatabase
الإصدار 2.2.0-rc01
1 كانون الأول (ديسمبر) 2021
تم طرح الإصدارات androidx.sqlite:sqlite:2.2.0-rc01
وandroidx.sqlite:sqlite-framework:2.2.0-rc01
وandroidx.sqlite:sqlite-ktx:2.2.0-rc01
. يحتوي الإصدار 2.2.0-rc01 على هذه عمليات التنفيذ.
لم تطرأ أي تغييرات مهمة منذ الإصدار 2.2.0-beta01.
الإصدار 2.2.0-beta01
13 تشرين الأول (أكتوبر) 2021
تم طرح الإصدارات androidx.sqlite:sqlite:2.2.0-beta01
وandroidx.sqlite:sqlite-framework:2.2.0-beta01
وandroidx.sqlite:sqlite-ktx:2.2.0-beta01
. يحتوي الإصدار 2.2.0-beta01 على هذه الالتزامات.
- ما مِن تغييرات عن الإصدار الأولي السابق.
الإصدار 2.2.0-alpha02
21 يوليو 2021
تم طرح الإصدارات androidx.sqlite:sqlite:2.2.0-alpha02
وandroidx.sqlite:sqlite-framework:2.2.0-alpha02
وandroidx.sqlite:sqlite-ktx:2.2.0-alpha02
. يحتوي الإصدار 2.2.0-alpha02 على هذه عمليات التنفيذ.
لم تطرأ تغييرات مهمة منذ الإصدار 2.2.0-alpha01. هذا الإصدار ليتوافق فقط مع إصدار الغرفة 2.4.0-alpha04
.
الإصدار 2.2.0-alpha01
16 حزيران (يونيو) 2021
تم طرح الإصدارات androidx.sqlite:sqlite:2.2.0-alpha01
وandroidx.sqlite:sqlite-framework:2.2.0-alpha01
وandroidx.sqlite:sqlite-ktx:2.2.0-alpha01
. يحتوي الإصدار 2.2.0-alpha01 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- إضافة طريقة تلقائية لـ
execPerConnectionSQL()
في SupportSQLiteDatabase (I86326، b/172270145)
الإصدار
الإصدار
22 كانون الثاني (يناير) 2020
تم طرح ميزات androidx.sqlite:sqlite:2.1.0
وandroidx.sqlite:sqlite-framework:2.1.0
وandroidx.sqlite:sqlite-ktx:2.1.0
بدون أي تغييرات منذ 2.1.0-rc01
. يحتوي الإصدار 2.1.0 على عمليات التنفيذ هذه.
تغييرات مهمة منذ الإصدار 2.0.1
- دعم
useNoBackupDirectory
الذي يمكن استخدامه للإشارة إلى أنه يجب إنشاء قاعدة البيانات في دليل عدم وجود نسخ احتياطي عند استخدامSupportSQLiteOpenHelper
.
الإصدار 2.1.0-rc01
8 كانون الثاني (يناير) 2020
تم طرح androidx.sqlite:sqlite-*:2.1.0-rc01
. يحتوي الإصدار 2.1.0-rc01 على هذه عمليات التنفيذ.
هذا الإصدار مماثل لـ 2.1.0-beta01
.
الإصدار 2.1.0-beta01
4 كانون الأول (ديسمبر) 2019
تم طرح ميزات androidx.sqlite:sqlite:2.1.0-beta01
وandroidx.sqlite:sqlite-framework:2.1.0-beta01
وandroidx.sqlite:sqlite-ktx:2.1.0-beta01
بدون أي تغييرات منذ 2.1.0-alpha01
. يحتوي الإصدار 2.1.0-beta01 على هذه الالتزامات.
الإصدار 2.1.0-alpha01
7 تشرين الثاني (نوفمبر) 2019
تم طرح الإصدارات androidx.sqlite:sqlite:2.1.0-alpha01
وandroidx.sqlite:sqlite-framework:2.1.0-alpha01
وandroidx.sqlite:sqlite-ktx:2.1.0-alpha01
. يحتوي الإصدار 2.1.0-alpha01 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة سمة جديدة إلى
SupportSQLiteOpenHelper.Configuration
باسمuseNoBackupDirectory
للإشارة إلى أنّه يجب إنشاء قاعدة بيانات مستندة إلى الملف وتحديد موقعها من دليل "بدون نسخة احتياطية".
الإصدار 2.0.1
الإصدار 2.0.1
13 آذار (مارس) 2019
تم طرح الإصدار 2.0.1 من مجموعة العناصر "androidx.sqlite
" مع إصلاحين للأخطاء.
إصلاح الأخطاء
- تم إصلاح مشكلتين كانت تعذُّر استرداد
FrameworkSQLiteOpenHelper
بشكل صحيح من قاعدة بيانات تالفة أو عملية نقل بيانات غير صالحة أثناء الإعداد. (b/111504749 وb/111519144)