1 安装brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2 使用brew安装protobuf
brew install protobuf
3 查看protoc版本
protoc --version
4 查看protobuf版本
brew search protobuf
二:示例
gps_data.proto
syntax = "proto3"
option java_package = "com.dongwt.proto"
message gps_data {
int64 id = 1
string terminalId = 2
string dataTime = 3
double lon = 4
double lat = 5
float speed = 6
int32 altitude = 7
int32 locType = 8
int32 gpsStatus = 9
float direction = 10
int32 satellite = 11
}
执行命令
protoc -I=src/main/resources/proto --java_out=src/main/java gps_data.proto
三:pom依赖(版本号序号protoc版本保持一致)
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.17.3</version>
</dependency>
四:单侧
public class TestGpsProtobuf {
public static void main(String[] args) {
System.out.println("===== 构建一个GPS模型开始 =====")
GpsData.gps_data.Builder gps_builder = GpsData.gps_data.newBuilder()
gps_builder.setAltitude(1)
gps_builder.setDataTime("2017-12-17 16:21:44")
gps_builder.setGpsStatus(1)
gps_builder.setLat(39.123)
gps_builder.setLon(120.112)
gps_builder.setDirection(30.2F)
gps_builder.setId(100L)
GpsData.gps_data gps_data = gps_builder.build()
System.out.println(gps_data.toString())
System.out.println("===== 构建GPS模型结束 =====")
System.out.println("===== gps Byte 开始=====")
for(byte b : gps_data.toByteArray()){
System.out.print(b)
}
System.out.println("\n" +"bytes长度" + gps_data.toByteString().size())
System.out.println("===== gps Byte 结束 =====")
System.out.println("===== 使用gps 反序列化生成对象开始 =====")
GpsData.gps_data gd =null
try {
gd = GpsData.gps_data.parseFrom(gps_data.toByteArray())
}catch (InvalidProtocolBufferException e) {
e.printStackTrace()
}
System.out.print(gd.toString())
System.out.println("===== 使用gps 反序列化生成对象结束 =====")
}
}
操作不正确。没有满足它运行的条件。把括号去掉。
菜鸟教程提供了编程的基础技术教程,介绍了HTML,CSS,Javascript,Python,Java,Ruby,C,PHP,,MySQL等各种编程语言的基础知识。
网站推荐:
1、 CSDN
CSDN (Chinese Software Developer Network) 创立于1999年,是中国的IT社区和服务平台,为中国的软件开发者和IT从业者提供知识传播、职业发展、软件开发等全生命周期服务。
满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。
2、开源中国
开源中国 是目前中国最大的开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。
3、博客园
博客园是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多开发者从中受益。博客园的使命是帮助开发者用代码改变世界。
4、segmentfault
SegmentFault是中国领先的开发者技术社区。 我们希望为编程爱好者提供一个纯粹、高质的技术交流的平台, 与开发者一起学习、交流与成长,创造属于开发者的时代。
5、ITEYE
ITeye Java编程 Spring框架 Ajax技术 agile敏捷软件开发 ruby on rails实践 - ITeye做最棒的软件开发交流社区。
6、菜鸟教程
菜鸟教程提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程。
7、IT猿网
IT猿网提供专业的技术视频教程、技术文档、开发工具。这里您能轻松学习Java,HTML、CSS、Javascript,PHP , MySQL等编程知识。