org.apache.http.util.ByteArrayBuffer替代方案

时间:2016-04-24 14:18:38

标签: java android android-studio

我对Android开发很新(几个小时)。

我对此导入有问题:

import org.apache.http.util.ByteArrayBuffer

我用它作为

    ByteArrayBuffer bytes = new ByteArrayBuffer(hex.length() / 2);
    for (int i = 0; i < hex.length(); i++) {
        if (hex.charAt(i) == ' ') {
            continue;
        }
        String hexByte;
        if (i + 1 < hex.length()) {
            hexByte = hex.substring(i, i + 2).trim();
            i++;
        } else {
            hexByte = hex.substring(i, i + 1);
        }
        bytes.append(Integer.parseInt(hexByte, 16));
    }

但是,它给了我这个错误: 无法解析'ByteArrayBuffer' 以下是我正在使用的SDK版本:

minSdkVersion 18
targetSdkVersion 23
compileSdkVersion 23
buildToolsVersion "23.0.3"

我需要知道的只是这个问题的替代方案。

使用Android Studio 2.0

2 个答案:

答案 0 :(得分:1)

从Android 23开始,Google删除了apache httpclient。要继续使用apache httpclient,您必须将apache库添加到项目中,否则使用其他Api。

答案 1 :(得分:0)

找到替代方案:

public static byte[] hexToBytes(String s) {
        int len = s.length();
        byte[] data = new byte[len/2];
        for(int i = 0; i < len; i+=2){
            data[i/2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i+1), 16));
        }
        return data;
    }