Kabul edilen cevaba puan ekleme:
Android API'sında IntentService kullanımına bakın. Örneğin:
public class SimpleWakefulService extends IntentService {
public SimpleWakefulService() {
super("SimpleWakefulService");
}
@Override
protected void onHandleIntent(Intent intent) { ...}
Uygulamanız için bir IntentService bileşeni oluşturmak için IntentService'i genişleten bir sınıf tanımlayın ve içinde, onHandleIntent () yöntemini geçersiz kılan bir yöntem tanımlayın.
Ayrıca, IntentService kaynak koduna bakın, onStartCommand gibi yapıcı ve yaşam döngüsü yöntemleri ...
@Override
public int More ...onStartCommand(Intent intent, int flags, int startId) {
onStart(intent, startId);
return mRedelivery ? START_REDELIVER_INTENT : START_NOT_STICKY;
}
Birlikte hizmet vermek AsyncTask, yükün çok büyük olmadığı birçok kullanım durumu için en iyi yaklaşımlardan biridir. veya yalnızca IntentSerivce'yi genişleten bir sınıf oluşturun. Android sürüm 4.0 tüm ağ işlemleri arka plan sürecinde olmalıdır aksi takdirde uygulama derleme / derleme başarısız. parçacığı kullanıcı arayüzünden ayırın. AsyncTask sınıfı, UI iş parçacığından yeni bir görevi başlatmanın en basit yollarından birini sağlar. Bu konuyla ilgili daha fazla tartışma için blog yayınına bakın
dan Android geliştiricileri kılavuzunda :
IntentService, istek üzerine asenkron istekleri (Intents olarak ifade edilir) işleyen Hizmetler için temel bir sınıftır. İstemciler startService (Niyet) çağrıları yoluyla istek gönderir; hizmet gerektiği şekilde başlatılır, her bir Niyeti yönetir, sırayla, bir işçi iş parçacığı kullanarak ve iş bitince kendini durdurur.
IntentService'te kullanılan tasarım deseni
: Bu "çalışma kuyruğu işlemcisi" deseni genellikle bir uygulamanın ana iş parçacığından görevleri boşaltmak için kullanılır. IntentService sınıfı, bu kalıbı basitleştirmek ve mekanikle ilgilenmek için vardır. Kullanmak için IntentService'i genişletin ve onHandleIntent (Intent) uygulayın. IntentService, Intents'i alır, bir işçi iş parçacığı başlatır ve hizmeti uygun şekilde durdurur.
Tüm istekler tek bir iş parçacığı üzerinde işlenir - gerektiği kadar sürebilir (ve uygulamanın ana döngüsünü engellemez), ancak aynı anda yalnızca bir istek işlenir.
IntentService sınıfı, bir işlemi tek bir arka plan iş parçacığında çalıştırmak için basit bir yapı sağlar. Bu, kullanıcı arayüzünüzün yanıt verme yeteneğini etkilemeden uzun süren işlemleri gerçekleştirebilmesini sağlar. Ayrıca, bir IntentService çoğu kullanıcı arabirimi yaşam döngüsü olayından etkilenmez, bu nedenle AsyncTask'ı kapatacak koşullarda çalışmaya devam eder.
IntentService'in bazı sınırlamaları vardır:
Kullanıcı arayüzünüzle doğrudan etkileşim kuramaz. Sonuçlarını kullanıcı arayüzüne koymak için bir Etkinliğe göndermeniz gerekir. İş istekleri sırayla çalışır. Bir işlem bir IntentService içinde çalışıyorsa ve başka bir istek gönderirseniz, istek ilk işlem bitene kadar bekler. IntentService üzerinde çalışan bir işlem kesilemez. Ancak, çoğu durumda
IntentService, basit arka plan işlemleri için tercih edilen yoldur
**
Volley Kütüphanesi
Android ağ uygulamaları geliştirmek için voley- kütüphane adı verilen bir kütüphane var
. Kaynak kodu GitHub'da halka açık.
Arkaplan işleri için en iyi uygulamalar için android resmi dokümantasyon : niyet hizmeti, iş parçacığı, işleyici, hizmet üzerinde daha iyi anlamaya yardımcı olur. ve ayrıca Ağ İşlemlerini Gerçekleştirme
IntentService is used for short tasks (etc) and a service is for long ones
bunu nereden okudun