سكوليت

تحتوي مكتبة 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)