Android 将JSON字符串从mysql数据库转换为图像
我正在从在线数据库获取数据,并将其显示在我的应用程序上。我通过JSON获取数据。我在数据库中有一个图像保存为BLOB。我尝试使用此代码将BLOB数据转换为图像并显示在页面上,但不起作用。iv是一个图像视图Android 将JSON字符串从mysql数据库转换为图像,android,mysql,json,image,android-imageview,Android,Mysql,Json,Image,Android Imageview,我正在从在线数据库获取数据,并将其显示在我的应用程序上。我通过JSON获取数据。我在数据库中有一个图像保存为BLOB。我尝试使用此代码将BLOB数据转换为图像并显示在页面上,但不起作用。iv是一个图像视图 String imgstr = intent.getStringExtra("image"); Log.d("image str from db", "" + imgstr); if(imgstr!=null){ byte[] b = i
String imgstr = intent.getStringExtra("image");
Log.d("image str from db", "" + imgstr);
if(imgstr!=null){
byte[] b = imgstr.getBytes();
Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length);
iv.setImageBitmap(bmp);
}else{
iv.setVisibility(View.GONE);
}
我已经在stackoverflow上检查了与此相关的所有答案,但对我没有帮助。因此,请不要将问题标记为重复。谢谢
更新:添加了如何从数据库获取数据;
forint i=0;i // Storing JSON item in a Variable
String eid = c.getString(TAG_EID);
String ename = c.getString(TAG_ENAME);
String etype = c.getString(TAG_ETYPE);
String edesc = c.getString(TAG_EDESC);
String esdate = c.getString(TAG_ESDATE);
String eedate = c.getString(TAG_EEDATE);
String estime = c.getString(TAG_ESTIME);
String eetime = c.getString(TAG_EETIME);
String location = c.getString(TAG_LOCATION);
String created_at = c.getString(TAG_CREATED_AT);
String edited_at = c.getString(TAG_EDITED_AT);
String createdby = c.getString(TAG_CREATEDBY);
String image= c.getString(TAG_IMAGE);
String approved = c.getString(TAG_APPROVED);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_EID, eid);
map.put(TAG_ENAME, ename);
map.put(TAG_ETYPE, etype);
map.put(TAG_EDESC, edesc);
map.put(TAG_ESDATE, esdate);
map.put(TAG_EEDATE, eedate);
map.put(TAG_ESTIME, estime);
map.put(TAG_EETIME, eetime);
map.put(TAG_LOCATION, location);
map.put(TAG_CREATED_AT, created_at);
map.put(TAG_EDITED_AT, edited_at);
map.put(TAG_CREATEDBY, createdby);
map.put(TAG_IMAGE, image);
map.put(TAG_APPROVED, approved);
oslist.add(map);
list=(ListView)findViewById(R.id.list);
TextView emptyText = (TextView)findViewById(R.id.empty);
list.setEmptyView(emptyText);`
然后从这里单击列表项时,数据被传递到我想要显示图像的当前意图上
单击列表:
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent i = new Intent(ListNew.this, NewEvent.class);
i.putExtra("eid", oslist.get(+position).get("eid") );
//i.putExtra("tel", tels.get(position) );
i.putExtra("ename", oslist.get(+position).get("ename") );
i.putExtra("etype", oslist.get(+position).get("etype") );
i.putExtra("edesc", oslist.get(+position).get("edesc") );
i.putExtra("esdate", oslist.get(+position).get("esdate") );
i.putExtra("eedate", oslist.get(+position).get("eedate") );
i.putExtra("estime", oslist.get(+position).get("estime") );
i.putExtra("eetime", oslist.get(+position).get("eetime") );
i.putExtra("location", oslist.get(+position).get("location") );
i.putExtra("created_at", oslist.get(+position).get("created_at") );
i.putExtra("edited_at", oslist.get(+position).get("edited_at") );
i.putExtra("createdby", oslist.get(+position).get("createdby") );
i.putExtra("image", oslist.get(+position).get("image") );
i.putExtra("approved", oslist.get(+position).get("approved") );
startActivity(i);
}
});
从DB哪里获得图像?发布该代码。@MD,我已更新了问题GetStringExtraImage;。该问题是否包含您的图像?没有putExtra。请详细说明。@greenapps,啊,是的,我的错。我添加了,仍然没有字符串image=c.getStringTAG\u image;。您的图像是字符串?请详细说明。字符串imgstr=intent.getStringExtraimage;。因此您有一个字符串。BitmapFactory无法从字符串内容生成位图。请详细说明。