لغة الاستعلامات البنيوية (Sqlite)

تحتوي مكتبة androidx.sqlite على واجهات مجردة إلى جانب عمليات تنفيذ أساسية يمكن استخدامها لإنشاء مكتبات خاصة بك يمكنها الوصول إلى SQLite.

قد ترغب في التفكير في استخدام مكتبة Room، التي توفر طبقة تجريدية على SQLite للسماح بوصول أكثر فعالية إلى قاعدة البيانات مع الاستفادة من الإمكانيات الكاملة لـ SQLite.

التعديل الأخير الإصدار المستقر سحب المرشح الإصدار التجريبي إصدار أولي
10 يوليو 2024 2.4.0 - - 2.5.0-alpha05

إعلان التبعيات

لإضافة تبعية على 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-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 على عمليات التنفيذ هذه.

الميزات الجديدة

  • إتاحة التوافق مع الأنظمة الأساسية المتعددة المنصات (KMP) من Kotlin: مع إصدار الغرفة 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، يمكنك الاطّلاع على مستندات 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)