protobuf在Android推送中的使用方法(比json、xml都要好的数据结构)

一、准备资料

1、官方地址:https://github.com/google/protobuf/releases (下载protoc-3.2.0-win32.zip 用来编译protoc->.java文件)
2、jar包下载:由于官方没有给出jar包,我这边直接采用别人已经编译好的jar包:
下载地址:http://files.cnblogs.com/files/feijian/protobuf-java-3.2.0_jar.rar
或者自己编译生成看教程:http://www.cnblogs.com/learn21cn/p/6213372.html
二、编译消息体文件
--
找到下载好的protoc-3.2.0-win32.zip,解压缩,cmd进入bin目录:
用记事本新建一个文件:msg.proto (注意proto2和proto3的语法是不一样的)
语法说明见:http://blog.csdn.net/lyjshen/article/details/52298003

syntax = "proto3";
package msginfo;  //包名,在编译的时候会生成对应的文件夹

message Message 
{
enum Humour {
UNKNOWN = 0;
PUNS = 1;
SLAPSTICK = 2;
BILL_BAILEY = 3;
}
required string name = 1;
Humour hilarity = 2;
uint32 height_in_cm = 3;
bytes data = 4;
int64 result_count = 7;
bool true_scotsman = 8;
float score = 9;
repeated uint64 key = 5[packed = true];
}

message MessageArray
    {
 map msg_map = 1;
     }   

然后通过cmd命令编译,做法如下:
1、cmd命令,进入刚才的protoc-3.2.0-win32.zip解压缩的bin目录
2、将msg.proto拷贝到bin目录,新建一个java文件
3、cmd执行命令(注意有几个空格):

\protoc-3.2.0-win32\bin>protoc --java_out=./java./ msg.proto

4、找到bin目录下的java文件夹,下面会有生成的编译文件,将编译好的文件Msg.java拷贝到Android studio项目目录。
5、再把下载好的jar包也拷贝到工程的libs目录,通过project structure ->app->dependencies 添加jar包依赖
6、rebuild工程即可

protobuf在Android推送中的使用方法(比json、xml都要好的数据结构)_第1张图片
Paste_Image.png

你可能感兴趣的:(protobuf在Android推送中的使用方法(比json、xml都要好的数据结构))