在Android中将Blob / Varbinary转换为图像

时间:2013-07-29 13:02:53

标签: android json string image wcf

我有一个图像通过JSON格式的Web服务发送给我。以下是它的样子: { “notif_detailsResult”:[{ “图像”:[255,216,255,224,0,16,74,....
 我想在Android中的Imageview上显示图像。在解析json之后,我可以将图像值存储在字符串

@Override
protected String doInBackground(String... params) {

String epc = params[0];
String result = null;
String url = "http://192.168.142.1:90/Service1.svc/notif?notif_id=24";
try {

BufferedReader inStream = null;
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpR = new HttpGet(url);
httpR.setHeader("Accept", "application/json");
httpR.setHeader("Content-type", "application/json");
HttpResponse response = httpClient.execute(httpR);
System.out.println("HERE in product display after exectunig response");
inStream = new BufferedReader(new     InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while((line = inStream.readLine()) != null)
{
sb.append(line + NL) ;   
}
inStream.close();
result = sb.toString();

} catch(Exception e){
e.printStackTrace();
}
return result;
}

@Override
protected void onPostExecute(String result) {

super.onPostExecute(result);
try {

JSONObject jObject = new JSONObject(result);

JSONArray array = jObject.getJSONArray("notif_detailsResult");
JSONObject jObject1 = array.getJSONObject(0);


String data = jObject1.getString("image");

2 个答案:

答案 0 :(得分:0)

做类似的事情 - 你有“数据”变量中的图像吗?  所以现在将你的字符串解析为byte [] ..

byte[] outImage=data;//do required thing to parse into byte if needed
ByteArrayInputStream imageStream = new ByteArrayInputStream(outImage);
Bitmap theImage = BitmapFactory.decodeStream(imageStream);
imgView.setImageBitmap(theImage);

答案 1 :(得分:0)

如果是byte [],则可以将图像值作为对象。

  byte[] b_Image=jsonObject.get("image");       
    image.setImageBitmap(BitmapFactory.decodeByteArray(b_Image,0, b_Image.length));

试试这个。