0.ダウンロード(protobuf-2.0.3.tar.gz),展開
http://protobuf.googlecode.com/files/protobuf-2.0.3.tar.gz
展開してprotobuf-2.0.3を得る.
1.とりあえずインストール
.protoファイルから対応する.javaをつくるためのツールをインストールする.
インストール先が/usr/local/binでよければ
> cd protobuf-2.0.3
> ./configure
> make
> make check
> sudo make install
2.examplesのjavaサンプルからコードの作成
> cd examples
> protoc --java_out=. addressbook.proto
これでjavaファイルが一つできる.
> ls com/example/tutorial/AddressBookProtos.java
com/example/tutorial/AddressBookProtos.java
3.Eclipseで作業
で道具がそろったのでEclipseを立ち上げる.
Java Projectを作る(今回はProtoBufとした).
で以下をインポート.
protobuf-2.0.3/examples/AddPerson.java
protobuf-2.0.3/examples/ListPeople.java
protobuf-2.0.3/examples/com/example/tutorial/AddressBookProtos.java
protobuf-2.0.3/java/src/main/java/com/google/protobuf/*.java
Package Explorerはこんな感じにになる.
4.実行について
AddPerson.javaでRunしてみる.
Usage: AddPerson ADDRESS_BOOK_FILE
引数を設定しろってことで今のRunでできているRun/Run Configurationsダイアログ中のJava Application/AddPersonのArgumentsに設定する.(とりあえずaddress_book_file.protoとした(これだと定義ファイルと同じ拡張子なのであまり良くない.けど画像との都合でそのままにしときます.))
で,Runしてみる.
色々入力してみる.
終了後,Eclipse側でみるにはPackage Explorerのプロジェクト名(ProtoBuf)を選択後,File/Refreshしてみれば良い.ファイルができていると思う.
ListPeople.javaも同様にしてRun.
5.中身.
> cd /path/to/workspace/ProtoBuf
> ls address_book_file.proto
address_book_file.proto
中身はこんな感じ.
って感じ.
ちなみにprotocにかけたaddressbook.protoファイルの中身はこういう感じ.
package tutorial;
option java_package = "com.example.tutorial";
option java_outer_classname = "AddressBookProtos";
message Person {
required string name = 1;
required int32 id = 2; // Unique ID number for this person.
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
repeated PhoneNumber phone = 4;
}
// Our address book file is just one of these.
message AddressBook {
repeated Person person = 1;
}
どうなんだろうね.
まぁ再度コイツにリンクしておくけど.
オブジェクトはネットワークに流せない. 流せるのはメッセージだけだ
間違い等あればコメントいただければ幸いです.
0 件のコメント:
コメントを投稿