我该怎么办" put"在这段代码?

时间:2014-08-07 15:56:45

标签: android arduino

您好我一直在写一本书的代码,但我的代码中有错误,而且由于我不是一个优秀的应用开发者,我无法解决问题。 这是代码

    public static MQTTMessage decode(final byte[] message) {
    int i = 0;
    MQTTMessage mqtt = new MQTTMessage();
    mqtt.type = (message[i]>>4 & 0x0F);
    mqtt.DUP = ((message[i] >> 3) & 0x01) == 0 ? false : true;
    mqtt.QoS = (message[i] >> 1) & 0x03;
    mqtt.retain = (message[i] & 0x01) == 0 ? false : true;
    i++;
    int multiplier = 1;
    int length = 0;
    byte digit = 0;
    do {
        digit = message[i++];
        length += (digit & 127) * multiplier;
        multiplier *= 128;
    } while ((digit & 128) != 0);
    mqtt.remainingLength = length;
    switch (mqtt.type) {
    case CONNECT:
        int protocol_name_len = (message[i++] << 8 | message[i++]);
        mqtt.variableHeader.put("protocol_name", new String(message, i, protocol_name_len));
        mqtt.variableHeader.put("protocol_version", message[i++]);
        mqtt.variableHeader.put("has_username", ((message[i++] << 7) & 0x01) == 0 ? false : true);
        mqtt.variableHeader.put("has_password", ((message[i] << 6) & 0x01) == 0 ? false : true);
        mqtt.variableHeader.put("will_retain", ((message[i] << 5) & 0x01) == 0 ? false : true);
        mqtt.variableHeader.put("will_qos", ((message[i] << 3) & 0x03));
        mqtt.variableHeader.put("will", ((message[i] << 2) & 0x01) == 0 ? false : true);
        mqtt.variableHeader.put("clean_session", ((message[i] << 1) & 0x01) == 0 ? false : true);
        int keep_alive_len = (message[i++] << 8 | message[i++]);
        mqtt.variableHeader.put("keep_alive", new String(message, i, keep_alive_len));
        break;

eclips中的错误是关于&#34; put&#34;命令。顺便说一下,这本书说它是一个有效的代码!

我该怎么办?

提前谢谢你

0 个答案:

没有答案
相关问题