第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【Android中的Http通信】3-1 android多線程下載實(shí)例(源碼)

標(biāo)簽:
Android
1、DownLoad
public class DownLoad {

    private Executor thredPool = Executors.newFixedThreadPool(3);
    public static int finishedThread=0; 

    static class DownLoadRunnable implements Runnable{

        private String url;
        private String fileName;
        private long start,end;

        private TextView mTextView;
        private Handler mHandler;

        public DownLoadRunnable(String url, String fileName, long start,
                long end,Handler mHandler,TextView mTextView) {
            super();
            this.url = url;
            this.fileName = fileName;
            this.start = start;
            this.end = end;

            this.mTextView = mTextView;
            this.mHandler = mHandler;
        }

        @Override
        public void run() {
            try {
                HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
                conn.setConnectTimeout(5000);           
                conn.setRequestMethod("GET");
                conn.setRequestProperty("Range", "bytes="+start+"-"+end);

                RandomAccessFile raf = new RandomAccessFile(new File(fileName), "rwd");
                raf.seek(start);
                InputStream is = conn.getInputStream();
                byte[] buffer = new byte[1024];
                int len=0;
                while((len=is.read(buffer))!=-1){
                    raf.write(buffer,0,len);
                }

                if(raf!=null){
                    raf.close();
                }
                if(is!=null){
                    is.close();
                }
                finishedThread++;
                if(finishedThread==3){
                    mHandler.post(new Runnable() {

                        @Override
                        public void run() {
                            mTextView.setText("下载完成!");
                        }
                    });
                }

            } catch (ProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }

    }

    public void downFile(String path,Handler mHandler,TextView mTextView) throws Exception{

        HttpURLConnection conn = (HttpURLConnection) new URL(path).openConnection();
        conn.setConnectTimeout(5000);
        conn.setRequestMethod("GET");

        int count = conn.getContentLength();
        int block = count/3;
        String fileName = Environment.getExternalStorageDirectory().getAbsolutePath()+"/1.rar";
        for(int i=0;i<3;i++){
            long start = i*block;
            long end = start+block-1;
            if(i==2){
                end = count;
            }
            DownLoadRunnable mRunnable = new DownLoadRunnable(path, fileName, start, end,mHandler,mTextView);
            thredPool.execute(mRunnable);

        }

    }

}
2、MainActivity
public class MainActivity extends Activity {

    private TextView mTextView;
    private Handler mHandler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mTextView = (TextView) findViewById(R.id.textView);
        mHandler = new Handler();

        new Thread(){
            public void run() {

                DownLoad load = new DownLoad();
                try {
                    load.downFile("http://file02.daimg.com/2012/photo/1206/DAimG_2012062679170543R693.rar",mHandler,mTextView);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            };
        }.start();

    }

}
點(diǎn)擊查看更多內(nèi)容
6人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消