سكوليت
androidx.sqlite
على واجهات مجردة إلى جانب تطبيقات أساسية يمكن استخدامها لإنشاء مكتباتك الخاصة التي يمكنها الوصول إلى SQLite.
ننصحك باستخدام مكتبة Room، التي توفّر طبقة تجريد عبر SQLite للسماح بالوصول إلى قاعدة بيانات أكثر فعالية مع الاستفادة من القوة الكاملة لـ SQLite.
التعديل الأخير | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | إصدار ألفا |
---|---|---|---|---|
1 أيار (مايو) 2024 | 2.4.0 | - | - | الإصدار 2.5.0 -alpha01 |
إعلان التبعيات
لإضافة تبعية إلى SQLite، يجب إضافة مستودع Google Maven إلى مشروعك. لمزيد من المعلومات، يمكنك الاطّلاع على مستودع Maven من Google.
أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle
لتطبيقك أو الوحدة الخاصة بك:
رائع
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-alpha01
1 أيار (مايو) 2024
تم طرح "androidx.sqlite:sqlite-*:2.5.0-alpha01
". يحتوي الإصدار 2.5.0-alpha01 على هذه الالتزامات.
الميزات الجديدة
- دعم Kotlin Multi-Platform (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
الإصدار 2.4.0
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 وكان الرمز البرمجي يستنتج خطأ غير صحيح في القيم الفارغة. علاوة على ذلك، تم تحويل بعض طرق getter إلى خصائص تتطلب بنية الوصول إلى الخاصية في ملفات 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
- من بين التغييرات الملحوظة في الإحالة الناجحة أنّ دوال getter التالية أصبحت سمات:
- بعد
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)
- تمت إضافة واجهة برمجة التطبيقات لقفل وعمليات استخدام متعددة العمليات على مستوى *FrameSQLite* لحماية إنشاء قاعدة بيانات متعددة العمليات ونقلها للمرة الأولى. (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 إلى الإصدار التجريبي 01.
الإصدار 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)
الإصدار 2.1.0
الإصدار 2.1.0
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)