DataStore
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסה אלפא |
---|---|---|---|---|
26 בפברואר 2025 | 1.1.3 | - | - | - |
הצהרת יחסי תלות
כדי להוסיף יחסי תלות ל-DataStore, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.
יש שתי הטמעות של DataStore: Preferences ו-Proto. בוחרים באחת מהאפשרויות. אפשר גם להוסיף יחסי תלות ללא Android לכל אחת מההטמעות.
מוסיפים את יחסי התלות של ההטמעה הנדרשת בקובץ build.gradle
של האפליקציה או המודול:
Preferences DataStore
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation "androidx.datastore:datastore-preferences:1.1.2" // optional - RxJava2 support implementation "androidx.datastore:datastore-preferences-rxjava2:1.1.2" // optional - RxJava3 support implementation "androidx.datastore:datastore-preferences-rxjava3:1.1.2" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-preferences-core:1.1.2" }
// Preferences DataStore (SharedPreferences like APIs) dependencies { implementation("androidx.datastore:datastore-preferences:1.1.2") // optional - RxJava2 support implementation("androidx.datastore:datastore-preferences-rxjava2:1.1.2") // optional - RxJava3 support implementation("androidx.datastore:datastore-preferences-rxjava3:1.1.2") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-preferences-core:1.1.2") }
Proto DataStore
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation "androidx.datastore:datastore:1.1.2" // optional - RxJava2 support implementation "androidx.datastore:datastore-rxjava2:1.1.2" // optional - RxJava3 support implementation "androidx.datastore:datastore-rxjava3:1.1.2" } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation "androidx.datastore:datastore-core:1.1.2" }
// Typed DataStore (Typed API surface, such as Proto) dependencies { implementation("androidx.datastore:datastore:1.1.2") // optional - RxJava2 support implementation("androidx.datastore:datastore-rxjava2:1.1.2") // optional - RxJava3 support implementation("androidx.datastore:datastore-rxjava3:1.1.2") } // Alternatively - use the following artifact without an Android dependency. dependencies { implementation("androidx.datastore:datastore-core:1.1.2") }
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במסמכי התיעוד של Issue Tracker.
גרסה 1.1
גרסה 1.1.3
26 בפברואר 2025
androidx.datastore:datastore-*:1.1.3
משוחרר. גרסת 1.1.3 מכילה את ההוספות האלה.
תיקוני באגים
- נפתרה בעיה ב-
FileNotFoundException
ב-OkioStorage
שנתקלה בהפעלת האפליקציה. אם ניסיון הקריאה הראשוני של הקובץ נכשל, יתבצע ניסיון שני למקרה שהתרחש מצב מרוץ (race condition) בגלל שהקובץ נוצר על ידי תהליך אחר במהלך הקריאה הראשונית. (I43b3f, b/337870543)
גרסה 1.1.2
15 בינואר 2025
androidx.datastore:datastore-*:1.1.2
משוחרר. גרסה 1.1.2 מכילה את ההוספות האלה.
תיקוני באגים
- שיפור של פי 8 בזמן האחזור של קריאה מהירה (
DataStore.data.first()
). (22b8a40) - אפשר ליצור את
ReplaceFileCorruptionHandler
מקוד משותף של KMP. (7632e839)
גרסה 1.1.1
1 במאי 2024
androidx.datastore:datastore-*:1.1.1
משוחרר. גרסה 1.1.1 מכילה את ההוספות האלה.
תיקוני באגים
- ביטול התראות שווא ב-Linux על השגיאה 'Resource deadlock would occur' במקרה קיצוני שבו כמה מכונות
DataStore
מנסו לכתוב מתהליכים שונים על ידי ביטול הנעילה של הקובץ.
גרסה 1.1.0
17 באפריל 2024
androidx.datastore:datastore-*:1.1.0
משוחרר. גרסת 1.1.0 כוללת את ההוספות האלה.
שינויים משמעותיים מאז הגרסה 1.0.0
מידע נוסף זמין בהערות המוצר לגרסאות האלפא והבטא של 1.1.0. חלק מהעדכונים העיקריים בגרסה 1.1.0 הם:
- DataStore תומך עכשיו בכמה תהליכים שיכולים לגשת לאותו קובץ, עם תמיכה ביכולת התצפית על פני תהליכים.
- ממשק האחסון החדש מאפשר לכם להתאים אישית את האופן שבו אתם מאחסנים או מסדרים את מודל הנתונים שלכם.
- עכשיו אפשר להשתמש ב-DataStore בפרויקטים של Kotlin Multiplatform.
גרסה 1.1.0-rc01
3 באפריל 2024
androidx.datastore:datastore-*:1.1.0-rc01
משוחרר. גרסת 1.1.0-rc01 כוללת את ההוספות האלה.
תיקוני באגים
- תוקנה פגיעה בביצועים במקרים שבהם קריאות ל-
updateData
לא בוצעה אופטימיזציה של כתיבת נתונים בדיסק אם הנתונים החדשים זהים לנתונים הישנים (d64cfb5) - תוקן מצב מרוץ שבו
MultiProcess
DataStore
עלול לפספס ביטולים במהלך האתחול. ((b/326141553),(094c2dd))
גרסה 1.1.0-beta02
6 במרץ 2024
androidx.datastore:datastore-*:1.1.0-beta02
משוחרר. גרסת 1.1.0-beta02 כוללת את ההוספות האלה.
תיקוני באגים
- התכונה 'שיפור הביצועים ב-
DataStore
' אוספת התראות על עדכונים רק כשהיא מזהה אותם. (b/267792241)- הערה: אם אתם משתמשים בספריית הבדיקה של Coroutines, השינוי הזה עלול להפעיל את
UncompletedCoroutinesError
בבדיקות. כדי למנוע את הבעיה הזו, חשוב להעביר אתTestScope.backgroundScope
בזמן שמפעילים אתDataStore
בבדיקות.
- הערה: אם אתם משתמשים בספריית הבדיקה של Coroutines, השינוי הזה עלול להפעיל את
- תוקנה בעיה שבה קריאות
updateData
בתצוגת עץ באותו מופע היו גורמות לנעילה מרובת משתמשים. (b/241760537) DataStore
לא יגרום יותר להפעלתIOExceptions
אם לא מצליח למחוק אתSharedPreferences
במהלך ההעברה. (b/195553816)- תוקנה בעיה שבה שינוי שם הקובץ נכשל במהלך
updateData
בסביבות JVM שאינן Android. (b/203087070) - תוקנה בעיה שבה
CorruptionException
לא מטופל אחרי האיפוס שלDataStore
. (b/289582516)
גרסה 1.1.0-beta01
10 בינואר 2024
androidx.datastore:datastore-*:1.1.0-beta01
פורסם ללא שינויים מאז 1.1.0-alpha07
. גרסה 1.1.0-beta01 כוללת את השמירות האלה.
גרסה 1.1.0-alpha07
29 בנובמבר 2023
androidx.datastore:datastore-*:1.1.0-alpha07
משוחרר. גרסה 1.1.0-alpha07 מכילה את ההוספות האלה.
שינויים ב-API
- השיטות של
MultiProcessDataStoreFactory
כבר לא נחשבות לניסיוניות.ההערה@ExperimentalMultiProcessDataStore
הוסרה לחלוטין. (Ieee54, I8e607)
תיקוני באגים
- השקת ההסרה של הערות
@ExperimentalMultiProcessDataStore
בגרסה 1.1.0-alpha07. (I8e607)
גרסה 1.1.0-alpha06
1 בנובמבר 2023
androidx.datastore:datastore-*:1.1.0-alpha06
משוחרר. גרסה 1.1.0-alpha06 מכילה את ההוספות האלה.
שינויים ב-API
- שיטת המפעל
createSingleProcessCoordinator
מקבלת עכשיו נתיב קובץ (String
, java.io.File
ו-okio.Path
) כדי להיות עקבית עםcreateMultiProcessCoordinator
. (I211c8, b/305755935)
גרסה 1.1.0-alpha05
6 בספטמבר 2023
androidx.datastore:datastore-*:1.1.0-alpha05
משוחרר. גרסה 1.1.0-alpha05 מכילה את ההוספות האלה.
שינויים ב-API
- מאגר הנתונים
FileStorage
זמין עכשיו לכולם, כך שלקוחות יכולים לספק פרמטרים מותאמים אישית. (Icb985) - שינינו את ה-constructor של
OkioStorage
כך שיקבלInterProcessCoordinator
, כדי שניתן יהיה להשתמש בו ב-Android עםMultiProcessCoordinator
. (Iecea3)
תיקוני באגים
- תיקון
MultiProcessCoordinator
לא ניתן לעקוב אחרי כמה קבצים באותה ספרייה. - תיקון של בעיה שבה לא ניתן לזהות קבצים כפולים אם נתיבי הקבצים לא רגולריים.
- מתקנים את הערכים השגויים שמוחזרים מ-
RxDataStore#isDisposed
. - תיקון הגדרת Proguard חסרה לארטיפקט
datstore-preferences-core
.
גרסה 1.1.0-alpha04
5 באפריל 2023
androidx.datastore:datastore-*:1.1.0-alpha04
משוחרר. גרסה 1.1.0-alpha04 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תיקוני באגים
- שיפור ההטמעה הפנימית כדי למנוע מצב מרוץ שבו זרימת הנתונים של
DataStore
עשויה להפיק ערך ישן יותר אחרי עדכון.
גרסה 1.1.0-alpha03
24 במרץ 2023
androidx.datastore:datastore-*:1.1.0-alpha03
משוחרר.
תיקוני באגים
- הוסרו אילוצים של יחסי תלות מפריטי Maven כדי לעקוף בעיה ב-build ב-Kotlin Native Targets (b/274786186, KT-57531).
גרסה 1.1.0-alpha02
22 במרץ 2023
androidx.datastore:datastore-*:1.1.0-alpha02
משוחרר. גרסה 1.1.0-alpha02 מכילה את השמירות האלה.
הערה
חשוב לציין שהגרסה הזו כוללת שינוי פנימי חשוב שממזג את הטמעות DataStore לתהליך יחיד ולתהליכים מרובים. חשוב לעקוב אחרי שינויים לא רצויים בהתנהגות (למשל, תזמון ההתראות על עדכונים). אפשר להשתמש ברכיב למעקב אחר בעיות כדי לדווח על שינויים כאלה.
תכונות חדשות
- עכשיו אפשר להשתמש ב-
DataStore
בפרויקטים של KMM. חשוב לזכור שהיעדים של DataStore שאינם ל-Android עדיין נמצאים בגרסת ניסיון, אבל החלטנו למזג את הגרסאות כדי שיהיה קל יותר למפתחים לנסות אותן. - התכונות של תהליכים מרובים הועברו מ-
androidx.datastore.multiprocess
אלandroidx.datastore.core
. - מוסיפים שיטה חדשה של מפעל ב-
androidx.datastore.core.MultiProcessDataStoreFactory
כדי ליצור מכונות של DataStore עם אובייקטים שלStorage
לפעולות הקשורות לקובצים. - הוספת ממשק חדש
InterProcessCoordinator
שעוזר למספר מכונות DataStore לתקשר בין תהליכים. שימו לב שהטמעה שלInterProcessCoordinator
במספר תהליכים זמינה רק ב-Android.
שינויים ב-API
- הוספת
InterProcessCoordinator
ל-StorageConnection
בממשק datastore-core (I555bb) - משנים את ממשקי ה-API ב-datastore-core
MultiProcessDataStoreFactory
כך שישתמשו ב-Storage. (Iac02f) - העברת ממשקי API ציבוריים מ-datastore-multiprocess אל datastore-core (I76d7c)
- חשיפה של
PreferencesSerializer
מ-datastore-preferences-core (I4b788) - הוספת הערה
@JvmDefaultWithCompatibility
(I8f206)
גרסה 1.1.0-alpha01
9 בנובמבר 2022
androidx.datastore:datastore-*:1.1.0-alpha01
משוחרר. גרסה 1.1.0-alpha01 כוללת את ההוספות האלה.
תכונות חדשות
- תמיכה בתרחישי שימוש עם תהליכים מרובים, שבהם עקביות הנתונים מובטחת בין
DataStore
המופעים בתהליכים השונים. מוסיפים אתMultiProcessDataStoreFactory#create
כדי ליצור מכונותDataStore
כאלה. - ממשק אחסון חדש שמאפשר להחליף את מנגנון האחסון הבסיסי של
Datastore
. יש הטמעות של java.io ו-okio. למפעלים שלDataStore
יש שיטות חדשות שמקבלות את אובייקט האחסון הזה.
שינויים ב-API
- משנים את ממשקי ה-API ב-datastore-core
MultiProcessDataStoreFactory
כך שישתמשו ב-Storage. (Iac02f) - העברת ממשקי API ציבוריים מ-datastore-multiprocess אל datastore-core (I76d7c)
- חשיפה של
PreferencesSerializer
מ-datastore-preferences-core (I4b788)
גרסה 1.0.0
גרסה 1.0.0
4 באוגוסט 2021
androidx.datastore:datastore-*:1.0.0
משוחרר. גרסה 1.0.0 כוללת את ההצהרות האלה.
תכונות עיקריות בגרסה 1.0.0
Jetpack DataStore הוא פתרון לאחסון נתונים שמאפשר לאחסן צמדי מפתח-ערך או אובייקטים מסוגים שונים באמצעות מאגרי פרוטוקול. ב-DataStore נעשה שימוש ב-coroutines וב-Flow של Kotlin כדי לאחסן נתונים באופן אסינכרוני, עקבי ועסקאותי.
גרסה 1.0.0-rc02
21 ביולי 2021
androidx.datastore:datastore-*:1.0.0-rc02
משוחרר. גרסה 1.0.0-rc02 כוללת את ההצהרות האלה.
תיקוני באגים
- חשוב להבהיר ש-
SharedPreferencesMigration
לא פועל אם אין מפתחות. (Icfa32, b/192824325) - תיקון באג שבו
SharedPreferencesMigration
שנוצר באמצעותMIGRATE_ALL_KEYS
היה גורם להפעלת חריגה אם המפתח המבוקש עדיין לא קיים. (Ie318a, b/192824325)
גרסה 1.0.0-rc01
30 ביוני 2021
androidx.datastore:datastore-*:1.0.0-rc01
משוחרר. גרסה 1.0.0-rc01 כוללת את השמירות האלה.
תיקוני באגים
- תיקון באג שבו קובץ .java נוסף בטעות לקובץ ה-jar הסופי (I65d96, b/188985637)
גרסה 1.0.0-beta02
16 ביוני 2021
androidx.datastore:datastore-*:1.0.0-beta02
משוחרר. גרסה 1.0.0-beta02 כוללת את ההצהרות האלה.
תיקוני באגים
- תיקון
ClassVerificationFailure
(b/187450483)
גרסה 1.0.0-beta01
21 באפריל 2021
androidx.datastore:datastore-*:1.0.0-beta01
משוחרר. גרסה 1.0.0-beta01 כוללת את ההצהרות האלה.
שינויים ב-API
- הסרת עומסי יתר של JVM לשיטות של kotlin בלבד (I2adc7)
תיקוני באגים
- תוקן באג שבו הענקת גישה למאגר נתונים עלולה לגרום לדליפת הקשרים (Ie96fc, b/184415662)
גרסה 1.0.0-alpha08
10 במרץ 2021
androidx.datastore:datastore-*:1.0.0-alpha08
משוחרר. גרסה 1.0.0-alpha08 מכילה את ההוספות האלה.
שינויים ב-API
- עכשיו אפשר להוסיף העברה שמבוססת על הקשר למנהל הרשאות הגישה של הנכסים
dataStore
ו-preferencesDataStore
. (I4ef69, b/173726702) - הוספת פונקציות עזר כדי לקבל את שם הקובץ אם כבר לא משתמשים ב-datastore delegate או ב-context.createDataStore (I60f9a)
- הפונקציות writeTo ו-readFrom של ה-Serializer מושהות עכשיו. אם הטמעתם Serializer, תצטרכו לעדכן את הפונקציות כך שיהיו פונקציות השהיה. (I1e58e)
- נוספו גורמים מואצלים של נכסים למשתמשים ב-RxDataStore. (Ied768, b/173726702)
תיקוני באגים
- אכיפה של הגבלות על שימוש ציבורי בממשקי API ניסיוניים (I6aa29, b/174531520)
גרסה 1.0.0-alpha07
24 בפברואר 2021
androidx.datastore:datastore-*:1.0.0-alpha07
משוחרר. גרסה 1.0.0-alpha07 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
שינויים ב-API
פונקציית התוסף
Context.createDataStore
הוסרה והוחלפה במתווך הנכס globalDataStore. צריך לקרוא ל-globalDataStore פעם אחת ברמה העליונה בקובץ ה-Kotlin. לדוגמה:val Context.myDataStore by dataStore(...)
מומלץ להוסיף את הקוד הזה ברמה העליונה של קובץ ה-Kotlin, כדי שיהיה רק מופע אחד שלו. (I57215, b/173726702)
הפונקציות של RxDataStore נמצאות עכשיו בכיתה RxDataStore במקום כפונקציות תוסף ב-DataStore. (Idccdb, b/177691248)
אם אתם רוצים להעביר את EncryptedSharedPreferences (או את SharedPreferences של אתחול ישיר) ל-DataStore, עכשיו אתם יכולים לעשות זאת באמצעות המבנה החדש של SharedPreferencesMigration שמאפשר להחדיר את SharedPreferences. (I8e04e, b/177278510)
תיקוני באגים
- מעכשיו, מערכת DataStore תשליך חריגה אם יש כמה מאגרי DataStore פעילים לאותו קובץ. אם לא ניהלתם את DataStore כ-Singleton או לא הקפידתם שלא יהיו שני מופעים של DataStore פעילים בו-זמנית בקובץ, יכול להיות שתראו עכשיו חריגות בזמן הקריאה או הכתיבה ב-DataStore. כדי לפתור את הבעיות האלה, צריך לנהל את DataStore כ-Singleton. (Ib43f4, b/177691248)
- תיקון התנהגות הביטול כשהיקף הקריאה של מבצע הקריאה בוטל. (I2c7b3)
גרסה 1.0.0-alpha06
13 בינואר 2021
androidx.datastore:datastore-*:1.0.0-alpha06
משוחרר. גרסה 1.0.0-alpha06 כוללת את ההצהרות האלה.
תכונות חדשות
- נוספו יריעות גיבוי של RxJava ל-DataStore. הארטיפקטים של
datastore-rxjava2/3
מכילים את העטיפות של ממשקי ה-API של DataStore ליבה (RxDataStore
,RxDataStoreBuilder
ו-RxDataMigration
). הארטיפקטים שלdatastore-preferences-rxjava2/3
מכילים בונה ליצירת מאגר של העדפות.
שינויים ב-API
- הסתרת הממשק CorruptionHandler. לא הייתה סיבה שהיא תהיה ציבורית, כי המפעל של DataStore מקבל רק ReplaceFileCorruptionHandler. (I0b3b3, b/176032264)
- השיטה
preferencesKey<T>(name: String): Key<T>
הוסרה והוחלפה בשיטות ספציפיות לכל סוג נתמך. לדוגמה,preferencesKey<Int>("int")
הוא עכשיוintPreferencesKey("int")
(Ibcfac, b/170311106)
תיקוני באגים
- תיקון במסמכי התיעוד של DataStoreFactory, שבהם לא צוין שקובץ מאגר הנתונים נוצר בתיקיית המשנה 'datastore/'. (Ica222)
גרסה 1.0.0-alpha05
2 בדצמבר 2020
androidx.datastore:datastore-*:1.0.0-alpha05
משוחרר. גרסה 1.0.0-alpha05 מכילה את ההוספות האלה.
תיקוני באגים
- הוספת מסמכי תיעוד ותרחישי חריגה טובים יותר לגבי כתיבת בו-זמנית מאחסני נתונים. (Ia98a2, b/173522155, b/173726702)
- עכשיו אנחנו מאפשרים (אבל לא דורשים) לסגור את OutputStream שהועברה אל
Serializer.writeTo()
. (I5c9bf, b/173037611)
גרסה 1.0.0-alpha04
17 בנובמבר 2020
androidx.datastore:datastore-*:1.0.0-alpha04
משוחרר. גרסה 1.0.0-alpha04 מכילה את ההצהרות האלה על ביצוע שינויים (commits).
תיקוני באגים
- תוקנה בעיה באריזה שגרמה לקריסה הבאה ב-Preference Datastore
1.0.0-alpha03
:java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/datastore/preferences
- הדיווח המקורי על הקריסה פורסם כאן: b/173036843
- (I4712d, b/173036843)
גרסה 1.0.0-alpha03
11 בנובמבר 2020
androidx.datastore:datastore-*:1.0.0-alpha03
משוחרר. גרסה 1.0.0-alpha03 מכילה את ההצהרות האלה.
תכונות חדשות
- עכשיו אפשר להשתמש בערכים מסוג double בהעדפות (הדבר שימושי אם אתם צריכים רמת דיוק גבוהה יותר מאשר ערכים מסוג float) (I5be8f, b/169471808)
שינויים ב-API
- נוצרה תלות טהורה ב-Kotlin ל-datastore כדי לאפשר הידור מהיר יותר.
androidx.datastore:datastore-core
מכיל את ממשקי ה-API של הליבה של Kotlin בלבד, ו-androidx.datastore:datastore
מכיל את ממשקי ה-API שתלויים ב-Android (כולל המבנהSharedPreferencesMigration
והמבנה הגנרטיביContext.createDataStore
). (I42d75, b/168512698) - חלוקה של יעדים למאגר נתוני ההעדפות כדי לאפשר הידור מהיר יותר של Kotlin (Ia3c19)
מעכשיו, סריאליזרים דורשים מאפיין חדש לערך ברירת המחדל שישמש אם אין נתונים בדיסק. כך קל יותר להטמיע סריאליזציות בהתאמה אישית, כדי שמשתמשים לא יצטרכו לטפל במקרים מיוחדים של מקורות קלט ריקים (מקורות קלט ריקים לא מנותחים באמצעות JSON).
- בנוסף, יש עכשיו בדיקה כדי לוודא שזרם הפלט שסופק ל-writeTo() לא סגור, ואם הוא סגור, הוא יוצר חריגות (I16e29)
הפיכת המבנה של ה-constructor ל-SharedPreferencesView לפנימי. במקור הוא היה גלוי לכולם כדי לאפשר בדיקה. במקום זאת, צריך ליצור בבדיקה אובייקט SharedPreferencesMigration ולבדוק אותו. (I93891)
תיקוני באגים
- הפרמטר
produceFile
ב-DataStoreFactory
וב-PreferenceDataStoreFactory
הוא עכשיו הפרמטר האחרון ברשימה, כך שאפשר להשתמש בסינטקס של lambda בסוגריים מרובעים ב-Kotlin. (Ibe7f1, b/169425442) - בהתאם לדרישות החדשות של ממשקי API מפורשים ל-Kotlin (I5ae1e)
בעיות מוכרות
- Preference Datastore קורס עם
java.lang.NoClassDefFoundError
. (b/173036843)
גרסה 1.0.0-alpha02
14 באוקטובר 2020
androidx.datastore:datastore-core:1.0.0-alpha02
ו-androidx.datastore:datastore-preferences:1.0.0-alpha02
משוחררים. גרסה 1.0.0-alpha02 מכילה את ההצהרות האלה.
תיקוני באגים
- נוספה הגנה מפני מוטציה ב-datastore-core. מוטציה משבשת את השימוש במאגר הנתונים של אנשים שמשתמשים במאגר נתונים עם סוגי נתונים שאינם proto או העדפות (I6aa84)
- הוספנו שיטה
toString
לקובץ Preferences.kt כדי שיהיה קל לנפות באגים במצב הנוכחי (I96006) - נוספה החרגה כדי להגן מפני שימוש לרעה ב-
DataStore.Preferences
(I1134d) - תוקן באג שגרם לאפליקציה לקרוס בזמן ההפעלה (I69237, b/168580258)
גרסה 1.0.0-alpha01
2 בספטמבר 2020
androidx.datastore:datastore-core:1.0.0-alpha01
ו-androidx.datastore:datastore-preferences:1.0.0-alpha01
משוחררים. גרסה 1.0.0-alpha01 מכילה את ההוספות האלה.
תכונות חדשות
Jetpack DataStore הוא פתרון חדש ומשופר לאחסון נתונים, שנועד להחליף את SharedPreferences. DataStore מבוסס על פונקציות קורוטין ו-Flow ב-Kotlin, ומספק שתי הטמעות שונות:
- Proto DataStore, שמאפשר לאחסן אובייקטים מסוגים שונים (המגובים על ידי מאגרי פרוטוקול)
- Preferences DataStore, שמאחסן צמדים של מפתח/ערך
הנתונים נשמרים באופן אסינכררוני, עקבי ועסקי, וכך מתגברים על רוב החסרונות של SharedPreferences.