协议缓冲区的字段类型为“oneof”。
我已阅读文档并已定义消息。 但不确定如何在应用程序中使用它。有人能为我提供一个在Java中使用的示例。
- 设置oneofRequest字段的一条消息
- 知道我设置了哪条消息
- 获取步骤1中设置的信息
message TypeA
{
oneof OneOfRequest
{
TypeX getX;
TypeY getY;
TypeZ getZ;
}
}
message TypeX
{
uint32 pos;
}
message TypeY
{
uint32 type;
}
message TypeZ
{
string name;
}
答案 0 :(得分:0)
我知道这个问题已经发布了一段时间。由于我遇到了同样的问题并且没有人回答,我会在这里发布我的答案以防万一有人需要。
我的回答只是使用由builder
生成的wire
,我认为这个工具对于在java / android中使用protobuf
非常有帮助。有关详细信息,请参阅https://github.com/square/wire。
一旦你的项目中包含了电线并且你的proto类正确生成,你应该能够轻松地使用它。由于生成的所有类都有内部类builder
,
您可以通过以下方式初始化它:$yourclass.Builder().build
您可以使用Wire
类