当前位置: 首页 > news >正文

蓬莱网站设计黄骅市简介

蓬莱网站设计,黄骅市简介,个人简历制作,wordpress网站无法打开一、简介 Protobuf 全称#xff1a;Protocol Buffers#xff0c;是 Google 推出的一种与平台无关、语言无关、可扩展的轻便高效的序列化数据存储格式#xff0c;类似于我们常用的 xml 和 json。 二、特点 Protobuf 用两个字总结#xff1a;小#xff0c;快。用 Protobu…一、简介 Protobuf 全称Protocol Buffers是 Google 推出的一种与平台无关、语言无关、可扩展的轻便高效的序列化数据存储格式类似于我们常用的 xml 和 json。 二、特点 Protobuf 用两个字总结小快。用 Protobuf 序列化后的大小是 json 的十分之一是 xml 格式的二十分之一而且性能是他们的 5100 倍。 通常情况下我们使用 xml 或者 json 进行数据通信是没什么问题的但是在高性能和大数据通信的情况下如果有办法压缩数据量提高传输效率显然会给用户带来更快更流畅的体验因此做 LiveChat 自研Protobuf 成为我们进行数据传输的第一选择。 三、语法 Protobuf 常用关键字介绍 Protobuf 基本数据类型 基本数据类型默认值 protobuf文本示例 //指定Protobuf版本 syntax proto3; //指定包名 package com.example.testprotobuf; //指定生成的类所在的包名位置 option java_package com.example.testprotobuf.internal; option java_outer_classname AudioAcousticMngtProto;message BandGain {uint32 bandID 1;int32 gain 2; }message Equalizer { //repeated相当于集合类repeated BandGain bandGainList 1; }message Equalizerstruct {uint32 bandnumber 1;uint32 groupID 2;Equalizer equalizer 3; }message ProtoInt8 {int32 value 1; }message ProtoUint8 {uint32 value 1; }message ProtoBool {bool value 1; }message ProtoString {string value 1; }//注意 //1、一个 Protobuf 文件里面可以添加多个消息类也可以进行嵌套 //2、上面的 1234 并不是给字段赋值而是给每个字段定义一个唯一的编号。这些编号用于二进制格式中标识你的字段并且在使用你的消息类型后不应更改 //3、1-15 的字段编号只占一个字节进行编码16-2047 的字段编号占两个字节包括字段编号和字段类型因此建议更多的使用 1-15 的字段编号 //4、可以指定最小字段编号为 1最大字段编号为 2^29 - 1 或 536870911。另外不能使用 19000-19999 的标识号因为 protobuf 协议实现对这些进行了预留同样也不能使用任何以前保留reserved 的字段编号四、具体使用 //配置环境 //app目录下得build.gradle: plugins {id com.android.applicationid com.google.protobuf }android {......sourceSets {main {//实际测试指不指定无所谓不影响 Java 文件生成proto {srcDir src/main/proto}}} }protobuf {//配置 protoc 编译器protoc {artifact com.google.protobuf:protoc:3.21.7}//配置生成目录编译后会在 build 的目录下生成对应的java文件generateProtoTasks {all().each { task -task.builtins {remove java}task.builtins {java {}}}} }dependencies {implementation com.google.protobuf:protobuf-java:3.21.7//.... } //根目录下build.gradle: plugins {id com.android.application version 8.0.2 apply falseid com.android.library version 8.0.2 apply falseid com.google.protobuf version 0.9.3 apply false }//java代码示例序列化的过程 public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public byte[] toByteArray() {AudioAcousticMngtProto.BandGain bandGain AudioAcousticMngtProto.BandGain.newBuilder().setGain(1).setBandID(2).build();AudioAcousticMngtProto.Equalizer equalizer AudioAcousticMngtProto.Equalizer.newBuilder().addBandGainList(bandGain).build();AudioAcousticMngtProto.Equalizerstruct proto_output AudioAcousticMngtProto.Equalizerstruct.newBuilder().setBandnumber(3).setGroupID(3).setEqualizer(equalizer).build();return proto_output.toByteArray();}public static AudioAcousticMngtProto.Equalizerstruct fromByteArray(byte[] data) {AudioAcousticMngtProto.Equalizerstruct equalizerstruct null;try {return equalizerstruct AudioAcousticMngtProto.Equalizerstruct.parseFrom(data);} catch (InvalidProtocolBufferException e) {e.printStackTrace();}return equalizerstruct;} }
http://www.huolong8.cn/news/24898/

相关文章:

  • 为什么手机网站跳转页面上学网站开发有用么
  • 北海网站制作公司响应式网站建设哪家好
  • 广东省网站备案四川淘宝网站建设方案
  • 工程施工行业在哪个网站容易找事做平台商业模式有哪些
  • 莱芜网站建设开发公司如何在网站中做内部链接
  • 支持支付宝登录的网站建设百度推广排名怎么做的
  • php网站开发几技术难点app制作图片
  • 多站点网站群的建设与管理定制衣服的软件app
  • 网站二级菜单是什么台州网站制作开发
  • 网站建设学什么软件rpg制作大师手机版
  • 网站前台建设用到哪些工具网站设计与开发策划书
  • 阿里云市场网站建设网页设计尺寸1080
  • 做网站的素材图片wordpress5.0新版如何发布文章
  • 湖南网站服务莒县城乡建设局网站
  • 城北区工程建设信息网站昆明网站建设搜q.479185700
  • 鹤壁做网站哪家便宜工程 建筑 公司 取名 参考
  • 做360全景有什么网站长安商城网站建设
  • 企业微信功能详细介绍seo外包多少钱
  • 盐城做网站需要多少钱黄骅贴吧房屋租赁信息
  • PHP网站开发案例12源代码临沂网站建设哪家专业
  • 张启亚学做网站wordpress 去掉meta
  • 上海企业网站seo多少钱阳朔到桂林大巴
  • 青海网站建设怎么建设网站被百度收录吗
  • 做医疗网站要几个人广告效果图用什么软件做
  • 无域名建网站网站建设和系统集成
  • lol解说网站源码联合加工网
  • 合肥建设学校官方网站廊坊快速排名优化
  • 网站建设开发技术类型装修装饰网站建设
  • 上海网站建设报价单wordpress 一键登录
  • 网站建设电话着么打两学一做专栏网站