zoukankan      html  css  js  c++  java
  • ImageLoader加载图片

    先导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     @Override
    27     public void onCreate() {
    28         // TODO Auto-generated method stub
    29         super.onCreate();
    30         Log.i("TAG", "自定义的application类调用了.....");
    31         //创建ImageLoader的默认配置
    32 //        ImageLoaderConfiguration confing = ImageLoaderConfiguration.createDefault(this);
    33         //得到sdcard路径
    34         String sdpath = Environment.getExternalStorageDirectory().getPath();
    35         //自定义ImageLoaderConfiguration
    36         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))////设置自己的内存缓存大小 2m
    46         .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     @Override
    22     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加载网络图片,配置给img
    32 //        ImageLoader.getInstance().displayImage(url, img);
    33 //        ImageLoader.getInstance().displayImage(url, img, MyApplication.getOptions());
    34 //        ImageLoader.getInstance().displayImage(url, img, MyApplication.getOptions(), new ImageLoadingListener() {
    35 //            @Override
    36 //            public void onLoadingStarted(String arg0, View arg1) {
    37 //            }
    38 //            @Override
    39 //            public void onLoadingFailed(String arg0, View arg1, FailReason arg2) {
    40 //            }
    41 //            @Override
    42 //            public void onLoadingComplete(String arg0, View arg1, Bitmap arg2) {
    43 //            }
    44 //            @Override
    45 //            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             @Override
    55             public void onProgressUpdate(String arg0, View arg1, int arg2, int arg3) {
    56                 // TODO Auto-generated method stub
    57                 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     @Override
    68     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 }
  • 相关阅读:
    Dev:LookUpEdit的用法
    Excel:写入Excel单纯写入
    浅拷贝与深拷贝
    自行车的种类
    简单的话
    Excel:导入导出原文02
    VS2010中出现无法嵌入互操作类型
    U盘有时候不显示(win7 64位)
    Knockout学习之Single Page Application
    CSS点滴整理
  • 原文地址:https://www.cnblogs.com/1426837364qqcom/p/5133172.html
Copyright © 2011-2022 走看看