ImageLoader加载图片

来源:互联网 发布:淘宝达人简历怎么写 编辑:程序博客网 时间:2024/06/02 06:10
先导universal-image-loader-1.9.3包

在application配置 android:name=".MyApplication"

intent权限

 1 package com.ch.day13_imageloaderdemo; 2  3 import java.io.File; 4  5 import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache; 6 import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator; 7 import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; 8 import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache; 9 import com.nostra13.universalimageloader.core.DisplayImageOptions;10 import com.nostra13.universalimageloader.core.ImageLoader;11 import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;12 import com.nostra13.universalimageloader.core.assist.ImageScaleType;13 import com.nostra13.universalimageloader.core.assist.QueueProcessingType;14 import com.nostra13.universalimageloader.core.decode.BaseImageDecoder;15 import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;16 import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;17 import com.nostra13.universalimageloader.core.download.BaseImageDownloader;18 19 import android.app.Application;20 import android.graphics.Bitmap;21 import android.os.Environment;22 import android.util.Log;23 24 public class MyApplication extends Application{25     26     @Override27     public void onCreate() {28         // TODO Auto-generated method stub29         super.onCreate();30         Log.i("TAG", "自定义的application类调用了.....");31         //创建ImageLoader的默认配置32 //        ImageLoaderConfiguration confing = ImageLoaderConfiguration.createDefault(this);33         //得到sdcard路径34         String sdpath = Environment.getExternalStorageDirectory().getPath();35         //自定义ImageLoaderConfiguration36         ImageLoaderConfiguration confing = new ImageLoaderConfiguration.Builder(this)37         .memoryCacheExtraOptions(480, 800)// default = device screen dimensions 内存缓存文件的最大长宽38         .diskCacheExtraOptions(480, 800, null)// 本地缓存的详细信息(缓存的最大长宽),最好不要设置这个 39 //        .taskExecutor(null)40 //        .taskExecutorForCachedImages(null)41         .threadPoolSize(3)// default  线程池内加载的数量42         .threadPriority(Thread.NORM_PRIORITY-2) // default 设置当前线程的优先级43         .tasksProcessingOrder(QueueProcessingType.FIFO)//任务的处理顺序44         .denyCacheImageMultipleSizesInMemory()45         .memoryCache(new LruMemoryCache(2 * 1024 * 1024))////设置自己的内存缓存大小 2m46         .memoryCacheSize(2 * 1024 * 1024)47 //        .memoryCacheSizePercentage(13)48         .diskCache(new UnlimitedDiscCache(new File(sdpath+"/app1407a/imgcache")))//设置缓存的图片在sdcard中的存放位置49         .diskCacheSize(50 * 1024 * 1024)50         .diskCacheFileCount(100)51         .diskCacheFileNameGenerator(new Md5FileNameGenerator())//md5加密的方式,或new HashCodeFileNameGenerator()52         .imageDownloader(new BaseImageDownloader(this))53 //        .imageDecoder(new BaseImageDecoder(true))54         .defaultDisplayImageOptions(null)//不适用默认的图片加载配置,使用自定义的55         .writeDebugLogs()56         .build();57         //初始化58         ImageLoader.getInstance().init(confing);59     }60     61     public static DisplayImageOptions getOptions(){62         //自定义加载图片的配置信息63         DisplayImageOptions option = new DisplayImageOptions.Builder()64         .showImageOnLoading(R.drawable.ic_launcher)// 设置图片下载期间显示的图片65         .showImageForEmptyUri(R.drawable.emptyurl) // 设置图片Uri为空或是错误的时候显示的图片66         .showImageOnFail(R.drawable.emptyurl)// 设置图片加载或解码过程中发生错误显示的图片67         .resetViewBeforeLoading(false)// default 设置图片在加载前是否重置、复位68 //        .delayBeforeLoading(1000)// 下载前的延迟时间69         .cacheInMemory(true)// default  设置下载的图片是否缓存在内存中70         .cacheOnDisk(true)// default  设置下载的图片是否缓存在SD卡中71         .considerExifParams(false)72         .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)//设置图片的显示比例73         .bitmapConfig(Bitmap.Config.RGB_565)// default 设置图片的解码类型74 //        .displayer(new RoundedBitmapDisplayer(75))//设置图片的圆角半径75         .displayer(new FadeInBitmapDisplayer(8000))//设置图片显示的透明度过程时间76         .build();77         78         return option;79     }80 81 }
 1 package com.ch.day13_imageloaderdemo; 2  3 import com.nostra13.universalimageloader.core.ImageLoader; 4 import com.nostra13.universalimageloader.core.assist.FailReason; 5 import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; 6 import com.nostra13.universalimageloader.core.listener.ImageLoadingProgressListener; 7  8 import android.os.Bundle; 9 import android.app.Activity;10 import android.app.ProgressDialog;11 import android.graphics.Bitmap;12 import android.util.Log;13 import android.view.Menu;14 import android.view.View;15 import android.widget.ImageView;16 17 public class MainActivity extends Activity {18     private ImageView img;19     String url = "http://photocdn.sohu.com/kis/fengmian/1193/1193693/1193693_ver_big.jpg";20     String url1 = "http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg";21     @Override22     protected void onCreate(Bundle savedInstanceState) {23         super.onCreate(savedInstanceState);24         setContentView(R.layout.activity_main);25         26         init();27     }28     29     public void init(){30         img = (ImageView) findViewById(R.id.img);31         //通过ImageLoader加载网络图片,配置给img32 //        ImageLoader.getInstance().displayImage(url, img);33 //        ImageLoader.getInstance().displayImage(url, img, MyApplication.getOptions());34 //        ImageLoader.getInstance().displayImage(url, img, MyApplication.getOptions(), new ImageLoadingListener() {35 //            @Override36 //            public void onLoadingStarted(String arg0, View arg1) {37 //            }38 //            @Override39 //            public void onLoadingFailed(String arg0, View arg1, FailReason arg2) {40 //            }41 //            @Override42 //            public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) {43 //            }44 //            @Override45 //            public void onLoadingCancelled(String arg0, View arg1) {46 //            }47 //        });48         final ProgressDialog pro = new ProgressDialog(this);49         pro.setMessage("努力加载中。。。");50         pro.setIcon(R.drawable.ic_launcher);51         pro.show();52         ImageLoader.getInstance().displayImage(url1, img, MyApplication.getOptions(), null, new ImageLoadingProgressListener() {53             54             @Override55             public void onProgressUpdate(String arg0, View arg1, int arg2, int arg3) {56                 // TODO Auto-generated method stub57                 Log.i("TAG", arg0+",,"+arg2+","+arg3);58                 float rs = ((float)arg2)/arg3;59                 pro.setMessage("当前加载到:"+rs*100+"%");60                 if(arg2 == arg3){61                     pro.cancel();62                 }63             }64         });65     }66 67     @Override68     public boolean onCreateOptionsMenu(Menu menu) {69         // Inflate the menu; this adds items to the action bar if it is present.70         getMenuInflater().inflate(R.menu.activity_main, menu);71         return true;72     }73 74 }

 

0 0
原创粉丝点击