首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试使用glide和volley从URL获取图像,获取错误的onResponse方法

尝试使用glide和volley从URL获取图像,获取错误的onResponse方法
EN

Stack Overflow用户
提问于 2021-03-18 00:23:52
回答 2查看 110关注 0票数 0

代码如下所示,这给了我一个onResponse方法的错误:

代码语言:javascript
运行
复制
RequestQueue queue = Volley.newRequestQueue(this);
// Url for the API call
String url = "https://meme-api.herokuapp.com/gimme";

// Request a string response from the provided URL.
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {

        String url = response.toString();

        ImageView imageView = (ImageView) findViewById(R.id.MemeImageView);

        Glide.with(this).load(url).into(imageView);
    }
}, new Response.ErrorListener()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-18 02:16:08

您可以在不将其保存到新字符串的情况下执行此操作。只需先检查响应是否为空,以及响应是否包含"url“属性,然后在imageview中直接使用response.getString("url")。

代码语言:javascript
运行
复制
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
        (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
             if(response!=null && response.getString("url")!null){
Glide.with(this).load(response.getString("url")).into(findViewById(R.id.MemeImageView));
}
            }
        }, new Response.ErrorListener() ....
票数 0
EN

Stack Overflow用户

发布于 2021-03-18 01:05:36

您应该首先检查请求的响应。

这就是它:

您正在将整个响应转换为一个字符串,并在Glide中将其作为URL传递。但您只需要此响应中的图像URL。

所以你的图片URL应该是这样的:

代码语言:javascript
运行
复制
String url = response.getString("url");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66677181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档