Android 将JSON字符串从mysql数据库转换为图像

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

我正在从在线数据库获取数据,并将其显示在我的应用程序上。我通过JSON获取数据。我在数据库中有一个图像保存为BLOB。我尝试使用此代码将BLOB数据转换为图像并显示在页面上,但不起作用。iv是一个图像视图

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无法从字符串内容生成位图。请详细说明。