Menambahkan poin ke jawaban yang diterima:
Lihat penggunaan IntentService dalam API Android. misalnya:
public class SimpleWakefulService extends IntentService {
public SimpleWakefulService() {
super("SimpleWakefulService");
}
@Override
protected void onHandleIntent(Intent intent) { ...}
Untuk membuat komponen IntentService untuk aplikasi Anda, tentukan kelas yang memperluas IntentService, dan di dalamnya, tentukan metode yang mengesampingkan onHandleIntent ().
Juga, lihat kode sumber IntentService, konstruktor dan metode siklus hidupnya seperti padaStartCommand ...
@Override
public int More ...onStartCommand(Intent intent, int flags, int startId) {
onStart(intent, startId);
return mRedelivery ? START_REDELIVER_INTENT : START_NOT_STICKY;
}
Layanan bersama AsyncTask adalah salah satu pendekatan terbaik untuk banyak kasus penggunaan di mana payloadnya tidak besar. atau hanya membuat kelas Memperluas IntentSerivce. Dari Android versi 4.0 semua operasi jaringan harus dalam proses latar belakang jika tidak kompilasi / pembangunan aplikasi gagal. pisahkan utas dari UI. Kelas AsyncTask menyediakan salah satu cara paling sederhana untuk menjalankan tugas baru dari utas UI. Untuk diskusi lebih lanjut tentang topik ini, lihat posting blog
dari panduan pengembang Android :
IntentService adalah kelas dasar untuk Layanan yang menangani permintaan asinkron (dinyatakan sebagai Maksud) berdasarkan permintaan. Klien mengirim permintaan melalui panggilan startService (Intent); layanan dimulai sesuai kebutuhan, menangani setiap Intent, pada gilirannya, menggunakan utas pekerja, dan berhenti sendiri ketika kehabisan pekerjaan.
Pola desain yang digunakan dalam IntentService
: Pola "prosesor antrian kerja" ini biasanya digunakan untuk membongkar tugas dari utas utama aplikasi. Kelas IntentService ada untuk menyederhanakan pola ini dan merawat mekanik. Untuk menggunakannya, perluas IntentService dan terapkan onHandleIntent (Intent). IntentService akan menerima Intents, meluncurkan utas pekerja, dan menghentikan layanan yang sesuai.
Semua permintaan ditangani pada utas pekerja tunggal - mereka mungkin memakan waktu selama diperlukan (dan tidak akan memblokir loop utama aplikasi), tetapi hanya satu permintaan yang akan diproses pada satu waktu.
Kelas IntentService menyediakan struktur langsung untuk menjalankan operasi pada utas latar belakang tunggal. Ini memungkinkannya untuk menangani operasi yang telah berjalan lama tanpa memengaruhi respons antarmuka pengguna Anda. Selain itu, IntentService tidak terpengaruh oleh sebagian besar peristiwa siklus hidup antarmuka pengguna, sehingga ia terus berjalan dalam keadaan yang akan mematikan AsyncTask.
IntentService memiliki beberapa batasan:
Itu tidak dapat berinteraksi langsung dengan antarmuka pengguna Anda. Untuk menempatkan hasilnya di UI, Anda harus mengirimkannya ke Aktivitas. Permintaan pekerjaan berjalan berurutan. Jika operasi berjalan di IntentService, dan Anda mengirimnya permintaan lain, permintaan menunggu sampai operasi pertama selesai. Operasi yang berjalan pada IntentService tidak dapat diganggu. Namun, dalam banyak kasus
IntentService adalah cara yang disukai untuk operasi latar belakang sederhana
**
Perpustakaan Volley
Ada perpustakaan bernama volley-library untuk mengembangkan aplikasi jaringan android
. Kode sumber tersedia untuk umum di GitHub.
Dokumentasi resmi android untuk Praktik terbaik untuk pekerjaan Latar Belakang : membantu lebih memahami layanan maksud, utas, penangan, layanan. dan juga Melakukan Operasi Jaringan
IntentService is used for short tasks (etc) and a service is for long ones
Dimana Anda membaca itu ?