显示存储在缓存中的图像,Android

时间:2012-10-09 10:59:25

标签: android android-layout android-xml android-image

我从网上下载图片并将其存储在缓存中。现在,我如何在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>

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

2 个答案:

答案 0 :(得分:2)

您应该从代码中加载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);

答案 1 :(得分:0)

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

文档明确警告:

  

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

     

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

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