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
. artifactandroidx.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 )