在android中使用通用Image-loader无法加载图像

时间:2014-06-20 10:11:05

标签: android android-imageview universal-image-loader

我已经制作了一个Android应用程序,在一个活动中我有一个imageView,我想用imageLoader显示一个图像,我已经使用了很多时间的imageloader,但是我得到了这种类型的错误图片无法解码,我的代码如下,请帮帮我, 的

iv_profile = (ImageView) findViewById(R.id.iv_profile);
imageLoader = ImageLoader.getInstance();
        imageLoader.init(ImageLoaderConfiguration.createDefault(HomeActivity.this));

        options = new DisplayImageOptions.Builder().cacheOnDisc(true).showStubImage(R.drawable.noimage).showImageOnFail(R.drawable.noimage).build();
String img = "http://tp.epagestore.in/" + Pref.getValue(HomeActivity.this, Const.PREF_PHOTO, "");
    imageLoader.displayImage(img, iv_profile, options);

1 个答案:

答案 0 :(得分:0)

请尝试以下代码,对我来说效果很好。

oncreate中的init imageloader类。

<强> you can change the config param if you want.

imageLoader = ImageLoader.getInstance();
            options = new DisplayImageOptions.Builder().showImageForEmptyUri(R.drawable.ic_empty)
                .showImageOnFail(R.drawable.appicon_).resetViewBeforeLoading(true).cacheOnDisc(true)
                .imageScaleType(ImageScaleType.EXACTLY).bitmapConfig(Bitmap.Config.RGB_565).considerExifParams(true)
                .displayer(new FadeInBitmapDisplayer(300)).build();

        File cacheDir = StorageUtils.getCacheDirectory(mContext);
        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(mContext)
                .memoryCacheExtraOptions(480, 800)
                // default = device screen dimensions
                .discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75, null)
                // .taskExecutor(AsyncTask.THREAD_POOL_EXECUTOR)
                // .taskExecutorForCachedImages(AsyncTask.THREAD_POOL_EXECUTOR).threadPoolSize(3)
                // default
                .threadPriority(Thread.NORM_PRIORITY - 1)
                // default
                .tasksProcessingOrder(QueueProcessingType.FIFO)
                // default
                .denyCacheImageMultipleSizesInMemory().memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))
                // default
                .memoryCacheSize(2 * 1024 * 1024).discCache(new UnlimitedDiscCache(cacheDir))
                // default
                .discCacheSize(50 * 1024 * 1024).discCacheFileCount(100)
                .discCacheFileNameGenerator(new HashCodeFileNameGenerator()) // default
                .imageDownloader(new BaseImageDownloader(mContext)) // default
                .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
                .build();
        if (imageLoader.isInited()) {

        } else {
            imageLoader.init(config);
        }

在视图中加载图片

        imageLoader.displayImage(url, img, options, new ImageLoadingListener() {
        @Override
        public void onLoadingStarted(String imageUri, View view) {

        }

        @Override
        public void onLoadingFailed(String imageUri, View view, FailReason failReason) {


        }

        @Override
        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {

        }

        @Override
        public void onLoadingCancelled(String imageUri, View view) {

        }

    });