Protobuf是一种灵活高效可序列化的数据协议,相于XML,具有更快、更简单、更轻量级等特性。支持多种语言,只需定义好数据结构,利用Protobuf框架生成源代码,就可很轻松地实现数据结构的序列化和反序列化。一旦需求有变,可以更新数据结构,而不会影响已部署程序。
.proto文件:
option optimize_for = LITE_RUNTIME; // app 请用这个优化选项, 代码库会更精简, 代价是损失一些辅助信息
package com.fenbi.live.proto.userdata.conan.common;
option java_package = "com.fenbi.live.proto.userdata.conan.common"; //定义了Protobuf自动生成类的包名
option java_outer_classname = "UserDatasProto"; //定义了Protobuf自动生成类的类名
message SystemMessageProto {
optional int64 id = 1;
optional int32 type = 2;
optional string message = 3;
}
.proto文件转.java文件步骤:
①
https://repo1.maven.org/maven2/com/google/protobuf/protoc/
下载相应版本的.exe文件,建议2.5.0版本即可
②
chmod +x protoc-2.5.0-osx-x86_32.exe
给下载文件提供执行权限
③
mkdir YYY
./protoc-2.5.0-osx-x86_32.exe XXX.proto --java_out="./YYY"
网友评论