需要具有oneof字段类型的GPB消息的Java应用程序示例

时间:2015-08-14 18:15:33

标签: protocol-buffers

协议缓冲区的字段类型为“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;
   }

1 个答案:

答案 0 :(得分:0)

我知道这个问题已经发布了一段时间。由于我遇到了同样的问题并且没有人回答,我会在这里发布我的答案以防万一有人需要。

我的回答只是使用由builder生成的wire,我认为这个工具对于在java / android中使用protobuf非常有帮助。有关详细信息,请参阅https://github.com/square/wire

一旦你的项目中包含了电线并且你的proto类正确生成,你应该能够轻松地使用它。由于生成的所有类都有内部类builder

您可以通过以下方式初始化它:$yourclass.Builder().build

您可以使用Wire

对其进行解码