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