如何使用 ksoap 在 android 中获取字节数组类型的 blob 数据?

How to get blob data as byte array type in android with ksoap?

我有一个 Web 服务,我在 android 应用程序中使用 ksoap 库访问它。我的代码如下;

Data.java

public class Data implements KvmSerializable{

public byte[] byteValue;

public Data(){

}

public Data(byte[] byteValue) {
    this.byteValue = byteValue;
}

@Override
public Object getProperty(int arg0) {
    switch(arg0) {
        case 0:
            return byteValue;
    }
    return null;
}

@Override
public int getPropertyCount() {
    return 1;
}

@Override
public void setProperty(int index, Object o) {
    switch (index) {  
        case 0:
            byteValue = (byte[]) o;
            break;        
    }
}

@Override
public void getPropertyInfo(int i, Hashtable arg1, PropertyInfo info) {

    switch(i) {
        case 0:
            info.type = MarshalBase64.BYTE_ARRAY_CLASS;
            info.name = "byteValue";
            break;        
    }

}

我的数据库中有一个 blob 值不同于图像。当我使用以下代码时,

SoapObject response = (SoapObject) envelope.getResponse();
response.getProperty(0);

我获得了对象类型值,但是对于我的 android 应用程序,我需要将此值作为 byte[] 类型获得。我怎样才能做到这一点?

我找到了适合我的应用程序的解决方案。

在我的 activity class 中,我尝试了以下代码:

byte[] byteValue = Base64.decode(response.getProperty(0).toString().getBytes(), Base64.DEFAULT);