آموزش دانلود فایل با قابلیت Pause و Resume در اندروید

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش دانلود فایل با قابلیت Pause و Resume در اندروید می پردازیم در این آموزش با استفاده از یک کتاب خانه امکان Pause یا Stop کردن دانلود و همینطور Resume یا ادامه دادن آن را به شما آموزش می دهیم شاید دانلود یک فایل در اندروید در برخی موارد نیازمند هست تا مدت زمانی دانلود ما قطع شود یا سپس دوباره ادامه پیدا کند در ادامه با ما همراه باشید تا نحوه انجام این کار را یاد گیرید.
 
همانطور که در بالا گفتیم ما از یک کتاب خانه برای این منظور استفاده می کنیم نام این کتاب خانه PRDownloader است و به تازگی منشتر شده است.
نکته : (در این آموزش به ذخیره فایل و دسترسی مربوط به فایل نمی پردازیم می توانید از آموزش های سایت برای این منظور استفاده کنید )
خب برویم سراغ کدهای اصلی برنامه ابتدا باید کتاب خانه را به برنامه اضافه کنیم برای اینکار مثل زیر عمل می کنیم.
ابتدا وارد فایل Build.gradle از نوع Module شده سپس خط زیرا به dependencies اضافه کنید.

بعد از اینکار پروژه را sync کنید (قند شکن فراموش نشود)
وارد AndroidManifest.xml شده و دسترسی اینترنت را همانند زیر به آن اضافه کنید.

برای استفاده از آن باید به Context اکتیویتی را همانند زیر به آن پاس دهید.

اگر بخواهید یکسری تنظیمات خاص مثلا تنظیم Timeout هنگام دانلود و تنظیم Tineout هنگام اتصال و در نهایت استفاده از دیتابیس داخلی باید یک Config سفارشی بسازید مثل زیر
فعال کردن دیتابیس داخلی

تنظیم Timeout

حالا برای اینکه یک Request برای دانلود بفرستید مثل زیر می توان عملکرد.

در بالا یک Constructor وجود دارد که سه ورودی دارد اولی url مربوط به فایل ماست که می خواهیم دانلود شود دومین ورودی مسیر ذخیره سازی فایل است و در آخرین ورودی نام فایل را تغیین می کند.
یکسری method از این کلاس Implement شده است که عبارتند از :

  • setOnStartOrResumeListener : زمانی که دانلود ما resume شود وارد این متد می شود.
  • setOnPauseListener : زمانی که دانلود Stop یا pause شود وارد این متد می شود.
  • setOnCancelListener : زمانی که دانلود Cancel شود وارد این متد می شود.
  • setOnProgressListener : در طول دانلود وارد این متد می شود.
  • onDownloadComplete : زمانی که دانلود به پایان برسد وارد این متد می شود.
  • onError : و در نهایت اگر خطای رخ دهد وارد این متد می شود.

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

برای اینکه با استفاده از کد دانلود را Resume کنید از کد زیر استفاده کنید.

Cancel کردن دانلود با استفاده از کد زیر

 
 
این آموزش هم به پایان رسید.
موفق و پیروز باشید.

مطالعه بیشتر