Understanding Protocol Buffers Kotlin Core: A Comprehensive Guide
kotlin
dependencies {
implementation("com.google.protobuf:protobuf-javalite:3.15.8")
implementation("com.github.google.protobuf:protobuf-kotlin:1.5.0")
}
proto
syntax = "proto3";
package com.example;
message Person {
string name = 1;
int32 age = 2;
repeated string hobbies = 3;
}
protoc --kotlin_out=src/main/kotlin src/main/proto/*.proto
kotlin
import com.example.Person
fun main() {
val personBuilder = Person.newBuilder()
personBuilder.name = "John"
personBuilder.age = 25
personBuilder.addHobbies("Reading")
personBuilder.addHobbies("Gaming")
val person = personBuilder.build()
val serializedPerson = person.toByteArray()
val receivedPerson = Person.parseFrom(serializedPerson)
}