آموزش AsyncTask در برنامه نویسی اندروید

امتیاز 4.00 ( 1 رای )

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش AsyncTask در برنامه نویسی اندروید می پردازیم با استفاده از Async Task به شما قابلیتی می دهد تا کار های بسیار سنگین را در background انجام دهید و بخش Ui را بدون اینکه قفل شود یعنی بدون گیر کردن قابل استفاده خواهد بود برنامه به طور معمول در single Thread اجرا می شود و در صورتی که برنمامه اعمال background سنگین داشته باشد ممکن از Ui ما حالت Responsive خود را از دست بدهد و همش منتظر عملیات Background باشد برای اینکه از این کار جلوگیری کنیم از AsyncTask استفاده می کنیم.
چهار متود در کلاس asyncTask وجود دارد
doInBackground() تمامی عملیات های background در این متود قرار می گیرد و هر زمانی که بخواهیم result خود را به Ui می فرستیم.
onPreExecute() قبل از اینکه عملیات background ما اجرا شود این متود اجرا شده است.
onPostExecute() بعد از اینکه متود doInBackground ما به اتمام رسید بلافاصله یک نتیجه به این متود ارسال می شود.
onProgressUpdate() این متود مقدار پیشرفت عملیات را update می کند و مقدار آن update را به UI Thread می برد تا در آن جا نیز تغییراتی اعمال شود. شاید با یک مثال بهتر متوجه شوید اگر ما یک progressbar داشته باشیم و بخواهیم همزمان با انجام عملیات مقدار آن نیز تغییر کند (update شود ) و مقدار آن در Ui نیر تغییر کند.
یک فایل به نام activity_main.xml ایجاد کنید و کد های زیر را در آن قرار دهید.

شامل یک TextView برای نمایش پیام و یک EditText برای دریافت یک ورودی یک دکمه برای انجام کار و یک TextView دیگر برای نمایش result
حالا یک فایل به نام MainActivity.java ایجاد کرده و کد زیر را در آن قرار دهید.

ابتدا یک کلاس به نام AsyncTaskRunner ایجاد کردیم و به AsyncTask گسترشش دادیم برای اینکه بتوانیم از asynctask استفاده کنیم سپس view های مربوط به هر object را به دست آوردیم ما برای اینکه به شما مقدار آپدیت را نمایش بدهیم از progressbar استفاده کردیم قبل این کد هم بقیه void ها را توضیح دادیم.
در ادامه می توانید پیش نمایشی از کد بالا را ببینید.
 

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

مطالعه بیشتر