安卓客户端ProtoBuf集成

一 ProtoBuf介绍
1. ProtoBuf是什么?
  Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。
2. 为什么要用ProtoBuf?
  - 平台无关,语言无关,可扩展;
  - 提供了友好的动态库,使用简单;
  - 解析速度快,比对应的XML快约20-100倍;
  - 序列化数据非常简洁、紧凑,与XML相比,其序列化之后的数据量约为1/3到1/10。
二 ProtoBuf客户端集成
1. 编译工具
  使用protoc命令行工具将.proto文件编译成java文件。以下为GetAllMessageList.proto:

syntax = "proto3";

import "proto/usersnsservice/UserMessage.proto";

option java_package = "com.cmread.bplusc.presenter.model.message";

message GetAllMessageListRequest{
    string startMessageID =1;//消息id
    int32 start = 2;//分页开始位置(type=3时上传)
    int32 count = 3;//分页数量
    enum Type {
        NONE = 0;
        NOTICE = 1;//消息大类
        INTERACT =2;//互动
        PRIVATELETTER =3;//私信
    }
    Type type = 4;
    enum ActionType {
        NULL = 0;
        UP = 1;  // 上拉操作
        DOWN = 2;  // 下拉操作
        ORDINARYLOAD = 3;  // 普通加载
    }
    ActionType actionType = 5;
}

message GetAllMessageListResponse{
    int32 totalRecordCount =1;//查询记录总条数
    int32 noReadTotalCount =2;//未读消息总数
    repeated UserMessage userMessageList =3;//消息列表
}

  其中import “proto/usersnsservice/UserMessage.proto”;为包名,可以根据实际需要进行修改。此文件作为命令行的输入文件对应生成java源代码。
  protoc3 proto\usersnsservice\GetAllMessageList.proto –java_out=.\
  将GetAllMessageList.proto编译成GetAllMessageList .java文件,输出到当前目录。输出后个工具会自动根据指定包名建立一系列的目录。这个java文件就可以直接在程序中使用了。
  另外,该工具还支持多种语言:
这里写图片描述

二 B/C统一身份验证(针对Hybride App应用)
  B页面应该同时兼容新旧版本的验证方式。
  新的B页面验证方式为:访问B页面时,要将C接口返回的Cookie值一并带上。该Cookie从响应头的“Set-Cookie”中获取。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页