如何从json响应中获取图像?

时间:2014-11-18 06:47:02

标签: android json

你好我试图在我的应用程序活动中使用JSON从响应获取数据我得到的所有数据都完美除了图像,它没有在我的输出中显示..我不知道使用简单{{1}的问题是什么和它有setTag方法,任何人都可以帮忙吗?

setText

3 个答案:

答案 0 :(得分:2)

我认为你是从url下载Image,所以我建议你使用Android Query,如果你使用它,你永远不会得到这个错误。

您可以从此处下载jar文件:here下载jar文件并将jar设置为Build Path。

 AQuery androidAQuery=new AQuery(this);

作为直接从网址加载图片的示例:

androidAQuery.id(ucover).image(user_pro, true, true);

作为从url获取Bitmap的示例:

androidAQuery.ajax(YOUR IMAGE URL,Bitmap.class,0,new AjaxCallback<Bitmap>(){
                        @Override
                        public void callback(String url, Bitmap object, AjaxStatus status) {
                            super.callback(url, object, status);

                            //You will get Bitmap from object.
                        }

                    });

它非常快速和准确,使用它你可以在加载时找到更多功能,如动画;如果需要,获取位图;等

答案 1 :(得分:0)

  

使用ION库....从网络中获取图像非常简单....就像这样,

Ion.with(context).load("url").withBitmap()
            .resize(512, 512).centerCrop().intoImageView(image);
  

试试这个......

答案 2 :(得分:0)

这是可行的解决方案: 首先使用这个 -

从JSON获取图像的URL
String imgURL = json.getString(JSON_TAG_OF_IMAGE);  //Getting the URL

现在,使用以下代码从URL获取图像,(使用try / catch环绕)

try {

    getBitmapFromUrl(imgURL);    //getBitmapFromUrl is a methos by which image is downloaded
    photo = bmp;                 //photo is Bitmap varible and bmp is bitmap returned by getBitmapFromUrl 

} catch (Exception ex) {
    Log.d(_TAG, "Bitmap Not Received");
}

这是getBitmapFromurl: -

private static Bitmap getBitmapFromUrl(String hos_imgURL)
            throws IOException {

        URL IMGURL = new URL(hos_imgURL);
        Log.d(_TAG, "Image Url:" + IMGURL.toString());
        HttpURLConnection conn = (HttpURLConnection) IMGURL.openConnection();
        conn.setDoInput(true);
        conn.connect();

        conn.setConnectTimeout(30000);
        conn.setReadTimeout(30000);

        InputStream is = conn.getInputStream();
        bmp = BitmapFactory.decodeStream(is);

        return bmp;
    }

那就是它。您可以将位图(照片变量)设置为imageview。 希望这有助于:) :)