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

参照网址:
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() {

            }
        });
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值