如何使用协议缓冲区?
我看了很多教程,但我不明白如何使用协议缓冲区如何使用协议缓冲区?
为什么“消息用户”?为什么不“上课用户”?以及Eclipse如何创建这样的消息? 以及为什么name = 2?没有NAME = “最大”
ption java_outer_classname="ProtoUser";
message User {
required int32 id = 1; // DB record ID
required string name = 2;
required string firstname = 3;
required string lastname = 4;
required string ssn= 5;
// Embedded Address message spec
message Address {
required int32 id = 1;
required string country = 2 [default = "US"];;
optional string state = 3;
optional string city = 4;
optional string street = 5;
optional string zip = 6;
enum Type {
HOME = 0;
WORK = 1;
}
optional Type addrType = 7 [default = HOME];
}
repeated Address addr = 16;
}
为什么 “消息用户”?为什么不“上课用户”?
谷歌协议缓冲器(GPB)没有在它的语法class
,它有message
代替。 https://developers.google.com/protocol-buffers/docs/style
此文件只是文本文件,它应该有.proto
扩展名。毕竟你会运行一个实用程序,它会生成真正的Java类,你可以在你的项目中导入和使用。
https://developers.google.com/protocol-buffers/docs/javatutorial
编译您Protocol Buffers的
protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto
required string lastname = 4;
4代表的字段id,而不是一个值,它会被用来生成比特流。
我没有任何编译经验,我无法理解“编译您的协议缓冲区 protoc -I = $ SRC_DIR --java_out = $ DST_DIR $ SRC_DIR/addressbook.proto ....” – 2013-03-14 15:20:50
使用CMD? $ SRC_DIR? $ DST_DIR? – 2013-03-14 15:21:54
编译意味着生成真正的Java文件,以包含在项目代码中。是的,使用'cmd'来运行'protoc'。原始文件是SRC_DIR,DST_DIR是要放置生成java文件的位置。 – 2013-03-14 15:28:16
你从哪里得到这个文件?你的问题到底是什么? – 2013-03-14 15:03:30
我想做一个简单的示例协议缓冲区 – 2013-03-14 15:06:04
请参阅答案。看起来你没有仔细阅读手册。 – 2013-03-14 15:13:35