Android 存储和检索 RecyclerView 的图像

问题描述

我创建了一个应用来显示运动队的比分、统计数据、赛程表等。 在 RecyclerView 中,我会显示所有团队的当前排名/排名列表以及特定的详细信息,例如胜利、失败、加时赛、主场记录、客场记录等。

大部分数据以JSON格式下载并解析。但是,我在使用团队徽标时遇到了麻烦。因为它们不是 JSON 文件的一部分,也没有指向它们各自徽标的任何链接。因此,我想将徽标作为应用程序的一部分,并在适当的时间和地点加载它们。

我对 Glide 和 Picasso 进行了简要介绍,似乎重点更集中在下载和存储/缓存图像上。

由于我不想下载任何图像,而是将它们包含在应用程序中,因此我对如何解决这个问题有点迷茫。

我应该在哪里存储图像/徽标?在 drawables 文件夹中?如何从 RecyclerView 的适配器访问它们?

以下是我的电影应用的适配器 bindviewholder 的一部分。如果缓存中不可用,它会从网络下载图像。

if (this._movie.getPosterPath() != null) {
    File imageFile = new File(Utils.Storage.getInternalStoragePath(getApplicationContext()),this._movie.getPosterPath());
    if (imageFile.exists()) {
        Glide.with(getApplicationContext()).load(imageFile).placeholder((int) R.drawable.no_movie_image).override((int) getResources().getDimension(R.dimen.image_large_width),(int) getResources().getDimension(R.dimen.image_large_height)).centerCrop().into(this._imgMovie);
    } else {
        Glide.with(getApplicationContext()).load("https://image.tmdb.org/t/p/w500//" + this._movie.getPosterPath()).placeholder((int) R.drawable.no_movie_image).override((int) getResources().getDimension(R.dimen.image_large_width),(int) getResources().getDimension(R.dimen.image_large_height)).centerCrop().into(this._imgMovie);
    }
} else {
    Glide.with(getApplicationContext()).load(R.drawable.no_movie_image).override((int) getResources().getDimension(R.dimen.image_large_width),(int) getResources().getDimension(R.dimen.image_large_height)).centerCrop().into(this._imgMovie);
}

感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)