如何将存储在服务器上的图像加载到imageView?不使用BimapFactory.decodeStream()

时间:2016-07-14 06:04:47

标签: android android-imageview imagedownload

我想将存储在服务器上的图像加载到imageView

我知道如何使用

将图像加载到imageView
BitmapFactory.decodeStream(inputStream);

但我认为这种方法会导致安全问题,因为图片网址是开放的 (如果知道图片网址,他们可以在网上下载图片,也可以显示。)

并且该方法应该连接与图像数量一样多。

所以,我想知道从服务器一次获取图像的不同方法

你知道吗?例如使用流或部分?帮帮我〜!

2 个答案:

答案 0 :(得分:1)

使用Android Universal Image-Loader这是最好的

  

声明

    private ImageLoader imageLoader1;
  

创建

 imageLoader1 = ImageLoader.getInstance();

 imageLoader1.init(ImageLoaderConfiguration.createDefault(getActivity()));
  

no_image这里是一个可在Cache中没有任何图像加载的可绘制图像

   DisplayImageOptions
            options = new DisplayImageOptions.Builder()
            .cacheInMemory(true)
            .cacheOnDisk(true)
            .showImageOnLoading(R.drawable.no_image) // resource or drawable
            .showImageForEmptyUri(R.drawable.no_image) // resource or drawable
            .showImageOnFail(R.drawable.no_image)
            .considerExifParams(true)
            .bitmapConfig(Bitmap.Config.RGB_565)
            .build();

    imageLoader1.displayImage(yourpath.replace(" ", "%20"), ivprofile, options);

使用它也是依赖

with jar你可以很容易地找到最新的jar或依赖

  compile files('libs/universal-image-loader-1.9.5.jar')

  compile  'com.nostra13.universalimageloader:universal-image-loader:1.9.1'

您也可以使用Piccaso并同时滑行

答案 1 :(得分:0)

您只需使用一行代码即可使用Picasso或Glide加载图像。这是链接。

毕加索:

http://square.github.io/picasso/

滑翔:

https://github.com/bumptech/glide