ריבוע

הספרייה androidx.sqlite כוללת ממשקים מופשטים וגם ממשקים בסיסיים שבהם אפשר להשתמש כדי ליצור ספריות משלכם, SQLite.

כדאי לשקול להשתמש חדר, שמספקת ב-SQLite, כדי לאפשר גישה יעילה יותר למסדי נתונים ומנצלים את העוצמה של SQLite.

העדכון האחרון גרסה יציבה מועמד לגרסה גרסת בטא גרסת אלפא
7 באוגוסט 2024 2.4.0 - - 2.5.0-alpha06

הצהרה על יחסי תלות

כדי להוסיף תלות ב-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")
}

למידע נוסף על יחסי תלות, אפשר לעיין במאמר הוספת יחסי תלות של build.

משוב

המשוב שלך עוזר לנו לשפר את Jetpack. נשמח לשמוע אם גילית בעיות חדשות או אם יש לך רעיונות לשיפור הספרייה הזו. מומלץ לעיין בעיות קיימות בספרייה הזו לפני שיוצרים ספר חדש. אפשר להוסיף את ההצבעה שלך לבעיה קיימת על ידי לחיצה על לחצן הכוכב.

דיווח על בעיה חדשה

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

גרסה 2.5

גרסה 2.5.0-alpha06

7 באוגוסט 2024

androidx.sqlite:sqlite-*:2.5.0-alpha06 משוחרר. גרסה 2.5.0-alpha06 מכילה את התחייבויות אלה.

תכונות חדשות

  • הוספת תמיכה עבור linuxArm64 Kotlin Multiplatform target (I139d3, b/338268719)

גרסה 2.5.0-alpha05

10 ביולי 2024

androidx.sqlite:sqlite-*:2.5.0-alpha05 משוחרר. גרסה 2.5.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • השם של SQLiteKt השתנה ל-SQLite. השם של BundledSQLiteKt השתנה ל-BundledSQLite. I8b501

גרסה 2.5.0-alpha04

12 ביוני 2024

androidx.sqlite:sqlite-*:2.5.0-alpha04 משוחרר. גרסה 2.5.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף API של עומס יתר open() ל-BundledSQLiteDriver כדי להעביר דגלים פתוחים כשפותחים חיבור של מסד נתונים. שימושי לפתיחת מסד נתונים במצב קריאה בלבד או לשימוש במצב בטוח של שרשורים במקום במצב ריבוי שרשורים הכלול בחבילה באמצעות SQLite (b/340949940).

תיקוני באגים

  • תוקנה בעיית קישור במנהל ההתקן של SQLite שכלול בחבילה, שגרמה להשלכה של UnsatisfiedLinkError עקב סמלים אטומיים חסרים במכשירי Android עם ARM32. (b/341639198)
  • תוקנה בעיה במנהלי ההתקנים שבמסגרתה קישור של מערך בייטים באורך אפס לעמודה יוביל לערך null בקריאה ממנה.

גרסה 2.5.0-alpha03

29 במאי 2024

androidx.sqlite:sqlite-*:2.5.0-alpha03 משוחרר. גרסה 2.5.0-alpha03 מכילה את התחייבויות אלה.

תיקוני באגים

  • תיקון בעיה ב-BundledSQLiteDriver, שבה מסדי נתונים שנוצרו באמצעותו מכילים את תו הסיום ה-N null 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 Native, ואילו ב-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 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • להימנע מבעיית framework שבה שאילתות 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 חסרות הערות לגבי תכונת ה-null, יכול להיות שיהיו שגיאות של חוסר תאימות של המקור אם המקורות שלך נמצאים ב-Kotlin והקוד הסיק שיכולת ה-null שגויה. בנוסף, שיטות מסוימות של getter הומרו למאפיינים שמחייבים את תחביר הגישה למאפיין בקובצי 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 מכילה את שמירות האלה.

תיקוני באגים

  • פתרון בעיה שקשורה ל-NPE ב-SupportSQLiteQueryBuilder לגבי עמודות שמאפשרות null. (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?>) לניגודיות (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 מכילה את התחייבויות אלה.

שינויים ב-API

  • כל מקורות 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 מכילה את התחייבויות אלה.

שינויים ב-API

  • המקורות של קבוצת הספריות androidx.sqlite הומרו מ-Java ל-Kotlin. חשוב לדעת שמכיוון שב-androidx.sqlite חסרות הערות לגבי אובייקט null, יכול להיות שיהיו שגיאות של חוסר תאימות של המקור אם המקורות שלכם נמצאים ב-Kotlin והקוד הסיק מצב null שגוי. אם יש חוסר תאימות משמעותי, צריך לדווח על באג. (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 מכילה את התחייבויות אלה.

שינויים ב-API

  • יכולת null מעודכנת (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 מכילה את התחייבויות אלה.

שינויים ב-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 מכילה את התחייבויות אלה.

  • לא בוצעו שינויים משמעותיים מאז 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 מכילה את התחייבויות אלה.

שינויים ב-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 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 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 מכילה את התחייבויות אלה.

שינויים ב-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 כוללת את ההתחייבויות האלה.

שינויים חשובים מאז 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 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף מאפיין חדש ל-SupportSQLiteOpenHelper.Configuration בשם useNoBackupDirectory כדי לציין שצריך ליצור מסד נתונים מבוסס קבצים ולאתר אותו בספריית גיבוי.

גרסה 2.0.1

גרסה 2.0.1

13 במרץ 2019

גרסה 2.0.1 של קבוצת פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) של androidx.sqlite מופצת עם שני תיקוני באגים.

תיקוני באגים

  • תוקנו שתי בעיות שבהן FrameworkSQLiteOpenHelper לא התאושש כמו שצריך ממסד נתונים פגום או מהעברה לא טובה במהלך האתחול. (b/111504749 ו-b/111519144)