小编Sam*_*udd的帖子

Recyclerview适配器和Glide - 每4-5行相同的图像

我有这个问题 - 只是为了测试目的,我添加ParseFileParseObject收到列表中的一个.它不是仅显示在该行中,而是显示每4-5行,有时更多,有时更少.我认为回收视图与此有关.奇怪的是,其他数据(从这个例子中删除)适用于position变量.

@Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        if(parseList.get(position).get("logo") != null){
            ParseFile image = (ParseFile) parseList.get(position).get("logo");
            String url = image.getUrl();
            Glide.with(context)
                    .load(url)
                    .placeholder(R.drawable.piwo_48)
                    .transform(new CircleTransform(context))
                    .into(holder.imageView);


        }

    }
Run Code Online (Sandbox Code Playgroud)

android parse-platform recycler-adapter android-recyclerview android-glide

37
推荐指数
1
解决办法
4万
查看次数

在Android中使用Glide将背景图像设置为相对布局

我怎么能用Glide做到这一点?我想cache成像再次使用它.提前致谢.

layout android-glide

28
推荐指数
5
解决办法
3万
查看次数

如何使用Glide通过字节数组加载图像?

我有一个图像内容byte []形式.但是当我通过Glide加载它们时,会显示破碎的图像.我正在做的事情如下所示.

Glide.with(context)
    .load(imageByteArray)
    .asBitmap()
    .placeholder(R.drawable.ic_broken)
    .into(rowImageView);
Run Code Online (Sandbox Code Playgroud)

imageByteArray成功转换为位图而不使用滑动.所以图像字节数组没有错.

请指导我,我错过了什么?

我也在使用Glide库com.github.bumptech.glide:glide:3.6.1和Android支持库com.android.support:support-v13:23.0.1

编辑

好的,这就是我正在做的事情.

String imageBytes = "HVao14fpmtHSev3OgsrQNsawkFzXNcY3BsfQla6..."
Run Code Online (Sandbox Code Playgroud)

上面定义的这个字符串是我从web API收到的实际图像的字节.

我正在将此String转换为像这样的字节数组

public static byte[] hexStringToByteArray(String s) {
        int len = s.length();
        byte[] data = new byte[len / 2];
        for (int i = 0; i < len; i += 2) {
            data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
                    + Character.digit(s.charAt(i+1), 16));
        }
        return data;
}
Run Code Online (Sandbox Code Playgroud)

比我将结果字节数组"imageByteArray"应用于上面定义的Glide代码.

java android android-glide

25
推荐指数
4
解决办法
2万
查看次数

如何在滑行中制作圆形裁剪图像的边框

默认情况下,滑行裁剪的图像没有边框我需要在圆形图像中有边框.

android android-glide

21
推荐指数
4
解决办法
3万
查看次数

滑动 - 添加标头以请求

是否有一种方法可以在下载图像时添加自定义标题以供请求?我可以在Glide中使用volley或okhttp.

我尝试在okhttpclient中向cookiemanager添加cookie,但它没有帮助.有没有一种方法可以在Glide中调试请求响应?

最好的问候汤姆

android request android-volley okhttp android-glide

19
推荐指数
4
解决办法
2万
查看次数

在Recyclerview中使用Glide警告

我刚开始从Universal Image Loader转移到Glide.但是,当在recyclerview中再次向下滚动时,我收到大量的警告信息.

W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
Run Code Online (Sandbox Code Playgroud)

如果我将Glide替换为另一个图像加载库,则警告消失.bindViewHolder中与图像相关的代码:

   Glide.with(viewHolder.imageView.getContext())
            .load(DisplayImageUtil.getImageUrl(item.getImageUrl(), 600))
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(viewHolder.imageView);
Run Code Online (Sandbox Code Playgroud)

在Nexus 5上测试过.

android android-glide

16
推荐指数
1
解决办法
1万
查看次数

滑行图像加载超时增加

我正在使用滑动来从URL加载图像.当我提取图像时,我在图像视图中显示了一个加载器.正在获取的某些图像较大,因此发生慢速Internet连接超时并引发异常

如何增加超时?

android timeout android-glide

13
推荐指数
5
解决办法
7810
查看次数

我需要将几个图像下载到目录,以便可以离线访问内容

我得到一些包含一些食物菜单项的JSON数据

请注意:这只是一个示例,有时会有超过2个图像,阵列中还有更多菜单项!

{
  "menu": [
    {
      "url": "/api/v1/menu/1",
      "name": "Best Food",
      "description": "really nice food",
      "opening_time": "every day from 9am to 6pm",
      "contact_email": "info@food.com",
      "tel_number": "+54 911 3429 5762",
      "website": "http://bestfood.com",
      "images": [
        {
          "url": "https://blahblah/image1.jpg"
        },
        {
          "url": "https://blahblah/image2.jpg"
        }
      ]
    },

  ]
}
Run Code Online (Sandbox Code Playgroud)

每个项目都有一些信息和一组图像URL.

我正在使用Glide图像库来处理这些图像,并使用Retrofit 2.0从端点下载JSON数据.一切都很顺利.

但是,我需要存储此下载的数据以供离线访问.

目前,我在现有模型上使用ORM Lite将所有JSON数据存储在数据库中.这部分还可以.

但是,在我的数据库中,我只存储图像URL,因为我被告知在数据库中存储图像(作为blob)不是好方法.

因此,我的应用程序中有一个部分可以查看已保存的菜单,如果用户选择,可以选择将其下载以供脱机访问.

此时值得一提的是,我已经在数据库中拥有原始菜单信息,因为用户必须首先查看菜单才能在DB中获取它.

但问题是图像.

这是我不知道如何进行的地方,但我列出了我正在考虑的解决方案和问题,并希望人们可以告诉我什么是最好的行动方案.

  1. 使用服务下载图像.我认为这是强制性的,因为我不知道将有多少图像,即使用户退出应用程序,我也希望继续下载

  2. Glide有一个仅下载图像选项,您可以在此处此处阅读其配置缓存所在的位置(内部私有或外部公共).问题是我对设置缓存大小感到不舒服,因为我不知道需要什么.我想设置无限.

  3. 我需要能够删除保存的菜单数据,特别是如果它保存在外部公共目录中,因为在删除应用程序时不会删除该菜单数据,或者如果用户选择从应用程序中删除已保存的菜单.我以为我可以将文件图像URI或整个保存菜单的位置存储在数据库中,但不确定这是否是一种好方法

  4. 我在不同的来源和答案中读到,在这个用例中只是将图像缓存到SD卡等,我应该专门使用网络库来避免将位图分配给堆内存.我目前在我的应用程序中使用OK HTTP.

java android json caching android-glide

12
推荐指数
1
解决办法
1607
查看次数

Android Glide占位符大小

我有Android Glide的问题.我试图快速交换我的图像,他们只是成为占位符大小,我的占位符图像是非常低的大小.那么我需要做什么?

也许我需要检查它是否已装载或其他东西,但我不知道如何.

Glide.with(this)
    .load(quest.get(id).getImage())
    .placeholder(R.drawable.load)
    .fitCenter()
    .crossFade()
    .into(imageView);
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-glide

11
推荐指数
2
解决办法
1万
查看次数

我可以与Glide同步加载图像吗?

我知道同步加载来自设备存储的位图是不太实际的,但我真的必须这样做.我还没有想出办法.

android android-glide

11
推荐指数
1
解决办法
6277
查看次数