【问题标题】:How to load a gridview using volley request and glide/picasso?如何使用凌空请求和滑行/毕加索加载网格视图?
【发布时间】:2016-09-14 01:29:57
【问题描述】:

我是 Android 新手,我正在尝试从来自 web 服务的位图形式的图像填充网格视图。 (我无法控制网络服务)。我能够使用异步任务加载gridview,但是当我单击或取消活动/片段时,异步不会取消/停止,因此下一个活动在所有异步任务完成之前不会打开。

我之前问过一个关于这个的问题,这里的一位开发人员建议我使用 Picasso/glide。我不确定如何使用 volley 获取位图并将其设置为 picasso/glide。请建议。

【问题讨论】:

    标签: android gridview android-volley picasso android-glide


    【解决方案1】:

    因此,您不能将 Volley 与 Picasso 或 Glide 一起使用 :-) 在将数据放入 GridView 的项目视图的地方,您只需调用库中的方法即可从 url 加载图像 :)

    有了毕加索,它会是这样的:

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

    像这样使用 Glide:

    Glide.with(context)
        .load(url)
        .into(imageView);
    

    就这么简单,图书馆会为您完成剩下的工作 :-) 另外,只使用其中一个,不要同时使用 ^^ 我建议 Picasso,从我的经验开始更容易。

    【讨论】:

    • 我想同时使用两者的唯一原因是,我正在从 Web 服务下载图像,我将带有图像信息的 xml 发送到该 Web 服务。我不知道我怎么能用毕加索做到这一点。
    【解决方案2】:

    抱歉,我还不能发表评论。我只想通过说您需要添加来完成 Kelevandos 的回答:

    compile 'com.squareup.picasso:picasso:2.5.2'
    

    在您的 build.gradle(应用程序)或 Maven 中:

    <dependency>
        <groupId>com.squareup.picasso</groupId>
        <artifactId>picasso</artifactId>
        <version>2.5.2</version>
    </dependency>
    

    导入毕加索。 Here 是 Picasso 主页的链接,详细说明了不同的功能。

    【讨论】:

    • 我没有每个图像的 URL,因为我正在调用 Web 服务并通过 xml 发送图像的详细信息。
    • 您可以使用 URL、可绘制对象、文件或文件路径字符串来调用 Picasso .load()。如果你有位图,你可以创建一个文件并使用该文件来加载它
    • 毕加索旨在有效地使用缓存。如果位图在内存中,它将从那里加载。无论如何,毕加索的速度非常快。
    • 谢谢 TheSunshinator 但似乎很难滚动 bcos 进一步将位图转换为文件。此外,我希望当我单击导致下一个活动的图片时终止活动,并且直到获取到网格的所有图像才发生这种情况。:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    相关资源
    最近更新 更多