android - 如何打开 jetpack DataStore 文件 (.preferences_pb)

标签 android android-jetpack android-jetpack-datastore

我正在尝试新的喷气背包 DataStore图书馆 。我使用库保存了数据。这创建了一个文件 settings.preferences_pb在应用程序数据目录 (/data/data/my.package.name/files/datastore/settings.preferences_pb) 中。 setting是我给的文件名。使用文本查看器无法正确显示数据。我可以辨认出键名,但值是垃圾。如何打开此文件并查看它?
这是文件 settings.preferences_pb 的驱动器链接

最佳答案

引用:https://medium.com/swlh/get-your-hand-dirty-with-jetpack-datastore-b1f1dfb0a5c1

protobuf 文件将位于/data/data/{application.package}/files/datastore/中。这些是 protobuf 格式的文件,所以我们不能用普通的编辑器读取它们。要解码文件,我们可以使用 protoc命令行。

To be able to use protoc command, we have to pull these files to our workstation’s space using adb command


对于首选项数据存储
protoc --decode_raw < app_name.preferences_pb
结果将与此类似:
1 {
    1: "app_name"
    2 {
        5: "Datastore sample"
    }
}
1 {
    1: "is_demo_mode"
    2 {
        1: 1
    }
}
注意:is_demo_mode 的值为 1 表示 true

关于android - 如何打开 jetpack DataStore 文件 (.preferences_pb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63869761/

相关文章:

android - 如何从手机存储中获取所有图像到我的应用程序中?

android - Kindle Fire 有时会改变屏幕分辨率……

android - Android JetPack 的共享 ViewModel 生命周期

通过 rememberSaveable State 编写的 Android Jetpack Compose 无法在后退按钮中存活

android - 从 DataStore 读取一次值以更新 fragment 中的选项菜单复选框状态

android - Jetpack 原型(prototype)数据存储 - 使用 Kotlin dsl 进行 gradle 配置

android - 在更新之前使用 Flow 从 DataStore 中读取值

android - 如何在 AndroidManifest 中自动增加版本代码?

android - 如何在 Composable 中使用示例数据?

java - android-BroadcastReceiver-java.lang.StackOverflowError