Android protobuf 使用
时间: 2023-09-21 21:07:33 浏览: 139
android protobuf 使用demo
Android中使用protobuf的步骤如下:
1. 在项目的build.gradle文件中添加protobuf依赖:
```
implementation 'com.google.protobuf:protobuf-java:3.15.8'
```
2. 在protobuf文件夹中创建一个.proto文件,定义消息结构和字段类型,例如:
```protobuf
syntax = "proto3";
message Person {
string name = 1;
int32 age = 2;
repeated string hobbies = 3;
}
```
3. 在项目的build.gradle文件中添加protobuf插件:
```
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.15.8'
}
plugins {
javalite {
artifact = 'com.google.protobuf:protoc-gen-javalite:3.15.8'
}
}
generateProtoTasks {
all().each { task ->
task.plugins {
javalite { }
}
}
}
}
```
4. 在终端中执行以下命令,生成Java类文件:
```
./gradlew generateProto
```
5. 在生成的Java类文件中可以使用protobuf消息,例如:
```java
Person person = Person.newBuilder()
.setName("John")
.setAge(25)
.addHobbies("Reading")
.addHobbies("Gaming")
.build();
byte[] serializedPerson = person.toByteArray();
```
6. 反序列化时,可以使用以下代码:
```java
Person person = Person.parseFrom(serializedPerson);
String name = person.getName();
int age = person.getAge();
List<String> hobbies = person.getHobbiesList();
```
通过以上步骤,你就可以在Android项目中使用protobuf来序列化和反序列化消息了。注意,protobuf的版本号需要与依赖库中的版本号保持一致。
阅读全文