آموزش دانلود فایل از وب سرور در اندروید

امتیاز 2.50 ( 2 رای )

سلام دوستان در این سری از آموزش های برنامه نویسی اندروید به آموزش دانلود فایل از وب سرور در اندروید می پردازیم دانلود کردن فایل از وب سرور ممکن است بعضی مواقع مورد نیاز باشد به طور مثال شما باید یک فایل zip حاوی یکسری دیتا رو دانلود کنید و برنامه شما اون دیتا رو به عنوان یه دیتا مهم در برنامه اش استفاده کند یا یک سری عکس را از وب سرور بگیرید و در یک اسلایدر نمایش دهید در ادامه ما همراه باشید.
ابتدا ما باید یک کلاس در همون کلاسی که می خواییم فایل دانلود بشه ایجاد کنیم (مثلا می خوایم توی Mainactivity فایل دانلود بشه باید این کلاس رو زیر آن قرار دهیم).
 

در بالا ما از کلاس Async Task استفاده کردیم که این کلاس باعث هماهنگی دانلود می شود که خود آن یک doinBackground دارد که باعث می شود کاربر با آن درگیر نشود و برنامه در پشت زمینه کار دانلود  را انجام دهد. ما یکسری موارد را در برنامه بررسی کردیم به طور مثال بررسی کردیم آیا سرور فعال است یا نه برای این کار یک request به سرور ارسال می کنیم سپس اگر عدد 200 یعنی (server ok) بازگشت متوجه می شویم اون سرور یا اون url سالم است. متغییر fileLength اندازه فایل را بر می گرداند و از این در جلوتر استفاده خواهیم کرد و connection.getInputStream که در بالاتر ما connection را تعریف کرده بودیم فایل را به صورت byte دریافت می کند.
با کد بالا شما می توانید هر فایلی را دانلود کنید برای اینکه فایل های دیگه رو دریافت کنید باید در خط زیر تغییراتی را اعمال کنید.

به جای zipfile.zip نام فایل و پسوندش را جایگزین کنید.
ما از try و catch استفاده کردیم تا در صورتی که اینترنت قطع شد یا خطایی رخ داد برنامه force close ندهد.
 
حالا برای اینکه از این کلاس استفاده کنیم در اکتویتی خودتان کد زیر را قرار دهید.

فکر نمی کنم نیازی به توضیح اضافی برای کد بالا باشد ولی نحوه کار به این شکل است که ما یک ProgressDialog ایجاد می کنیم و آن تا زمانی به کاربر نمایش داده می شود تا فایل ما دانلود شود.
می تونید از ProgressDialog استفاده نکنید ولی منطقی این است که از آن استفاده کنید ما قبلتر آموزش ProgressDialog  را در سایت قرار داده بودیم کافی است یک سرچی در سایت بزنید.
 
بعد از این کار مثل همیشه باید دسترسی را اضافه کنیم در صورتی که این دسترسی ها را به برنامه اضافه نکنید برنامه شما force close می دهد.
وارد فایل Androidmanifest.xml شوید و خط های زیر را به آن اضافه کنید.

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

مطالعه بیشتر