• 关于xutils中的BitmapUtil实现简单的缓存和下载


    使用bitmaputil加载图片时,会自动缓存你已经浏览过的图片。当你下次使用时默认情况下会自动使用历史中的图片。所以你可以在加载这些图片时把对应的url放在list中,下次可以根据需要在历史中获取图片。使用时可以通过判断联网状态判断是从网上获取还是从缓存中获取。

    例如:

    final String[] urls = new String[]{"http://192.168.1.167:8080/image1.jpg",
    "http://192.168.1.167:8080/image2.jpg",
    "http://192.168.1.167:8080/image3.jpg",
    "http://192.168.1.167:8080/image4.jpg"} ;
    bt.setOnClickListener(new OnClickListener() {
    int i =0 ;
    @Override
    public void onClick(View arg0) {
    // TODO Auto-generated method stub


    String cachepath =getCacheDir().getPath();    
    Log.i(LOG, cachepath) ;

    BitmapUtils bUtils = new BitmapUtils(getApplicationContext(),cachepath);      //缓存数据会放在cachepath路径下。

    bUtils.display(iv, urls[i++]);
    i = i%4 ;
    }
    });

    下载图片时,可以用下面较简单的方法:

    new Thread(new Runnable() {

    @Override
    public void run() {
    // TODO Auto-generated method stub
    URL url;
    try {
    url = new URL("http://192.168.1.167:8080/image2.jpg");
    //创建连接对象
    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
    conn.setConnectTimeout(0); //设置超时时间
    //setDoInput:设置输入的内容 setDoOutput:设置输出的内容
    conn.setDoInput(true);
    conn.connect();//连接
    InputStream is = conn.getInputStream();//获取文件流
    Bitmap bitmap = BitmapFactory.decodeStream(is); //转为bitmap数据
    FileOutputStream fos = new FileOutputStream(getFilesDir()+"/img2.jpg");
    bitmap.compress(CompressFormat.JPEG, 90, fos);     //把bitmap保存到文件中
    fos.flush();
    fos.close();
    Log.i(LOG, "下载图片路径:"+getFilesDir().getPath());
    is.close();
    Log.i(LOG, "图片下载成功");

    } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    Toast.makeText(getApplicationContext(), "图片下载失败",1).show();
    e.printStackTrace();
    }
    }
    }).start();

  • 相关阅读:
    VMware workstation中安装Ubuntu18.04server
    python一行命令安装chromedriver
    vim配置&相关问题
    博客园美化
    期望DP——HDU4035Maze
    [学习笔记]虚树
    线段树——51nod1593&CF515E 公园晨跑
    [STL] multiset
    [学习笔记] 线性基
    泛化物品优化树型DP——[HAOI2010]软件安装
  • 原文地址:https://www.cnblogs.com/jkx1229761162/p/4746118.html
Copyright © 2020-2023  润新知