如何在android中使用kso​​ap将blob数据作为字节数组类型?

时间:2017-08-07 12:55:36

标签: android arrays blob ksoap

我有一个Web服务,我在我的Android应用程序中使用kso​​ap库来访问它。我的代码如下:

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 []类型。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

我为我的应用程序找到了正确的解决方案。

在我的活动课中,我尝试了以下代码:

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