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);
}
}