تبلیغات

کتابخانه PRDownloader اندروید – دانلود فایل (قابلیت توقف و ادامه)

کتابخانه PRDownloader اندروید – دانلود فایل (قابلیت توقف و ادامه)

کتابخانه PRDownloader برای دانلود فایل در اندروید
به همراه قابلیت توقف و ادامه (Pause/Resume)


PRDownloader، کتابخانه‌ای برای اندروید می‌باشد که امکان دانلود فایل از اینترنت را برایمان مهیا می‌سازد. این کتابخانه قابلیت توقف دانلود و ادامه‌ی دانلود از جایی که متوقف شده است را نیز دارد. از سایر ویژگی‌های آن نیز می‌توان به موارد زیر اشاره کرد:

  • امکان دانلود هرنوع فایل (عکس، ویدیو و …)
  • پشتیبانی از فایل‌های حجیم
  • شامل یک رابط ساده برای ایحاد یک دانلود
  • امکان بررسی وضعیت دانلود با استفاده از شناسه‌ی دانلود
  • شامل کال‌بک (Callbacks یا رویداد) هایی برای اتفاقات مختلفی از قبیل onProgress، onCancel، onStart، onError  و … در هنگام دانلود یک فایل
  • پشتیبانی از قابلیت لغو درخواست
  • امکان ایجاد چندین درخواست موازی
  • امکان سفارشی‌سازی تایپ‌های مختلف
شما می‌توانید سورس اصلی کتابخانه و نمونه کد آن را از انتهای مطلب دانلود کنید.

روش استفاده از PRDownloader

ابتدا با استفاده از دستور زیر، کتابخانه را به Dependency های خود اضافه کنید:

compile 'com.mindorks.android:prdownloader:0.4.0'

و همچنین پرمیژن یا دسترسی اینترنت را فراموش نکنید:

<uses-permission android:name="android.permission.INTERNET" />

مقداردهی های اولیه

برای مقداردهی و راه‌اندازی PRDownloader، دستور زیر را در متد onCreate کلاس اپلیکیشن خود بنویسید:

PRDownloader.initialize(getApplicationContext());

اما اگر خواستید برخی مقادیر را شخصی‌سازی کنید، به روش زیر عمل نمایید:

// فعال کردن دیتابیس برای ادامه دانلود دادن متوقف شدن (ذخیره مقادیر لازم)
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setDatabaseEnabled(true)
                .build();
PRDownloader.initialize(getApplicationContext(), config);

// تنظیم مدت زمان وقفه و تاخیر در هنگام ایجاد درخواست
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setReadTimeout(30_000)
                .setConnectTimeout(30_000)
                .build();
PRDownloader.initialize(getApplicationContext(), config);

ایجاد یک درخواست دانلود

برای ایجاد یک درخواست دانلود، به روش زیر عمل نمایید:

int downloadId = PRDownloader.download(url, dirPath, fileName)
                        .build()
                        .setOnStartOrResumeListener(new OnStartOrResumeListener() {
                            @Override
                            public void onStartOrResume() {
                               
                            }
                        })
                        .setOnPauseListener(new OnPauseListener() {
                            @Override
                            public void onPause() {
                               
                            }
                        })
                        .setOnCancelListener(new OnCancelListener() {
                            @Override
                            public void onCancel() {
                                
                            }
                        })
                        .setOnProgressListener(new OnProgressListener() {
                            @Override
                            public void onProgress(Progress progress) {
                               
                            }
                        })
                        .start(new OnDownloadListener() {
                            @Override
                            public void onDownloadComplete() {
                               
                            }

                            @Override
                            public void onError(Error error) {
                               
                            }
                        });

همانطور که می‌بینید، از متد download کلاس PRDownloader که استاتیک نیز می‌باشد، برای ایجاد یک دانلود استفاده شده است.  و ورودی url آدرس فایل، ورودی dirPath مسیر پوشه‌ی فایل و fileName نیز نام فایل جهت ذخیره کردن می‌باشد. همچنین این متد یک شناسه دانلود برمیگرداند که از آن بعدا برای موارد مختلفی می‌توانید استفاده کنید؛ که در ادامه خواهیم گفت.

توقف موقت یک دانلود:

PRDownloader.pause(downloadId);

ادامه دادن دانلود متوقف شده با کد بالا:

PRDownloader.resume(downloadId);

لغو یک دانلود به طور کامل: (توقف کامل)

// Cancel with the download id
PRDownloader.cancel(downloadId);
// The tag can be set to any request and then can be used to cancel the request
PRDownloader.cancel(TAG);
// Cancel all the requests
PRDownloader.cancelAll();

وضعیت یک دانلود:

Status status = PRDownloader.getStatus(downloadId);

پاک کردن فایل‌های از سرگرفته شده (Resumed) در صورت فعال بودن دیتابیس:

// Method to clean up temporary resumed files which is older than the given day
PRDownloader.cleanUp(days);

باکس دانلود نیم‌بها

  • نسخه فایل 0.4.0
  • پسورد (در صورت نیاز) www.fullkade.com

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده بدون دیدگاه

توضیحات دانلود نظرات اشتراک