Android开发之——数据优化ProtoBuf

前言

protobuf,全称:Google Protocol Buffer,是Google开源的一种轻便高效的结构化数据存储格式,可以用于结构化数据的串行化,也称作序列化,主要用于数据存储或是RPC数据交换,支持多语言,可拓展。
本文主要讲述Proto的本地实例化和网络实例化。

项目

protobuf Github: Git地址
protobuf (Java): Protobuf java

配置

项目配置

在项目根目录的build.gradle中配置protobuf

Android开发之——数据优化ProtoBuf_第1张图片

在app目录下的build.gradle中配置protobuf

配置plugin插件

Android开发之——数据优化ProtoBuf_第2张图片

配置protobuf Task

Android开发之——数据优化ProtoBuf_第3张图片

配置依赖库

Android开发之——数据优化ProtoBuf_第4张图片

安装Protobuf Support

Protobuf Support支持 Protobuf 高亮显示
Android开发之——数据优化ProtoBuf_第5张图片

新建ProtoBuf数据

新建proto文件夹,在文件夹下新建文件,后缀名为.proto

Android开发之——数据优化ProtoBuf_第6张图片

按照下列格式设置数据

syntax = “proto3”;

package 包名;

message 数据

  1. 数据类型
    Android开发之——数据优化ProtoBuf_第7张图片
  2. 必须初始化,且必须为整数
    Android开发之——数据优化ProtoBuf_第8张图片

重新编译项目

执行Build->Rebuild Project

若项目不经过编译,无法在项目中引用Proto文件

查看编译后Proto文件

编译后可在app->build->generated->source->proto查看编译后的文件
Android开发之——数据优化ProtoBuf_第9张图片

使用

Proto使用,包括直接使用本地的Proto数据和访问网络上的Proto数据

本地Proto数据

查看Proto数据

经过build project后,输入Proto数据即可查看
Android开发之——数据优化ProtoBuf_第10张图片

使用Proto数据

Android开发之——数据优化ProtoBuf_第11张图片

分析

我们的Proto变成了内部类,为何使用Build生成数据,请自行查看源码
Android开发之——数据优化ProtoBuf_第12张图片

网络Proto数据

使用返回Proto类型的接口

本来想使用RAP2来模拟接口数据,奈何不支持,网上找了一条返回Proto的接口
Android开发之——数据优化ProtoBuf_第13张图片
Postman请求结果
Android开发之——数据优化ProtoBuf_第14张图片

配置网络

此前的Gson换成了Proto
Android开发之——数据优化ProtoBuf_第15张图片
Android开发之——数据优化ProtoBuf_第16张图片

使用

Android开发之——数据优化ProtoBuf_第17张图片

效果

Android开发之——数据优化ProtoBuf_第18张图片

参考:

参考源码

 

你可能感兴趣的:(技术文档)