Bu Kategoriye İçerik Girin veya Soru Sorun

Kategori İçi Sözlük

Bu Sayfayı Paylaş:

AsyncTask Sınıfı

Tanım: Android'de bir işlemi ana akışı engellemeden asenkron olarak gerçekleştirmek için kullanılan abstract sınıf. Result doInBackground(Params... params) methodu abstract'dır ve AsyncTask'dan türeyen sınıf yazmak zorundadır. Belirli bir süre alacak tüm işlemlerde, uygulamayı kitlememek için AsyncTask kullanımı tavsiye edilmektedir

AsyncTask Sınıfının Override Edilen Önemli Method'lar

AsyncTask sınıfı abstract bir sınıftır ve extends edilmesi gerekmektedir. Tek abstract methodu Result doInBackground(Params... params) method'udur ve bu method override edilmek zorundadır. Aşağıda olayları dinleyen önemli methodların override edildiği bir sınıf görülmektedir :
public class DefaultAsyncTask extends AsyncTask<Params, Progress, Result> {	
	@Override
	protected Result doInBackground(Params... params) {
		// çalışan kod result döndürülmeli
	}
	
	@Override
	protected void onPreExecute() {}
	
	@Override
	protected void onProgressUpdate(Progress... values) {}
	
	@Override
	protected void onPostExecute(Result result) {}
	
	@Override
	protected void onCancelled(Result result) {}	
}
Önemli method'lar aşağıdaki gibidir :
  • onPreExecute() : Arkaplan kodu çalışmadan önce çağrılır. Arkaplan kodu çalışmasına hazırlık için kullanılabilir
  • Result doInBackground(Params... params) : Arkaplanda çalışan kod bu method içine yazılır
  • void onProgressUpdate(Progress... values) : Arkaplanda çalışma sırasında publishProgress(Progress...) fonksiyonu çağrılırsa onProgressUpdate method'u çağrılmış olur. Çalışma hakkında bilgi vermek içindir (Örneğin bir dosyanın download edilme durumu)
  • void onPostExecute(Result result) : Arkaplan çalışması tamamlandığında çağrılmaktadır
  • void onCancelled(Result result) : Dışarıdan cancel(boolean) method çağrıldığı zaman onCancelled method'u çağrılmaktadır


AsyncTask Sınıfı Generic Tipleri

AsyncTask generics kullanan bir sınıftır ve üç tane parametre sınıfı alır. Bu sınıflar aşağıdaki şekillerde methodlarda kullanılır
public class DefaultAsyncTask extends AsyncTask<Params, Progress, Result> {	
	@Override
	protected Result doInBackground(Params... params) {
		// execute ve Result donulmeli
		return null;
	}	
	@Override
	protected void onProgressUpdate(Progress... values) {
		
	}	
	@Override
	protected void onPostExecute(Result result) {
		
	}		
	@Override
	protected void onCancelled(Result result) {
			
	}
}
Bu parametrelerin açıklaması aşağıdaki gibidir :
  • Params : arka planda kodun çalışması için gerekli olan ve doInBackground methodu çağrılması sırasında verilen parametre sınıfı
  • Progress : çalışma sırasında onProgressUpdate methoduna bildirilen sınıf
  • Result : arka plandaki çalışma tamamlandıktan sonra onPostExecute methoduna , iptal olduğu zaman da onCancelled methoduna verilen parametre sınıf





Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir