您的位置:首页 > 其它

使用xutils在线预览和下载图片

2017-11-21 14:09 183 查看
参照网址:

Android快速开发框架之xUtils—图片模块 - 有什么过不去的坎呢,何况你腿还那么长。 - CSDN博客 http://blog.csdn.net/a_zhon/article/details/52864698

准备工作

添加依赖:

compile 'org.xutils:xutils:3.3.40'


初始化xutils(我实在BaseApplication):

//初始化xUtils
x.Ext.init(this);


在线预览

@BindView(R.id.img)
ImageView img;
public static String imgUrl = "http://pic1.win4000.com/wallpaper/8/575e50b24e386.jpg";

/**
* 使用xUtils绑定网络图片:使用ImageOptions设置图片属性
*/
public void useXGetInternetImage() {
//            x.image().bind(img, imgUrl);
x.image().bind(img, imgUrl, new Callback.CommonCallback<Drawable>() {
@Override
public void onSuccess(Drawable result) {
ToastUtil.showMessage("加载图片成功");
}

@Override
public void onError(Throwable ex, boolean isOnCallback) {
ToastUtil.showMessage(ex.toString());
}

@Override
public void onCancelled(CancelledException cex) {

}

@Override
public void onFinished() {

}
});

//        //设置图片属性的options
//        ImageOptions imageOptions = new ImageOptions.Builder()
//                //设置图片的大小
//                .setSize(500, 500)
//                // 如果ImageView的大小不是定义为wrap_content, 不要crop.
//                .setCrop(true)
//                // 加载中或错误图片的ScaleType
//                //.setPlaceholderScaleType(ImageView.ScaleType.MATRIX)
//                .setImageScaleType(ImageView.ScaleType.CENTER_CROP)
//                //设置加载过程中的图片
//                .setLoadingDrawableId(R.mipmap.ic_launcher)
//                //设置加载失败后的图片
//                .setFailureDrawableId(R.mipmap.ic_launcher)
//                //设置使用缓存
//                .setUseMemCache(true)
//                //设置支持gif
//                .setIgnoreGif(false)
//                //设置显示圆形图片
//                .setCircular(true).build();
//        x.image().bind(img, imgUrl, imageOptions, new Callback.CommonCallback<Drawable>() {
//            @Override
//            public void onSuccess(Drawable result) {
//                ToastUtil.showMessage("加载图片成功");
//            }
//
//            @Override
//            public void onError(Throwable ex, boolean isOnCallback) {
//                ToastUtil.showMessage(ex.toString());
//            }
//
//            @Override
//            public void onCancelled(CancelledException cex) {
//
//            }
//
//            @Override
//            public void onFinished() {
//
//            }
//        });

}


下载图片

private File fileDir;
private String saveFilePath; public static String imgUrl = "http://pic1.win4000.com/wallpaper/8/575e50b24e386.jpg";
private File fileDir;
private String saveFilePath;
private Bitmap mBitmap;

/**
* 下载文件
*/
public void downloadFile() {
SimpleDateFormat time = new SimpleDateFormat("yyyyMMddHHmmss");
String fileName = time.format(System.currentTimeMillis());
saveFilePath = fileDir.getAbsolutePath() + "/" + fileName + ".jpg";
//File.getAbsolutePath()获得文件绝对路径
RequestParams requestParams = new RequestParams(imgUrl);
requestParams.setSaveFilePath(saveFilePath);
x.http().get(requestParams, new Callback.CommonCallback<File>() {
@Override
public void onSuccess(File file) {
if (file != null) {
//根据图片绝对路径获取图片并显示在界面上
mBitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
img.setImageBitmap(mBitmap);
ToastUtil.showMessage("下载图片成功");
}
}

@Override
public void onError(Throwable ex, boolean isOnCallback) {
ToastUtil.showMessage(ex.toString());
}

@Override
public void onCancelled(CancelledException cex) {

}

@Override
public void onFinished() {

}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: