我从网上下载图片并将其存储在缓存中。现在,我如何在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>
如何从缓存中加载图像并显示它?
答案 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的回答所示。
文档明确警告:
当设备存储空间不足时,这些文件将首先被删除。
无法保证何时删除这些文件。
因此,在尝试加载文件之前,请确保您的文件存在。