如何存储匹配.proto的数据结构

发布于 2024-12-12 21:16:40 字数 287 浏览 0 评论 0原文

我有一个非常简单的android应用程序,它使用protobuf从服务器获取数据,然后让用户浏览数据树(简化)

现在我只需要在我的结构中使用这些数据,所以我使用protobuf回复(通过自动生成类)作为我的内部数据集。

问题是我希望能够更新其中的一些数据,并从服务器获取更多数据并附加到树上...这是不可能的,因为数据是不可变的。

所以我的问题是,如何用尽可能少的计算能力将我的 protobuf 消息存储为可更改的数据结构?

我是否必须制作自己相应的数据类结构(似乎是双重工作)还是有其他方法?

I have a android app that is quite simple it fetches data from the server using protobuf and then it lets the user browse the data tree (simplified)

Now I only ever want this data in my structure so I was using the protobuf reply (through autogenerated class) as my internal dataset.

problem is I want to be able to update some data in it and also get more data from the server and attach to the tree... this is impossible due to the data being immutable.

so my question is, how do I with as little computing power as possible store my protobuf messages as a changable data structures?

do i have to make my own corresponding dataclass-structure (seems like double work) or is there any other way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

写给空气的情书 2024-12-19 21:16:40

我使用的方法是实现我自己的类型,它镜像 protobuf 类型,但允许额外的功能,例如就地修改,并且还实现一组转换函数以在每对类型之间进行转换。然后,我仅在实际需要通过网络发送或接收某些内容时才使用 Protobuf 生成的类。

The approach i've used is to implement my own types which mirror the protobuf types but which allow extra functionality such as in-place modification, and also implement a set of translation functions to convert between each pair of types. I then only use the Protobuf generated classes when i actually need to send or receive something over the wire.

别忘他 2024-12-19 21:16:40

您的 protobuf 消息是可变的数据结构。您可以通过 Builder 界面修改它们,并且可以使用 Android 本地文件存储或 SQLite BLOB 来存储它们。

请参阅以下示例:

Your protobuf messages ARE changeable data structures. You modify them via the Builder interface and you can store them using Android local file storage or SQLite BLOB.

Refer to these examples:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文