首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DataStore快速上手

背景 刚好新项目中有用好DataStore,整理了下快速上手方法,背景如下 官方的文档是过时的 网上介绍文档也是过时的 网上很多的分装,都不够完整,不能直接拿来用 本文是基于最新的1.0.0-alpha08...版本,文章有现成的分装好的方法,可以直接拿来用,使用前,先介绍下DataStore的特性 Datastore的特性 不支持跨进程(本质是基于文件存储,跨进程硬要用也是有值的,不过结果可能会错误或者会崩溃...这样不需要涉及任何权限申请,当然也可以设置在外部sd卡上,这样万一App卸载重装了,SP的内容不会丢失 性能比SP有很大的提升,内部使用protocol-buffers,比sp的xml的高效 还有一个proto DataStore...} } } return value.first() as T } 这里默认值使用了泛型,一是为了确定返回的类型;二是DataStore...value } } } } 一些说明 这里仅支持基本类型的保存,跟SP一样,如果要保存Bean类型,考虑使用proto DataStore

80620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在 Kotlin 序列化中使用 DataStore

    我们之前已经 分享 了 Proto DataStore 和 Preferences DataStore 的使用方法。这两个 DataStore 版本都会在后台使用 Protos 对数据进行序列化。...您需要完成以下几项操作: 定义数据类 确保您的数据类不可变 使用 Kotlin 序列化实现 DataStore 序列化器 开始使用 定义数据类 Kotlin 数据类 非常适合与 DataStore 结合使用...结合使用可变类型与 DataStore 会导致难以捕获的错误和竞争条件。数据类并非一定不可变。...SPDX-License-Identifier: Apache-2.0 */ val Context.dataStore by dataStore("my_file.json", serializer...如要详细了解 DataStore,您可以查看我们的 文档 并获得一些使用 Proto DataStore 和 Preferences DataStore Codelab 的实践经验。

    48510
    领券