Java中使用Protocol Buffer的简单教程
来源:互联网 发布:西安智汇诚网络怎么样 编辑:程序博客网 时间:2024/05/22 11:54
首先下载2.4.1的安装包 http://code.google.com/p/protobuf/downloads/ 安装命令示例如下:
tar -xzf protobuf-2.1.0.tar.gz cd protobuf-2.1.0 ./configure --prefix=$INSTALL_DIR make make check make install
1)编写一个Protocol文件,保存为 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; 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;}message AddressBook { repeated Person person = 1;}
2)执行如下命令,$SRC_DIR为address.proto文件的目录,$DST_DIR为生成java文件的目录
protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto
就可以生成可用的Java类文件了
3)Protocol Buffer的Maven配置
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.4.1</version>
</dependency>
4)代码使用
Java代码构建Address对象:
AddressBookProtos.Person person = AddressBookProtos.Person.newBuilder().setId(2234).setName("Benson Peng").build();
AddressBookProtos.AddressBook address = AddressBookProtos.AddressBook.newBuilder().addPerson(person).build();
参考文献:
1)Google官方教程 http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/javatutorial.html
2)Google Protocol Buffer的原理和使用 http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/?ca=drs-tp4608
- Java中使用Protocol Buffer的简单教程
- protocol buffer的简单使用
- Java中使用Protocol Buffer
- protocol buffer简单使用
- protocol buffer的使用
- Protocol Buffer在C++网络编程中使用教程
- windows下Java中使用Protocol Buffer总结
- google protocol buffer的使用
- Protocol Buffer的使用(python)
- iOS protocol buffer的使用
- 浅谈protocol buffer的使用
- 在iOS中Protocol Buffer(Protobuf3.3.0)的使用
- 关于 Protocol Buffer 的简单运用
- 在python中使用google protocol buffer
- 在iOS中使用Google Protocol Buffer
- Netty框架中使用protocol buffer协议
- 在C++中使用Protocol Buffer
- protocol buffer 简单入门
- C语言实现Unicode和UTF8之间的转换
- 结构体的字节对齐
- TLS技术资料
- T420 恢复GHOST盘后WIN7蓝屏的原因
- SSMS2008插件开发(1)--介绍
- Java中使用Protocol Buffer的简单教程
- 汉语转拼音工具
- MES项目导入-上线准备-ERP项目启动的准备工作流程与步骤
- Asp.Net Mvc 使用jQuery实现Ajax文件上传
- 过滤器Filter的介绍
- 常用正则表达式
- MES项目导入-基础知识-汽车行业解决方案
- 容器中resize和reserve的区别
- demon使用MFC listBox 和 checkbox笔记