2013-03-14 2 views
2

Я смотрел много учебников, но я не могу понять, как использовать буферы протоколакак использовать буферы протокола?

Почему «сообщение пользователя»? почему бы не «class User»? и как Eclipse создал такое сообщение? и почему name = 2? не называют = "Max"

ption java_outer_classname="ProtoUser"; 

message User { 

    required int32 id = 1; // DB record ID 
    required string name = 2; 
    required string firstname = 3; 
    required string lastname = 4; 
    required string ssn= 5; 



    // Embedded Address message spec 

    message Address { 
     required int32 id = 1; 
     required string country = 2 [default = "US"];; 
     optional string state = 3; 
     optional string city = 4; 
     optional string street = 5; 
     optional string zip = 6; 



     enum Type { 
     HOME = 0; 

     WORK = 1; 

     } 

     optional Type addrType = 7 [default = HOME]; 

} 
    repeated Address addr = 16; 
} 
+0

Где вы можете скачать этот файл? и каков именно ваш вопрос? –

+0

Я хочу сделать простой пример буферов протокола –

+0

См. Ответ. Кажется, вы не внимательно прочитали руководство. –

ответ

4

Почему "сообщение пользователя"? почему бы не «class User»?

Google протокола Буферы (ГПБ) не class в его синтаксисе, он имеет message вместо этого. https://developers.google.com/protocol-buffers/docs/style

Этот файл является только текстовым файлом, он должен иметь расширение .proto. В конце концов вы запустите утилиту, которая будет генерировать реальные Java-классы, которые вы можете импортировать и легко использовать в своем проекте.

https://developers.google.com/protocol-buffers/docs/javatutorial

компиляция протокол Буферы

protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto 

required string lastname = 4;

4 означает для поля идентификатора, а не значение, оно будет использоваться для создания битового потока.

+0

У меня нет опыта работы с компиляцией, я не мог понять «Компиляция ваших протокольных буферов protoc -I = $ SRC_DIR --java_out = $ DST_DIR $ SRC_DIR/addressbook.proto ...." –

+0

использовать CMD? $ SRC_DIR? $ DST_DIR? –

+0

Компиляция означает создание реальных Java-файлов для включения в код проекта. Да, используйте 'cmd' для запуска' protoc'. SRC_DIR - это где proto-файл, DST_DIR, где вы хотите поместить файл генерации java. –

Смежные вопросы