آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

pause و resume در پروژه ی file downloader

A.A  9 سال پیش  9 سال پیش
0 0

سلام خدمت همه ی دوستان.

همونطور که از اسم تاپیک پیداست مشکل در پروژه ی file downloader و قابلیت های pause و resume هست.

در گذشته هم تاپیک هایی در این رابطه باز شده و من اون هارو مطالعه کردم و مشکل pause با راه حل آقای کاشی زاده که در یکی از همین تاپیک ها مطرح کرده بودند حل شد ولی مشکل resume همچنان پابرجاست.به سایت های مختلفی از جمله stackoverflow هم سر زدم ولی اون هم کمکی نکردودر واقع نحوه استفاده از راه حل های مظرح شده رو نمیدونم.

خیلی ممنون میشم اگر آقای کاشی زاده یا خود استاد آقاجانی در صورت امکان یک سمپل کوچک برای این پروژه با قابلیت pause و resume برای دانلود قرار دهند.

با تشکر :)

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Hossein Lamei Ramandi  9 سال پیش
0 0

از این کد استفاده کنید :

 
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    if(ISSUE_DOWNLOAD_STATUS.intValue()==ECMConstant.ECM_DOWNLOADING){
        File file=new File(DESTINATION_PATH);
        if(file.exists()){
             downloaded = (int) file.length();
             connection.setRequestProperty("Range", "bytes="+(file.length())+"-");
        }
    }else{
        connection.setRequestProperty("Range", "bytes=" + downloaded + "-");
    }
    connection.setDoInput(true);
    connection.setDoOutput(true);
    progressBar.setMax(connection.getContentLength());
     in = new BufferedInputStream(connection.getInputStream());
     fos=(downloaded==0)? new FileOutputStream(DESTINATION_PATH): new FileOutputStream(DESTINATION_PATH,true);
     bout = new BufferedOutputStream(fos, 1024);
    byte[] data = new byte[1024];
    int x = 0;
    while ((x = in.read(data, 0, 1024)) >= 0) {
        bout.write(data, 0, x);
         downloaded += x;
         progressBar.setProgress(downloaded);
    }

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .