protobuf java demo

window命令行xxx.bat

@echo on
cd %~dp0
rd /s /q .\java
md java
protoc.exe --java_out=./java  push_proto.proto push_proto_inner.proto  push_drc.proto push_proto_inner_message.proto

pb文件 xxx.proto

import "push_proto.proto";
package com.xxx.xxx.proto;

option java_multiple_files = true;
option java_package = "com.xxx.xxx.proto"; //java包名

//回執服務中轉消息
message ReceiptEntity {
    required string message_id = 1; // 消息ID
    optional string task_id = 2; // 廣播任務ID
    optional string app_id = 3; // 應用ID
    optional string device_id = 4; // 設備ID
    optional string registrationId = 5; // 註冊ID
    required string url = 6; // 回執URL
    optional string param = 7; // 回執透傳參數
    optional string event_type = 8; // 調用鏈路事件類型 如push_arrive
}

java代碼

ReceiptEntity.Builder receiptEntity = ReceiptEntity.newBuilder();
receiptEntity.setMessageId(messageId);
receiptEntity.setAppId(appId);
receiptEntity.setDeviceId(instantReceiptEntity.getDeviceId());
receiptEntity.setEventType(instantReceiptEntity.getEventType());
receiptEntity.setTaskId("0000");
receiptEntity.setRegistrationId(instantReceiptEntity.getTargetValue());
receiptEntity.setUrl(url);
receiptEntity entity = receiptEntity.build();


byte[] data = receiptEntity.toByteArray();
ReceiptEntity receiptEntity = ReceiptEntity.parseFrom(data);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章