Sqlite

کتابخانه androidx.sqlite شامل رابط های انتزاعی به همراه پیاده سازی های اساسی است که می تواند برای ساخت کتابخانه های خود که به SQLite دسترسی دارند استفاده شود.

ممکن است بخواهید از کتابخانه Room استفاده کنید، که یک لایه انتزاعی را بر روی SQLite فراهم می کند تا امکان دسترسی قوی تر به پایگاه داده و در عین حال استفاده از قدرت کامل SQLite را فراهم کند.

آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
21 آگوست 2024 2.4.0 - - 2.5.0-alpha07

اعلام وابستگی ها

برای افزودن وابستگی به 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"
}

کاتلین

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 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی از Linux ARM 64 را در اهداف JVM / Desktop اضافه کنید. ( b/358045505 )

نسخه 2.5.0-alpha06

7 آگوست 2024

androidx.sqlite:sqlite-*:2.5.0-alpha06 منتشر شد. نسخه 2.5.0-alpha06 حاوی این commit ها است.

ویژگی های جدید

  • افزودن پشتیبانی برای هدف چند پلتفرمی linuxArm64 Kotlin ( I139d3 , b/338268719 )

نسخه 2.5.0-alpha05

10 جولای 2024

androidx.sqlite:sqlite-*:2.5.0-alpha05 منتشر شد. نسخه 2.5.0-alpha05 حاوی این commit ها است.

تغییرات API

  • SQLiteKt به SQLite و BundledSQLiteKt به BundledSQLite تغییر نام داد. ( I8b501 )

نسخه 2.5.0-alpha04

12 ژوئن 2024

androidx.sqlite:sqlite-*:2.5.0-alpha04 منتشر شد. نسخه 2.5.0-alpha04 حاوی این commit ها است.

تغییرات API

  • API اضافه بار open() را به BundledSQLiteDriver اضافه کرد تا هنگام باز کردن اتصال پایگاه داده، پرچم‌های باز را ارسال کند. مفید برای باز کردن یک پایگاه داده در حالت فقط خواندنی یا استفاده از حالت ایمن رشته سریالی به جای حالت چند رشته ای همراه SQLite که با ( b/340949940 ) کامپایل شده است.

رفع اشکال

  • مشکل پیوند در درایور SQLite Bundled که باعث ایجاد UnsatisfiedLinkError به دلیل گم شدن نمادهای اتمی در دستگاه‌های Android دارای ARM32 می‌شد، برطرف شد. ( b/341639198 )
  • مشکلی در درایورها برطرف شد که در آن اتصال یک آرایه بایت با طول صفر به یک ستون منجر به یک مقدار تهی هنگام خواندن از آن می شد.

نسخه 2.5.0-alpha03

29 مه 2024

androidx.sqlite:sqlite-*:2.5.0-alpha03 منتشر شد. نسخه 2.5.0-alpha03 حاوی این commit ها است.

رفع اشکال

  • مشکلی را در 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) : با انتشار Room 2.7.0-alpha01 که اولین نسخه از Room KMP است، APIهای SQLite که اتاق را به KMP امکان می دهد نیز به روز شده اند. بسته andriodx.sqlite شامل سه رابط است که API های سطح پایین SQLite را تعریف می کنند: SQLiteDriver ، SQLiteConnection و SQLiteStatement . artifact 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 حاوی این commit ها است.

تغییرات مهم از 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 حاوی این commit ها است.

نسخه 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 حاوی این commit ها است.

نسخه 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 حاوی این commit ها است.

نسخه 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 حاوی این commit ها است.

رفع اشکال

  • رفع یک 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 حاوی این commit ها است.

رفع اشکال

  • از یک مشکل چارچوب که در آن پرس و جوهای 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 حاوی این commit ها است.

تغییرات مهم از 2.2.0

  • گروه کتابخانه منابع androidx.sqlite از جاوا به کاتلین تبدیل شده است. توجه داشته باشید که از آنجایی که androidx.sqlite دارای برخی از حاشیه‌نویسی‌های تهی نبوده است، اگر منابع شما در Kotlin هستند و کد خطاپذیری اشتباه را استنباط می‌کند، ممکن است با خطاهای ناسازگاری منبع مواجه شوید. علاوه بر این، برخی از روش‌های دریافت‌کننده به ویژگی‌هایی تبدیل شدند که به نحو دسترسی به ویژگی در فایل‌های Kotlin نیاز دارند. لطفاً در صورت وجود هرگونه ناسازگاری قابل توجه، یک اشکال را ثبت کنید. ( b/240707042 )
  • یک API را در پیکربندی SupportSQLite's اضافه کنید تا امکان از دست دادن اطلاعات در طول مکانیسم بازیابی فراهم شود. ( I1b830 , b/215592732 )
  • API اضافه شده برای قفل چند فرآیندی و استفاده در سطح 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 حاوی این commit ها است.

رفع اشکال

  • حل مشکل NPE در SupportSQLiteQueryBuilder برای ستون های nullable. ( 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 حاوی این تعهدات است.

  • API های مختلفی را که آرگومان های پرس و جو را از ثابت ( Array<Any?> ) به contravariant ( Array<out Any?> ) می گیرند تا با رفتار آرایه جاوا مطابقت داشته باشد، رفع کنید. ( 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 حاوی این تعهدات است.

تغییرات API

  • همه منابع android.sqlite از جاوا به کاتلین تبدیل شده اند. 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 حاوی این commit ها است.

تغییرات API

  • گروه کتابخانه منابع androidx.sqlite از جاوا به کاتلین تبدیل شده است. توجه داشته باشید که از آنجایی که 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 حاوی این commit ها است.

تغییرات API

  • پوچ پذیری به روز شده ( 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 حاوی این commit ها است.

تغییرات API

  • androidx.sqlite.ProcessLock را محدود کنید. API محدوده و محدود به عملکرد آن در 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 حاوی این commit ها است.

  • هیچ تغییر قابل توجهی از 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 حاوی این commit ها است.

تغییرات API

  • یک API را در پیکربندی SupportSQLite اضافه کنید تا امکان از دست دادن اطلاعات در طول مکانیسم بازیابی فراهم شود. ( I1b830 , b/215592732 )
  • API اضافه شده برای قفل چند فرآیندی و استفاده در سطح FrameworkSQLite*، برای محافظت از ایجاد پایگاه داده و مهاجرت در اولین بار در چند فرآیند. ( 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 حاوی این commit ها است.

تغییرات مهم از 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 حاوی این commit ها است.

هیچ تغییر قابل توجهی از 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 حاوی این commit ها است.

هیچ تغییر قابل توجهی از 2.2.0-alpha01 وجود ندارد. این نسخه فقط برای همسویی با نسخه Room 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 حاوی این commit ها است.

تغییرات API

  • روش پیش‌فرض را برای 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 شامل این commit ها است .

تغییرات مهم از 2.0.1

  • پشتیبانی از useNoBackupDirectory که می تواند برای نشان دادن اینکه پایگاه داده باید در دایرکتوری بدون پشتیبان در هنگام استفاده از SupportSQLiteOpenHelper ایجاد شود استفاده شود.

نسخه 2.1.0-rc01

8 ژانویه 2020

androidx.sqlite:sqlite-*:2.1.0-rc01 منتشر شد. نسخه 2.1.0-rc01 حاوی این commit ها است .

این نسخه مشابه نسخه 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-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 حاوی این تعهدات است .

API تغییر می کند

  • یک ویژگی جدید به SupportSQLiteOpenHelper.Configuration به نام useNoBackupDirectory اضافه کرد تا نشان دهد که یک پایگاه داده مبتنی بر فایل باید از دایرکتوری بدون پشتیبان ایجاد و قرار گیرد.

نسخه 2.0.1

نسخه 2.0.1

13 مارس 2019

نسخه 2.0.1 گروه artifact androidx.sqlite با دو رفع اشکال منتشر شد.

رفع اشکال

  • دو مشکل که در آن FrameworkSQLiteOpenHelper به درستی از یک پایگاه داده خراب یا یک مهاجرت بد در طول اولیه سازی بازیابی نمی شود، رفع شد. ( b/111504749 and b/111519144 )