目錄
深入學(xué)習(xí)DataStore(一),Google為什么放棄SharedPreferences
深入學(xué)習(xí)DataStore(二),使用 Preferences DataStore存儲(chǔ)數(shù)據(jù)
深入學(xué)習(xí)DataStore(三),遷移 SharedPreferences 到 DataStore
深入學(xué)習(xí)DataStore(四),如何使用Proto DataStore數(shù)據(jù)存儲(chǔ)
遷移 SharedPreferences 到 DataStore
DataStore剛剛推出,SharedPreferences目前還是都是在項(xiàng)目中使用,DataStore很貼心的為大家推出了SharedPreferences的遷移方案.
而遷移方案其實(shí)也只有2步
(1) 在構(gòu)建 DataStore 的時(shí)候揍异,需要傳入一個(gè) SharedPreferencesMigration
dataStore = context.createDataStore(
name = PREFERENCE_NAME,
migrations = listOf(
SharedPreferencesMigration(
context,
SharedPreferencesRepository.PREFERENCE_NAME
)
)
)
(2)構(gòu)建完可遷入的DataStore之后,我們需要執(zhí)行一次讀取或者寫入操作憾股,DataStore 才會(huì)自動(dòng)合并 SharedPreference 文件內(nèi)容 ,遷入成功后會(huì)刪除原有的SharedPreferences
SharedPreference的key與DataStore的Key不相同如何
其實(shí)大家不用擔(dān)心這個(gè)問(wèn)題,雖然DataStore使用的 preferencesKey<T>("key")的形式
但是我們遷入時(shí)的寫入讀取操作只需要在key上和SharedPreference保持一致即可
//DataStore的key
preferencesKey<String>("DataStore")
//SP中的key
val KEY_ACCOUNT = "DataStore"