bol*_*ing 5 java string android google-cloud-messaging
我想直接在GCM(Google Cloud Message)中嵌入数据,以帮助我的应用程序跳过我的服务器往返.
谷歌称,总数据有效载荷需要达到4kb以内.使用[key,value]对发送数据.假设我做了这样的事情:
String key = "key";
String data = "data";
Message message = new Message.Builder().addData(key, data).build();
sender.send(message, regId, 5);
Run Code Online (Sandbox Code Playgroud)
我怎么知道它String data是否小于4kb?据我所知,没有办法真正做到String.getSize()或类似.
如果好奇,请链接到文档:http: //developer.android.com/training/cloudsync/gcm.html#embed
您可以使用以下命令获取String的字节:
String s = "some text here";
byte[] b = s.getBytes("UTF-8");
int bytes = b.length;
Run Code Online (Sandbox Code Playgroud)
请确保指定编码String,因为不同的编码可能会占用相同String的不同字节数.在上面的例子中,UTF-8用作编码.
要将字节转换为kB,只需除以1024.
编辑:这是关于Geobits评论中Java中不同编码的字节空间的一个很好的详细解答.
| 归档时间: |
|
| 查看次数: |
4633 次 |
| 最近记录: |