Android studio Imaglodler
来源:互联网 发布:湖南干部教育网络app 编辑:程序博客网 时间:2024/06/04 00:31
依赖:
compile 'com.github.userswlwork:pull-to-refresh:1.0.0'compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'compile 'com.google.code.gson:gson:2.6.2'compile 'com.youth.banner:banner:1.4.9'
权限:
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
mapp全局配置类:(清单文件中加一个name=".mapp")
import android.app.Application;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.assist.QueueProcessingType;import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;/** * Created by DELL- on 2017/11/17. */public class mapp extends Application{ @Override public void onCreate() { super.onCreate(); /*ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).build();//开始构建 ImageLoader.getInstance().init(config);//全局初始化此配置*/ DisplayImageOptions.Builder options = new DisplayImageOptions.Builder() .cacheInMemory(true)// 内存缓存 .cacheOnDisk(true)// 磁盘缓存 .showImageOnFail(R.drawable.black_background)//加载失败显示的图片 .considerExifParams(true)// 是否考虑EXIF信息,比如拍照方向 .displayer(new FadeInBitmapDisplayer(300));//淡入动画 ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(getApplicationContext()); // 取消缓存多张尺寸不同的同一张图片 config.denyCacheImageMultipleSizesInMemory(); // 设置显示选项 config.defaultDisplayImageOptions(options.build()); // 生成缓存文件的生成器,保证唯一的文件名,可以不设置,默认使用hash算法,也是可以保证不重名的 config.diskCacheFileNameGenerator(new Md5FileNameGenerator()); // 磁盘缓存大小 config.diskCacheSize(100 * 1024 * 1024); // 100 MB // 内存缓存大小 config.memoryCacheSize((int) (Runtime.getRuntime().freeMemory() / 4)); // 任务处理顺序,默认是FIFO 先进先出, LIFO 后进先出 config.tasksProcessingOrder(QueueProcessingType.LIFO); // 打印调试日志 config.writeDebugLogs(); // Remove for release app ImageLoader.getInstance().init(config.build()); }}
主页面MainActiivity:
//给图片赋值ImageLoader.getInstance().displayImage(list.get(position).getUserImg(),holder1.iv);或:package com.ch.httputils;import java.io.File;import android.app.Application;import android.graphics.Bitmap;import android.os.Environment;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.assist.ImageScaleType;import com.nostra13.universalimageloader.core.assist.QueueProcessingType;import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;import com.nostra13.universalimageloader.core.download.BaseImageDownloader;public class MyApplication extends Application {@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();//创建ImageLoader的配置参数ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).memoryCacheExtraOptions(480, 800)// max width, max height,即保存的每个缓存文件的最大长宽.discCacheExtraOptions(480, 800, null)// 设置缓存的详细信息,最好不要设置这个.threadPoolSize(3)// 线程池内加载的数量.threadPriority(Thread.NORM_PRIORITY - 2).denyCacheImageMultipleSizesInMemory().memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))//你可以通过自己的内存缓存实现.memoryCacheSize(2 * 1024 * 1024).discCacheSize(50 * 1024 * 1024).discCacheFileNameGenerator(new Md5FileNameGenerator())// 将保存的时候的URI名称用MD5 加密.tasksProcessingOrder(QueueProcessingType.LIFO).discCacheFileCount(100)// 缓存的文件数量.discCache(new UnlimitedDiscCache(new File(Environment.getExternalStorageDirectory()+ "/myApp/imgCache")))// 自定义缓存路径.defaultDisplayImageOptions(getDisplayOptions()).imageDownloader(new BaseImageDownloader(this, 5 * 1000, 30 * 1000)).writeDebugLogs() // Remove for release app.build();// 开始构建//设置ImageLoader的配置参数ImageLoader.getInstance().init(config);}private DisplayImageOptions getDisplayOptions() {DisplayImageOptions options = new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.ic_launcher) // 设置图片在下载期间显示的图片.showImageForEmptyUri(R.drawable.ic_launcher)// 设置图片Uri为空或是错误的时候显示的图片.showImageOnFail(R.drawable.ic_launcher) // 设置图片加载/解码过程中错误时候显示的图片.cacheInMemory(true)// 设置下载的图片是否缓存在内存中.cacheOnDisc(true)// 设置下载的图片是否缓存在SD卡中.considerExifParams(true) // 是否考虑JPEG图像EXIF参数(旋转,翻转).imageScaleType(ImageScaleType.EXACTLY_STRETCHED)// 设置图片以如何的编码方式显示.bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类型//// .delayBeforeLoading(int delayInMillis)//int// delayInMillis为你设置的下载前的延迟时间// 设置图片加入缓存前,对bitmap进行设置// .preProcessor(BitmapProcessor preProcessor).resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位.displayer(new RoundedBitmapDisplayer(20))// 是否设置为圆角,弧度为多少.displayer(new FadeInBitmapDisplayer(100))// 是否图片加载好后渐入的动画时间.build();// 构建完成return options;}}
或:
package com.bwie.wyy.myapplication;import android.app.Application;import android.os.Environment;import android.util.Log;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.io.File;public class mapp extends Application{ @Override public void onCreate() { super.onCreate();//一定不能省略 Log.d("wyy","myapplication的onCreate被调用......................"); ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this) .diskCache(new UnlimitedDiskCache(new File(Environment.getExternalStorageDirectory()+ "/myappimgs1511B")))//设置本地缓存的路径 .defaultDisplayImageOptions(getOption())//设置图片加载的参数 .build(); ImageLoader.getInstance().init(configuration); Log.d("wyy","11111111111111111111111"+Environment.getExternalStorageDirectory().getPath()); } public DisplayImageOptions getOption(){ DisplayImageOptions options = new DisplayImageOptions.Builder() .cacheOnDisk(true) .build(); return options; }}
关于全局配置还有许多的类,请参考: http://blog.csdn.net/vipzjyno1/article/details/23206387
阅读全文
0 0
- Android studio Imaglodler
- 【Studio】登录Android Studio
- Android Studio
- Android Studio
- Android Studio
- Android Studio
- android studio
- Android Studio
- android studio
- Android studio
- android studio
- Android studio
- Android studio
- Android Studio
- Android Studio
- Android Studio
- Android Studio
- Android studio
- elementUi的使用
- Anaconda3的使用
- for 循环作用域问题
- Android Jni OpenCv 利用Cany算子做边缘检测
- spring中配置数据源的4种形式
- Android studio Imaglodler
- java导入Excel中数据查重的方法
- 模板
- Java_MyConnectionPool
- 基于c++浅谈异常处理
- sqlserver 数据类型处理 字符串截取
- IntelliJ IDEA使用教程 (总目录篇)
- 13基于opencv的角点检测cornerHairris
- tomcat-redis解决多系统session同步问题