SORU
19 Mayıs 2011, PERŞEMBE


Ne argümanlar AsyncTask içine geçirilir&; arg1, arg2, arg3> lt?

Buraya koymak gerekiyor ve bu tartışmalar sonunda nerede anlamıyorum? Ben tam olarak, tam olarak nereye gidecek? ne koymalıyım 3 eklemek gerekir mi ya da 1,2,20 dahil edebilir miyim?

CEVAP
19 Mayıs 2011, PERŞEMBE


Google'ın Android Belgelerine Diyor ki :

Zaman uyumsuz bir görev 3 Genel türleri, Parametreler, İlerleme ve Sonuç, ve 4 adımları, onPreExecute, doİnBackground, onProgressUpdate ve onPostExecute adlı tanımlanır.

AsyncTask genel türleri :

Üç tip zaman uyumsuz bir görev tarafından kullanılan şunlardır:

Params, the type of the parameters sent to the task upon execution.
Progress, the type of the progress units published during the background computation.
Result, the type of the result of the background computation.

Tüm türleri her zaman uyumsuz bir görev tarafından kullanılır. Kullanılmayan bir tür olarak işaretlemek için, sadece yazın Boşluk kullanın:

 private class MyTask extends AsyncTask<Void, Void, Void> { ... }

Ayrıca bakınız : http://developer.android.com/reference/android/os/AsyncTask.html

Veya Sankar-Ganesh's Blog bağlıyordum açık ve net ne AsyncTask rolü

Tipik AsyncTask sınıfının yapısı devam ediyor

private class MyTask extends AsyncTask<X, Y, Z>

    protected void onPreExecute(){

    }

Bu yöntem, yeni bir konu başlatmadan önce yürütülür. Yapmanız gereken düşünüyorsan çıkış değerleri, sadece değişkenleri başlatma/giriş ya da yoktur.

    protected Z doInBackground(X...x){

    }

AsyncTask sınıfının en önemli yöntem. Burada arka planda yapmak istediğin her şeyi yerleştirmek için, ana bir farklı bir konu var. Burada bir giriş değeri olarak bu tür nesneleri bir dizi var “X” (başlık görüyor musun? “...AsyncTask” Bu giriş parametreleri ve TÜRLERİ) uzanır ve döner türünden bir nesne “Z”.

   protected void onProgressUpdate(Y y){

   }

Bu yöntemi çağrılır kullanarak yöntemi publishProgress(y) ve genellikle kullanılan zaman göstermek istediğin herhangi bir gelişme veya bilgi ana ekran gibi bir ilerleme çubuğu gösteren ilerleme operasyon yapıyorsun arka planda.

  protected void onPostExecute(Z z){

  }

Bu yöntem arka planda işlem bittikten sonra denir. Bir giriş parametresi olarak doİnBackground yöntemin çıkış parametresi alırsınız.

X, Y ve Z türleri ne?

Yukarıda yapısından anlamak istediğin gibi

 X – The type of the input variables value you want to set to the background process. This can be an array of objects.

 Y – The type of the objects you are going to enter in the onProgressUpdate method.

 Z – The type of the result from the operations you have done in the background process.

Nasıl dışında bir sınıftan bu görevi arayalım mı? Aşağıdaki iki satır ile sadece:

MyTask myTask = new MyTask();

myTask.execute(x);

Burada x tip X giriş parametresi

Bizim görev alınca, kendi durumunu öğrenebiliriz“”. “() GetStatus” yöntemi kullanarak.

 myTask.getStatus();

ve aşağıdaki durumu elde ederiz:

ÇALIŞIYOR- Görev çalışmakta olduğunu gösterir.

BEKLEYEN- Görev henüz yerine getirilmediğini gösterir.

BİTMİŞ- OnPostExecute(Z) bitmiş olduğunu gösterir.

AsyncTask kullanma hakkında ipuçları

  1. Yöntemleri onPreExecute arama, doİnBackground ve el ile onPostExecute. Bu sistem tarafından otomatik olarak yapılır.

  2. Herhangi bir AsyncTask veya İplik içinde bir AsyncTask arayın. Bu yöntem çağrısı, UI iş Parçacığı yapılmalıdır yürütmek.

  3. Yöntem onPostExecute UI iş Parçacığı (burada başka bir AsyncTask diyebilirsiniz!) yürütülür.

  4. Görev giriş parametreleri Nesne dizisi, istediğiniz nesneleri ve türleri ne olursa olsun koyabilirsiniz bu şekilde olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Attempts at least

    Attempts at

    1 Ocak 2007
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÜL 2011