dataLength[0] = dataLength[1] = 0;
dataLength[2] = (byte)((data.length >> 8) & 0xff);
dataLength[3] = (byte)((data.length) & 0xff);messageLength = ((buffer[0] & 0xff) << 24)
| ((buffer[1] & 0xff) << 16)
| ((buffer[2] & 0xff) << 8)
| (buffer[3] & 0xff);
谁解释下什么意思?
dataLength[2] = (byte)((data.length >> 8) & 0xff);
dataLength[3] = (byte)((data.length) & 0xff);messageLength = ((buffer[0] & 0xff) << 24)
| ((buffer[1] & 0xff) << 16)
| ((buffer[2] & 0xff) << 8)
| (buffer[3] & 0xff);
谁解释下什么意思?
解决方案 »
- 关于Android与PC之间的Socket通信
- j2ee转(已经转、或者打算转)android的请进
- 自己编译的android内核如何烧录到手机上?
- 请问如何重写alertdialog的onBackPressed函数?
- 高分求解决launcher二次开发问题
- 求助:android 软键盘问题
- 现在Android开发月薪怎么样?J2EE转Android是否值得?
- LocationManager 问题
- Android新手,hello world就是跑不出来,请帮忙看下怎么回事
- 短信接收和短信发送截取很难吗?
- Android广播监听短信,在eclipse的虚拟机上测试没问题,安装到手机就监听不到.
- 如何识别图片中的纹路(线条)
| ((buffer[1] & 0xff) << 16)
| ((buffer[2] & 0xff) << 8)
| (buffer[3] & 0xff);这是 readRilMessage 的代码吧。
这段代码是把以 little-endian 存储的数据还原到本来的样子。
read(buffer, offset, remaining); 读入 remaining 长度的流数据;
JVM 用 little-endian 存储 int 型的 messageLength ,所以得用位操作转换一下。
read(buffer, offset, remaining); 读入 remaining 长度的流数据;
JVM 用 big-endian 存储 int 型的 messageLength ,所以得用位操作转换一下。