google protobuf java 简单使用

首先确定你的目的,使用他压缩你的数据,转换成需要的格式,一般是byte[]

 

你需要传递什么数据类型?

自己先定义一个,用.proto文件作为后缀。

文件内容可以是

 

package com.utils;

option java_package = "com.utils";
option java_outer_classname = "GoodsPicInfo";

message PicInfo {
  required int32 ID = 1;
  required int64 GoodID = 2;       
  required string Url = 3;
  required string Guid = 4;
  required string Type = 5;
  required int32 Order = 6;
}

 

上面就是你定义的要传递的对象的各个字段,required是必须的,还有其他的,研究官方的即可。

定义好了这些,接下来要去下载一个 解析这个文件,编译成一个java文件的程序

可以下载到  protoc-2.3.0-win32.zip 解压后,得到protoc.exe

把他放到上面的.proto文件的同一个目录,在dos里执行 protoc 文件名.proto --java_out=c:/  之类的

执行后自动生成了一个java文件。所有的protobuf功能都可以通过这个java类实现了, 神了,就是这么牛。

看看 怎么搞的呢。

下面的GoodsPicInfo.PicInfo.就是他生成的里面的java类。

GoodsPicInfo.PicInfo.Builder builder=GoodsPicInfo.PicInfo.newBuilder();
builder.setGoodID(100);
builder.setGuid("11111-22222-3333-444");
builder.setOrder(0);
builder.setType("ITEM");
builder.setID(10);
builder.setUrl("http://xxx.jpg");
GoodsPicInfo.PicInfo info=builder.build();

byte[] result=info.toByteArray() ;

这就从info类 转到压缩好的result的了

逆向过程是怎么弄的呢,很简单

GoodsPicInfo.PicInfo  info= GoodsPicInfo.PicInfo.parseFrom(i);

搞定了

OK没?当然。这只是他的皮毛。。。。别激动。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值