如何将通过UrlImageViewHelper下载的图像保存到Android上的SD卡?

时间:2014-06-04 04:25:00

标签: android urlimageviewhelper

我正在使用UrlImageViewHelper库,它工作正常。 它将图像缓存在内部存储上,这对我来说很糟糕,因为我有很多图像,如果我想缓存它们,那就太可怕了。 如何保存这些下载的文件并将其存储在SD卡而不是内部存储中?

2 个答案:

答案 0 :(得分:1)

请通过浏览器检查您的网址是否有效。如果图片大小很大,请使用仍然显示您的网址的占位符图片,而不是加载图片,如下所示:

UrlImageViewHelper.setUrlDrawable(imageView, "http://example.com/image.png", R.drawable.placeholder);

答案 1 :(得分:0)

使用此课程

public class DemoHelper {

    private static final String TAG = DemoMainActivity.TAG;

    public static class RemoteImageTask extends AsyncTask<Void, Void, Bitmap> {
        ImageView _image;
        String _imageSource;
        TaskCallback _callback;

        public RemoteImageTask(ImageView image, String imageSource) {
            this(image, imageSource, null);
        }

        public RemoteImageTask(ImageView image, String imageSource, TaskCallback callback) {
            _image = image;
            _imageSource = imageSource;
            _callback = callback;
        }

        protected Bitmap doInBackground(Void... params) {
            URL url;
            Bitmap bmp = null;
            try {
                url = new URL(_imageSource);
                bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
            } catch (Exception ignored) {
                Log.e(TAG, "Exception", ignored);
            }

            return bmp;
        }

        protected void onPostExecute(Bitmap bmp) {
            _image.setImageBitmap(bmp);
            if (_callback != null)
                _callback.onTaskFinished(bmp);
        }
    }

    public interface TaskCallback {
        public void onTaskFinished(final Bitmap bmp);
    }
   }