0

我从网上下载图片并将它们存储在缓存中。现在,我如何在 XML 中显示照片。照片存储如下:

/data/data/com.example.app/cache/wpta_i.jpeg

根据位置变化。我的 XML 如下:

 <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <ImageView
      android:id="@+id/img"  
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center">      
    </ImageView>
  </LinearLayout>

如何从缓存中加载图像并显示它?

4

2 回答 2

3

您应该从代码中加载drawable,然后将setImageDrawable 设置为ImageView。

String pathName = "/data/data/com.example.app/cache/wpta_i.jpeg"; 
Drawable d = Drawable.createFromPath(pathName);
ImageView myImageView=(ImageView)findViewById(R.id.img);
myImageView.setImageDrawable(d);
于 2012-10-09T11:05:48.187 回答
0

您可以使用Context.getCacheDir()获取缓存目录,然后从代码访问它,如 Perroloco 的答案所示。

该文档指出了一个明确的警告:

当设备存储空间不足时,这些文件将首先被删除。

无法保证何时删除这些文件。

因此,请确保您的文件在尝试加载之前存在。

于 2012-10-09T11:12:19.723 回答