文章标题 ImageLoader工具类

package com.example.a17_rikao_test;

import android.content.Context;
import android.graphics.Bitmap;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
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.decode.BaseImageDecoder;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.SimpleBitmapDisplayer;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.nostra13.universalimageloader.utils.StorageUtils;

import java.io.File;

/**
* @author Dash
* @date 2017/9/15
* @description:
*/
public class ImageLoaderUtil {
/**
* 初始化imageLoader
* @param context
*/
public static void init(Context context) {
//1.获取配置config对象
File cacheDir = StorageUtils.getCacheDirectory(context); //缓存文件夹路径

    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)

            .threadPoolSize(3) // default  线程池内加载的数量
            .threadPriority(Thread.NORM_PRIORITY - 2) // default 设置当前线程的优先级
            .tasksProcessingOrder(QueueProcessingType.FIFO) // default
            .denyCacheImageMultipleSizesInMemory()
            .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //可以通过自己的内存缓存实现
            .memoryCacheSize(2 * 1024 * 1024)  // 内存缓存的最大值
            .memoryCacheSizePercentage(13) // default
            .diskCache(new UnlimitedDiskCache(cacheDir)) // default 可以自定义缓存路径
            .diskCacheSize(50 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值
            .diskCacheFileCount(100)  // 可以缓存的文件数量
            // default为使用HASHCODE对UIL进行加密命名, 还可以用MD5(new Md5FileNameGenerator())加密
            .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
            .imageDownloader(new BaseImageDownloader(context)) // default
            .imageDecoder(new BaseImageDecoder(true)) // default
            .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
            .writeDebugLogs() // 打印debug log
            .build(); //开始构建


    //2.初始化配置...ImageLoader.getInstance()图片加载器的对象,单例模式

    ImageLoader.getInstance().init(config);
}

/**
 * imageLoader加载图片的默认选项
 * @return
 */
public static DisplayImageOptions getDefaultOption(){

    DisplayImageOptions options = new DisplayImageOptions.Builder()
            .showImageOnLoading(R.mipmap.ic_launcher) // 设置图片下载期间显示的图片
            .showImageForEmptyUri(R.mipmap.ic_launcher) // 设置图片Uri为空或是错误的时候显示的图片
            .showImageOnFail(R.mipmap.ic_launcher) // 设置图片加载或解码过程中发生错误显示的图片
            .resetViewBeforeLoading(true)  // default 设置图片在加载前是否重置、复位
            .delayBeforeLoading(1000)  // 下载前的延迟时间
            .cacheInMemory(true) // default  设置下载的图片是否缓存在内存中
            .cacheOnDisk(true) // default  设置下载的图片是否缓存在SD卡中

            .considerExifParams(true) // default
            .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default 设置图片以如何的编码方式显示
            .bitmapConfig(Bitmap.Config.RGB_565) // default 设置图片的解码类型

            .displayer(new SimpleBitmapDisplayer()) // default  还可以设置圆角图片new RoundedBitmapDisplayer(20)

            .build();

    return options;
}

/**
 * imageLoader加载圆角图片....指定圆角的大小
 * @return
 */
public static DisplayImageOptions getRoundedOption(int corner){

    DisplayImageOptions options = new DisplayImageOptions.Builder()
            .showImageOnLoading(R.mipmap.ic_launcher) // 设置图片下载期间显示的图片
            .showImageForEmptyUri(R.mipmap.ic_launcher) // 设置图片Uri为空或是错误的时候显示的图片
            .showImageOnFail(R.mipmap.ic_launcher) // 设置图片加载或解码过程中发生错误显示的图片
            .resetViewBeforeLoading(true)  // default 设置图片在加载前是否重置、复位
            .delayBeforeLoading(1000)  // 下载前的延迟时间
            .cacheInMemory(true) // default  设置下载的图片是否缓存在内存中
            .cacheOnDisk(true) // default  设置下载的图片是否缓存在SD卡中

            .considerExifParams(true) // default
            .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default 设置图片以如何的编码方式显示
            .bitmapConfig(Bitmap.Config.RGB_565) // default 设置图片的解码类型

            .displayer(new RoundedBitmapDisplayer(corner)) // default  还可以设置圆角图片new RoundedBitmapDisplayer(20)

            .build();

    return options;
}

/**
 * imageLoader加载圆形图片
 * @return
 */
public static DisplayImageOptions getCircleOption(){

    DisplayImageOptions options = new DisplayImageOptions.Builder()
            .showImageOnLoading(R.mipmap.ic_launcher) // 设置图片下载期间显示的图片
            .showImageForEmptyUri(R.mipmap.ic_launcher) // 设置图片Uri为空或是错误的时候显示的图片
            .showImageOnFail(R.mipmap.ic_launcher) // 设置图片加载或解码过程中发生错误显示的图片
            .resetViewBeforeLoading(true)  // default 设置图片在加载前是否重置、复位
            .delayBeforeLoading(1000)  // 下载前的延迟时间
            .cacheInMemory(true) // default  设置下载的图片是否缓存在内存中
            .cacheOnDisk(true) // default  设置下载的图片是否缓存在SD卡中

            .considerExifParams(true) // default
            .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default 设置图片以如何的编码方式显示
            .bitmapConfig(Bitmap.Config.RGB_565) // default 设置图片的解码类型

            .displayer(new CircleBitmapDisplayer()) // default  还可以设置圆角图片new RoundedBitmapDisplayer(20)

            .build();

    return options;
}

}

StringUtil工具类

private String streamToString(InputStream inputStream,String charset) {
try {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset);

        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        String s = null;
        StringBuilder builder = new StringBuilder();
        while ((s = bufferedReader.readLine()) != null){
            builder.append(s);
        }

        bufferedReader.close();
        return builder.toString();

    } catch (Exception e) {
        e.printStackTrace();
    }

    return  null;
}

//判断网络的工具类
public class NetUtils {
/**
* 1.判断是否有网络连接
*/
public static boolean isNetWorkConnected(Context context){
//获取手机所有连接管理对象
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//获取网路信息对象
NetworkInfo networkInfo = manager.getActiveNetworkInfo();

    if (networkInfo != null){
        //是否可用
        boolean available = networkInfo.isAvailable();
        return  available;
    }
    return false;

}

/**
 * 2.判断可用网络连接的类型...wifi...手机网络
 *
 * ConnectivityManager.TYPE_WIFI
 * ConnectivityManager.TYPE_MOBILE
 */
public static int netType(Context context){

    //获取手机所有连接管理对象
    ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    //获取网路信息对象
    NetworkInfo networkInfo = manager.getActiveNetworkInfo();
    //不为空且可用
    if (networkInfo != null && networkInfo.isAvailable()){

        return networkInfo.getType();
    }
    return -1;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值