• 2021/5/20


    1.今日收获内容

    wView.setDownloadListener(new DownloadListener(){
    @Override
    public void onDownloadStart(String url, String userAgent, String contentDisposition, 
        String mimetype, long contentLength) {
            Log.e("HEHE","开始下载");
            Uri uri = Uri.parse(url);
            Intent intent = new Intent(Intent.ACTION_VIEW,uri);
            startActivity(intent);
        }
    });
    我们自己另外写一个下载的线程类:
    
    DownLoadThread.java
    
    /**
     * Created by Jay on 2015/9/14 0014.
     */
    public class DownLoadThread implements Runnable {
    
        private String dlUrl;
    
        public DownLoadThread(String dlUrl) {
            this.dlUrl = dlUrl;
        }
    
        @Override
        public void run() {
            Log.e("HEHE", "开始下载~~~~~");
            InputStream in = null;
            FileOutputStream fout = null;
            try {
                URL httpUrl = new URL(dlUrl);
                HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();
                conn.setDoInput(true);
                conn.setDoOutput(true);
                in = conn.getInputStream();
                File downloadFile, sdFile;
                if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
                    Log.e("HEHE","SD卡可写");
                    downloadFile = Environment.getExternalStorageDirectory();
                    sdFile = new File(downloadFile, "csdn_client.apk");
                    fout = new FileOutputStream(sdFile);
                }else{
                    Log.e("HEHE","SD卡不存在或者不可读写");
                }
                byte[] buffer = new byte[1024];
                int len;
                while ((len = in.read(buffer)) != -1) {
                    fout.write(buffer, 0, len);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (in != null) {
                    try {
                        in.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (fout != null) {
                    try {
                        fout.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            Log.e("HEHE", "下载完毕~~~~");
        }
    }



    2.遇到的问题
    文件缓存

    3.明天目标

  • 相关阅读:
    通过实验窥探javascript的解析执行顺序
    HTML5实战与剖析之原生拖拽(四可拖动dragable属性和其他成员)
    Google Guava之Optional优雅的使用null
    sharding-jdbc源码学习(一)简介
    重构——改善既有代码的设计
    spring自定义标签
    java自定义注解
    开源项目集合
    Lombok引入简化Java代码
    设计模式之建造者模式
  • 原文地址:https://www.cnblogs.com/qiangini/p/14909325.html
Copyright © 2020-2023  润新知