Cara kerja Services di Android

Hai, pada postingan kali ini kita akan membahas salah satu konsep penting di Android yaitu Services. Pembahasan dimulai dari apa itu services, bagaimana cara kerja services, dan mengimplementasikan services. Di Android, Services adalah komponen aplikasi yang berjalan dibelakang aplikasi, dan services ini tidak mendukung user interface dan juga tidak terikat pada lifecycle dari actifity di Android. Tapi penting untuk selalu mengontrol services ini, karena service berjalan di thread utama dari aplikasi, yang artinya jika semakin banyak service bekerja akan berpengaruh ke performa aplikasi.

Note : Tutorial ini masih dalam pengerjaan, jadi masih akan terus diupdate sampai kontennya memenuhi semua kebutuhan informasi tentang services di Android.

Gambaran dari penggunaan services itu seperti ini: Aplikasi kita tetap bekerja walaupun aplikasi tersebut tidak terlihat berjalan di depan layar,  contohnya download file, upload foto, dan juga memutar musik. Komponen aplikasi yang mengurusnya inilah yang dinamakan dengan services, tapi service tidak memiliki interface, dan juga menjalankan aplikasi berdasarkan prioritas dari aplikasi itu sendiri.

Untuk menggunakan services, kita perlu membuat atau menggunakan subclass dari services itu sendiri.

  • onStartCommand
  • onCreate
  • onBind
  • onDestroy

Misalnya kita mengirim notifikasi (contohnya: chatting) dari server ke aplikasi sebanyak 10 kali, nah berikut cara kerja Services-nya di Android:

Contoh implementasi services di Android

Penjelasan:

  1. Yang dilakukan Services pertama kali adalah menerima notifikasi pertama dan memulai menjalankan onCreate untuk servicesnya.
  2. Jika telah berhasil, maka notifikasi selanjutnya berjalan secara background task menggunakan onStarCommand.
  3. Sampai notifikasi didapatkan, dan ketika user berinteraksi dengan notifikasi tersebut, maka onBind yang dipanggil untuk memproses interaksi tersebut.
Contoh Services
Facebook Friend Request

Nah biar lebih jelas lagi, contoh gampang dari implementasi services yaitu pada aplikasi facebook. Dimana services akan terus berjalan secara background walaupun kita berinteraksi atau tidaknya saat adanya notifikasi friend request. Contoh interkasi langsung dengan services adalah saat kita accept friend request. Ada banyak aplikasi yang mengimplementasikan services ini, terutama aplikasi yang memiliki fitur notifikasi, chatting, dan sejenisnya.


 

Implementasi Services

Untuk mempermudah penjalasan alangkah baiknya jika mempraktekkannya langsung, karena tidak ada penjelasan lebih mudah selain mencobanya sendiri. Happy Dev ..

#1. New Project

Buat project baru dengan nama ContohServices. Setelah itu deklarasikan services di dalam file AndroidManifest.xml seperti berikut:

<!--Deklarasi Service di manifest -->
<service android:name=".HaiServices" android:exported="false"/>

 

#2. Class Baru

Buat class baru dengan nama HaiServices.java. Isikan code berikut kedalamnya:

 

#3. Create Button

Buat tampilan tombol yang berfungsi menjalankan services nantinya, dengan cara memperbarui file content_main.xml menjadi seperti berikut:

Agar tombol tersebut dapat digunakan buat fungsinya dengan cara menambahkan code dibawah ini pada file MainActivity.java di method onCreate.

 

#4. Update string.xml

Tambahkan resource string pada file string.xml untuk keperluan button seperti dibawah ini:

Setelah semuanya selesai dan tidak ada error, coba jalankan aplikasi. Seharusnya akan terlihat seperti gambar dibawah ini:

Implementasi Services di Android
Implementasi Services di Android

Kita juga bisa memantau servicenya melalui logcat ketika aplikasi di jalankan:

Logcat Services di Android
Logcat Services di Android

Untuk sourcecode bisa dilihat Github ini.

Well mungkin cukup sekian pembahasan tentang services di Android, kalau ada tambahan/kritik silahkan komen di bawah ya guys.
Semoga bermanfaat..


Reference :

Iklan

3 pemikiran pada “Cara kerja Services di Android

  1. service serendiri bisa di setting agar auto start gak ?
    misalnya saya buat di service nya pengecekan tanggal, jika day nya ganjil maka tampilkan notifikasi, dan service itu berjalan tanpa dilakukan Startservice ?

    Suka

Good People write good comments ..

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s