کتاب خانه ی PRDownloader در اندروید

ـPRDownloader _ یک کتابخانه برای دانلود فایل ها در اندروید با پشتیبانی از توقّف(pause) و ادامه دادن(resume) .

کاربرد کتابخانه ی PRDownloader
کاربرد کتابخانه ی PRDownloader

نگاه کلّّی به کتابخانه ی PRDownloader

ـPRDownloader برای دانلود هرنوع فایلی مانند عکس، ویدیو،pdf و apk و ... قابل استفاده است.

این کتابخانه از توقّف(pause) و ادامه(resume) در هنگام دانلود یک فایل پشتیبانی می کند.

از دانلود فایل های بزرگ پشتیبانی می کند.

این کتابخانه دارای یک رابط ساده برای درخواست دانلود است.

ما می توانیم وضعیت دانلود را با دادن Id دانلود بررسی کنیم. (در ادامه نحوه ی انجامشو خواهید دید)

ـ PRDownloader هنگام دانلود برای همه چیز callback(فراخوان) هایی دارد، مانند و و و و... .

پشتیبانی مناسب از لغو درخواست(request).
تعداد زیادی درخواست(request) می توانند به طور موازی (به طور همزمان) ساخته شوند.

هرگونه سفارشی سازی(customization) امکان پذیر است.

استفاده از کتابخانه ی PRDownloader در برنامه ی اندرویدی شما

خط زیر را به build.gradle خود اضافه کنید.

implementation 'com.mindorks.android:prdownloader:0.5.0'

فراموش نکنید permision دسترسی به اینترنت را در فایل مانیفست خود قرار دهید.

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

سپس در متد ()onCreate از کلاس Application آن را مقداردهی اوّلیه(initialize) کنید.

PRDownloader.initialize(getApplicationContext());


مقداردهی اوّلیه(initialize) با اندکی شخصی سازی

// Enabling database for resume support even after the application is killed:
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setDatabaseEnabled(true)
                .build();
PRDownloader.initialize(getApplicationContext(), config);

// Setting timeout globally for the download network requests:
PRDownloaderConfig config = PRDownloaderConfig.newBuilder()
                .setReadTimeout(30_000)
                .setConnectTimeout(30_000)
                .build();
PRDownloader.initialize(getApplicationContext(), config); 


ساخت یک درخواست(request) دانلود

int downloadId = PRDownloader.download(url, dirPath, fileName)
                        .build()
                        .setOrResumeListener(new OrResumeListener() {
                            @Override
                            public void OrResume() {
                               
                            }
                        })
                        .setListener(new Listener() {
                            @Override
                            public void () {
                               
                            }
                        })
                        .setListener(new Listener() {
                            @Override
                            public void () {
                                
                            }
                        })
                        .setListener(new Listener() {
                            @Override
                            public void (Progress progress) {
                               
                            }
                        })
                        .start(new OnDownloadListener() {
                            @Override
                            public void onDownloadComplete() {
                               
                            }

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


متوقّف کردن یک دانلود

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();


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

Status status = PRDownloader.getStatus(downloadId);

پاک کردن فایل های نیمه دانلود شده در صورتی که دیتابیس را enabled قرار داده باشید. (که قبلا به آن اشاره شده)

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


لطفا 💓 و نظر یادتون نره!

سایر کتابخانه های اندروید را در این 👈 انتشارات ببینید. همچنین اگر دوست داشتید مرا در تلگرام دنبال کنید.

منبع 🚰