Jetpack

深入学习DataStore(三),迁移 SharedPrefer

2020-10-27  本文已影响0人  不思进取的码农

目录

深入学习DataStore(一),Google为什么放弃SharedPreferences
深入学习DataStore(二),使用 Preferences DataStore存储数据
深入学习DataStore(三),迁移 SharedPreferences 到 DataStore
深入学习DataStore(四),如何使用Proto DataStore数据存储

迁移 SharedPreferences 到 DataStore

DataStore刚刚推出,SharedPreferences目前还是都是在项目中使用,DataStore很贴心的为大家推出了SharedPreferences的迁移方案.

而迁移方案其实也只有2步

(1) 在构建 DataStore 的时候,需要传入一个 SharedPreferencesMigration
dataStore = context.createDataStore(
    name = PREFERENCE_NAME,
    migrations = listOf(
        SharedPreferencesMigration(
            context,
            SharedPreferencesRepository.PREFERENCE_NAME
        )
    )
)
(2)构建完可迁入的DataStore之后,我们需要执行一次读取或者写入操作,DataStore 才会自动合并 SharedPreference 文件内容 ,迁入成功后会删除原有的SharedPreferences

SharedPreference的key与DataStore的Key不相同如何

其实大家不用担心这个问题,虽然DataStore使用的 preferencesKey<T>("key")的形式
但是我们迁入时的写入读取操作只需要在key上和SharedPreference保持一致即可

//DataStore的key
 preferencesKey<String>("DataStore")

//SP中的key
  val KEY_ACCOUNT = "DataStore"

(每天学习一点点.每天进步一点点,分享不宜路过点个赞呀,喜欢的点个关注后续更新不断)

上一篇 下一篇

猜你喜欢

热点阅读