我有一个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 []类型。我怎样才能做到这一点?
答案 0 :(得分:0)
我为我的应用程序找到了正确的解决方案。
在我的活动课中,我尝试了以下代码:
byte[] byteValue = Base64.decode(response.getProperty(0).toString().getBytes(), Base64.DEFAULT);