关闭

xUtils3.0使用

标签: xUtils3-0图片网络请求最新使用
1311人阅读 评论(0) 收藏 举报
分类:

xUtils介绍:

xUtils是前两年很火的开发框架,去年作者进行了升级目前(2016年6月1日)版本是:org.xutils:xutils:3.3.34。之前的稳定版本是:com.jiechic.library:xUtils:2.6.14,随着Android版本的升级,HttpClient等联网框架在AndroidApi23中移除了,xUtils2.6.14部分网络请求基于HttpClient,所以在2015年末的时候xUtils作者对xUtils进行了比较大的改动,在此我们一起学习xUtils3.0的基本使用。

xUtils3.0结构:

x代表 image、http、view(注解,类似findViewById)、db,再加上Uitls表示工具类,xUtils为我们进行了封装,方便我们获取网络图片,获取网络数据,查找控件,进行数据操作。

xUtils3.0使用:

一:添加依赖 compile ‘org.xutils:xutils:3.3.34’
进入project structure —–>选中modules的app—–>点击绿色加号——>点击Library Dependency—–>输入关键字:xutils进行查找—–>查到两个结果—–>选择最新的进行添加就可以了

这里写图片描述

二:初始化在全局的Application进行

public class BaseApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
//        xUtils3.0初始化
        x.Ext.init(this);
//        测试时开启debug模式,发布程序时要关掉,不然影响性能
        x.Ext.setDebug(true);
    }
}

三:使用Image

  1. 最简单的方式:x.image().bind(mImageView, url);见名知义
  2. 添加一个参数:x.image().bind(mImageView,assets_url,options)参数options用于设置图片


// 创建ImageOptions.Builder
ImageOptions.Builder builder = new ImageOptions.Builder();
int width = DensityUtil.dip2px(200);
int height = DensityUtil.dip2px(200);
builder.setSize(width, height);//设置宽高
builder.setAutoRotate(true);//设置自动旋转
builder.setCircular(true);//设置圆形
builder.setConfig(Bitmap.Config.RGB_565);//设置图片格式
builder.setFadeIn(true);//设置淡入
builder.setFailureDrawableId(R.mipmap.ic_launcher);//设置图片加载失败时显示图片
builder.setCrop(true);//设置允许裁剪
builder.setImageScaleType(ImageView.ScaleType.CENTER);//设置图片显示格式
builder.setUseMemCache(true);//设置允许内存缓存
builder.setIgnoreGif(false);//设置允许gif格式图片
// Builder创建options
ImageOptions options = builder.build();
String assets_url = "assets://test.gif";
// 加载了一张gif图片
x.image().bind(mImageView,assets_url,options);

3、 加载本地文件图片:loadFile(String path, ImageOptions options, CacheCallback callback),这个方法亦可以加载网络图片,回调中两个方法:onCache(这个是获取缓存数据数据的回掉,如果有缓存数据,就不进行联网请求了);onSuccess方式是进行联网请求或者直接从本地获取图片的回调
!!!如果查找本地文件,不会存入缓存,因此每次这种情况下缓存文件是空的

String url = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
.getAbsolutePath() +File.separator+”p14.jpg”;
x.image().loadFile(URL, options, new Callback.CacheCallback() {
@Override
public boolean onCache(File result) {//
if (result != null) {
Log.d(“flag”,”———->onCache”);
x.image().bind(mImageView, result.getAbsolutePath(), options);
}
return true;
}
@Override
public void onSuccess(File result) {
if (result != null) {
Log.d(“flag”,”———->onSuccess”);
x.image().bind(mImageView, result.getAbsolutePath(), options);
}
} @Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});

xUtils其他使用请参考下一篇文章:
http://blog.csdn.net/Soft_Po/article/details/51590420

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:30589次
    • 积分:721
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:3篇
    • 译文:0篇
    • 评论:12条
    最新评论