前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
、使用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 可以作需要的操作。
?
?