Android图片下载2种方法

1、最常用ImageLoader

//调用方法
ImageLoader.getInstance().displayImage("url",mImg_photo, imageOptions);

//设置图片属性:下载时的图片,下载失败的图片,是否圆角

DisplayImageOptions imageOptions = new DisplayImageOptions.Builder().cacheInMemory(true).cacheOnDisc(true)
				.showImageOnLoading(R.drawable.default_loading)		// 加载开始默认的图片
				.showImageForEmptyUri(R.drawable.default_loading)	// url爲空會显示该图片,自己放在drawable里面的
				.showImageOnFail(R.drawable.default_loading)		// 加载图片出现问题,会显示该图片
				.imageScaleType(ImageScaleType.IN_SAMPLE_INT).bitmapConfig(Bitmap.Config.RGB_565).build();
package com.example.another;

import android.annotation.TargetApi;
import android.app.Application;
import android.content.Context;
import android.os.Build;

import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;

/**
 * @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
 */
public class UILApplication extends Application {
	@TargetApi(Build.VERSION_CODES.GINGERBREAD)
	@SuppressWarnings("unused")
	@Override
	public void onCreate() {
		super.onCreate();

		initImageLoader(getApplicationContext());
	}

	public static void initImageLoader(Context context) {		
		ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
				.threadPriority(Thread.NORM_PRIORITY - 2)
				.denyCacheImageMultipleSizesInMemory()
				.diskCacheFileNameGenerator(new Md5FileNameGenerator())
				.tasksProcessingOrder(QueueProcessingType.LIFO)
				.writeDebugLogs() // Remove for release app
				.build();
		// Initialize ImageLoader with configuration.
		ImageLoader.getInstance().init(config);
	}
}

2、AsyncTask下载

//开启图片加载
ImageAsyncTask asyncTask = new ImageAsyncTask();
asyncTask.execute("url");

 class ImageAsyncTask extends AsyncTask<String, Void, Bitmap>
    {
        private Bitmap bitmap;
       

        @Override
        protected Bitmap doInBackground(String... params)
        {
            InputStream is = null;
            try
            {
                URL url = new URL(params[0]);
                URLConnection openConnection = url.openConnection();
                is = openConnection.getInputStream();
                bitmap = BitmapFactory.decodeStream(is);
                if (bitmap != null)
                {
                    hadImage.put(params[0], bitmap);
                }
            }
            catch (MalformedURLException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            catch (IOException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            finally
            {
                if (is != null)
                {
                    try
                    {
                        is.close();
                    }
                    catch (IOException e)
                    {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
            return bitmap;
        }

        @Override
        protected void onPostExecute(Bitmap result)
        {
            // 下载完显示
            imageView.setImageBitmap(result);
            
            super.onPostExecute(result);
        }
    }
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值