【问题标题】:Android - how to convert image url to image?Android - 如何将图片网址转换为图片?
【发布时间】:2015-12-05 04:15:38
【问题描述】:

我收到包含图像字符串的 json 响应。图片如何解码,ImageView中如何设置?

{
success: true
customer: {
customer_id: 93
firstname: "vigneshtesting"
lastname: ""
email: "testing@gmail.com"
telephone: 8189968996
fax: ""
image: "images/89159094355efdcebb3c568.81451258.jpg"
salt: "222ef72b3"
password: "8e61e0255f99ede9c2eb2290347285c5a6552012"
newsletter: ""
customer_group_id: ""
status: ""
date_modified: "0000-00-00 00:00:00"
abbr: ""
grpname: ""
description: ""
approve: ""
disp_comp: ""
comp_no: ""
disp_tax: ""
tax_id: ""
sortorder: ""
banip: ""
}
}

【问题讨论】:

  • 1.解析您的 json 并获取 url。 2.下载图片并将图片设置为imageview
  • @vignesh 使用图片加载库,如GlideUniversal Image Loader 等,
  • 我会的..@Raghunandan @b1izzard

标签: android json android-activity android-asynctask


【解决方案1】:

首先您需要解析 JSON。

JSONObject jsonObject = <your-object>;
String image = jsonObject.getString("image");

现在您将图像 url 作为字符串对象“图像”中的字符串。您必须将此网址中的图像加载到目标图像视图。为此,您可以使用Picasso。那里提到了如何使用它的清晰描述。您可以直接使用此字符串,如下所示。

Picasso.with(context).load(image).into(imageView);

【讨论】:

    【解决方案2】:

    从 json 中解析图片 url 并获取图片为位图:

    URL url = new URL("http://....");
    Bitmap image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
    

    然后将imageview中的图片设置为:

    imageview.setImageBitmap(image);
    

    注意:使用 asynctask 从 url 下载图片。

    【讨论】:

    • 提供图片的完整路径,而不仅仅是 images/89159094355efdcebb3c568.81451258.jpg,它肯定会工作
    【解决方案3】:

    解析您的 JSON 并获取 url 并使用任何库下载,例如:Picaso 库

    here is good tutorial

    【讨论】:

      【解决方案4】:

      解析您的 json 以获取图像 url。 从 url 显示图像 最好的方法是使用Picasso library 可以直接放图片Url,也可以缓存图片。

      阅读此Documentation 了解毕加索。

      其他有用的库是:

      1) Android-Universal-Image-Loader

      2)ion

      或者如果您想从 url 获取位图,请参阅here

      【讨论】:

        猜你喜欢
        • 2018-08-29
        • 2020-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-19
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        相关资源
        最近更新 更多