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

  • AginoEvolutionHD

    AginoEvoluti

    27 AĞUSTOS 2011
  • CZTUTORIALS

    CZTUTORIALS

    28 Ocak 2011
  • TheDroidDemos

    TheDroidDemo

    15 ŞUBAT 2011