protocol buffer使用小例

2022-04-13 08:40:24 浏览数 (1)

使用EditPlus定义好一份proto文件(用EditPlus是为了不出现乱码),如下 :

代码语言:javascript复制
package mypackage;
option java_package="proto.entity";
 option java_outer_classname="Student";
 //定义学生类有哪些属性
message requset{
    required int32 ID=1;
     required string name=2;
     required string gender=3;
     repeated string address=4;
 }
 //返回学生名字
message response{
    required string name=1;
}

说明:proto.entity是生成的类文件存放的位置,Student是生成的类的类名,自己任意取名。requset、response是message 的名字,任意取名。

2、用protobuf编译工具生成类文件:Student . java 。(这个类不用看,就不贴上来了。)

3、使用实例:

代码语言:javascript复制
package myStudent;

 import java.util.ArrayList;
 import java.util.List;

 import com.google.protobuf.InvalidProtocolBufferException;


 public class Test {

 public  String  test ( ) throws InvalidProtocolBufferException {
 
 Student . requset . Builder  builder = Student . requset . newBuilder() ;
 builder . setID(2) ;
 builder . setName("韩梅梅") ;
 builder . setGender ("女") ;
 List<String> address = new ArrayList<String>();
 address . add ("成都") ;
 address . add ("湖南") ;
 builder . addAllAddress (address) ;
byte[ ]  data = new byte [20] ;
data  =  builder.build().toByteArray() ;
...
}
 }

拿到data 可以作需要的操作。

0 人点赞