protobuf使用小例

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


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、使用实例:

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 可以作需要的操作。


你可能感兴趣的:(protobuf)