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

Man*_*ddy 14 android android-jetpack android-jetpack-datastore

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

这是文件settings.preferences_pb的驱动器链接

Kil*_*ler 11

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

\n
\n

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

\n
\n

为了能够使用 protoc 命令,我们必须使用 adb 命令将这些文件拉到我们的\nworkstation\xe2\x80\x99s 空间

\n
\n

对于偏好数据存储

\n
protoc --decode_raw < app_name.preferences_pb\n
Run Code Online (Sandbox Code Playgroud)\n

结果将与此类似:

\n
1 {\n    1: "app_name"\n    2 {\n        5: "Datastore sample"\n    }\n}\n1 {\n    1: "is_demo_mode"\n    2 {\n        1: 1\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

注意:is_demo_mode 的值为 1 代表 true

\n


小智 3

以下是preferences_pb 文件的当前格式:链接

您可以使用此架构解析该文件,并根据需要将其打印出来。

或者,您可以只在 Preferences 对象上使用 toString() 方法,您应该会得到一个很好的可读输出。