Langsung ke konten utama

Komponen Pada Android Service

Apa itu Service pada Android?

Service adalah komponen aplikasi yang menjalankan operasi tertentu yang bisa berjalan lama pada sistem Android, biasanya service itu berjalan di latar belakang. Service ini tidak menyediakan antarmuka pengguna (UI).

Ada dua macam service pada Android, yaitu :

  • Started

Service yang komponen aplikasinya dimulai dengan memanggil startService(). Service ini akan berjalan selama belum dimatikan atau proses yang dijalankan selesai. Service akan tetap berjalan walaupun komponen yang lain dimatikan oleh sistem Android. Service ini digunakan untuk melakukan proses yang tidak memberikan nilai balik ke komponen yang memanggil. Contohnya seperti mengunduh atau mengunggah berkas.

  • Bound

Service jenis ini merupakan tipe service yang dijalankan oleh komponen lain, namun saling mengikat satu sama lain. Hubungan yang terjadi antar kedua komponen tersebut seperti client-server. Bisa saling menerima response dan menerima request yang ada. Pada service ini dimungkinkan terjadi proses IPC (Interprocess Communication). Service ini akan tetap berjalan di background selama masih ada komponen lain yang mengikatnya. Jika tidak, maka Service akan dimatikan oleh sistem. Aplikasi pemutar musik merupakan salah satu jenis aplikasi yang mengimplementasikan Service jenis ini.

Perlu diingat, Service berjalan di Thread Utama dari proses hostingnya. Service tidak membuat Thread sendiri dan tidak berjalan di proses terpisah. Kecuali jika anda menetapkannya.

Jika service anda akan melakukan pekerjaan yang banyak membutuhkan CPU atau operasi pemblokiran (seperti pemutaran MP3 atau jaringan), buat Thread baru dalam layanan untuk melakukan pekerjaan itu. Dengan menggunakan Thread terpisah, anda akan mengurangi risiko kesalahan Aplikasi Tidak Merespons (Application Not Responding/ANR) dan Thread utama aplikasi bisa terus disediakan untuk interaksi pengguna.

 

• Sebelumnya telah belajar mengenai activity dan implementasinya. Activity adalah komponen yang memberikan pengalaman kepada pengguna secara langsung. Pengguna dapat melihat dan berinteraksi diatasnya.

• Service berada pada sisi yang lain, komponen ini tidak memiliki antarmuka dan bahkan pengguna tidak akan akan tahu bagaimana dia bekerja. Pengalaman yang diberikan oleh service hanya berupa proses yang tidak terlihat. Ia digunakan untuk menjalankan beragam macam proses yang memakan waktu lama.

• Walaupun berjalan secara background, pada dasarnya service dan komponen Android lainnya berjalan pada satu proses dan thread yang sama yaitu main thread atau ui thread. Bekerja di background bukan berarti ia bekerja secara asynchronous. Service tetap membutuhkan thread terpisah jika kita ingin melakukan proses yang membutuhkan komputasi intensif atau yang memakan waktu.

 

Contoh pemanfaatan service

• Aplikasi sosial media atau aplikasi yang memiliki kemampuan untuk menerima push notification. Aplikasi semacam ini pasti memiliki sebuah service yang berjalan dalam posisi stand by untuk selalu menerima pesan yang masuk.

• Aplikasi chat juga membutuhkan service untuk melakukan pengiriman dan menerima pesan yang dikirimkan oleh pengguna.

• Aplikasi pemutar musik juga melakukan hal yang sama. Untuk memberikan pengalaman yang lebih baik kepada pengguna, aplikasi pemutar musik biasanya meletakkan proses streaming atau memainkan musik di komponen service dengan tetap mempertahankan integrasi dengan komponen lain, misalnya notifikasi. Dll

 

Bentuk Service

• Started Service berjenis ini adalah tipe yang dijalankan oleh komponen lain, misal activity. Sekali dijalankan, service ini akan berjalan selama belum dimatikan atau proses yang dijalankan selesai. Sevice akan tetap berjalan walaupun komponen yang lain dimatikan oleh sistem Android. Umumnya penggunaan service ini adalah untuk melakukan proses yang tidak memberikan nilai balik ke komponen yang memanggilnya. Contohnya adalah, mengunduh atau mengunggah berkas.

• Bound Service jenis ini merupakan tipe service yang dijalankan oleh komponen lain, namun saling mengikat. Hubungan yang terjadi antar kedua komponen tersebut seperti client-server. Bisa saling menerima hasil dan menerima request yang ada. Pada service ini dimungkinkan terjadi proses IPC (Interprocess Communication). Service ini akan tetap berjalan di background selama masih ada komponen lain yang mengikatnya. Jika tidak, maka Service akan dimatikan oleh sistem. Aplikasi pemutar musik merupakan salah satu jenis aplikasi yang mengimplementasikan service jenis ini.


Latihan Penerapan Service

1. Untuk melihat jalannya service, buatkan tampilan seperti disamping. 

Nama project : MyService Activity : Empty Activity



2. Lengkapi MainActivity.xml




3. Lengkapi MainActivity.java


4. buat kelas service bernama OriginService dengan cara klik kanan pada package project → New → Service → Service. OriginService akan inherit (extends) kepada kelas Service.

5. Selanjutnya pada dialog yang tampil, isikan nama kelas service yang diinginkan. Di sini kita menamainya sebagai OriginService dan biarkan exported dan enabled tercentang. Klik Finish untuk menyelesaikan proses.


6. Selanjutnya, buka berkas AndroidManifest.xml pada package manifest dan perhatikan isi berkas tersebut. Service yang baru saja kita buat sudah ada didalam tag <application>:


7. BerkasAndroidManifest sudah dibuat secara otomatis. Dengan demikian kita sudah bisa menjalankan kelas service tersebut. Namun, sebelum menjalankan aplikasi, lengkapi kode pada OriginService menjadi seperti berikut :

8. Selanjutnya pada MainActivity.java dicase R.id.btn_start_service tambahkan baris berikut :

Inten mStartServiceIntent = new Intent(MainActivity.this,OrgainService.class);
startService(mStartsIntent);


9. Sehingga kode pada metode inClick() menjadi seperti ini :


10. Sekarang jalankan aplikasi, Klik tombil ‘start service’ dan perhatikan pada lognya. OriginService telah dijalankan

dan tidak akanpernah mati sampai dimatikan oleh system atau metode stopSelf() atau stopService() dijalankan.

11. Baik, sekaraang kita akan menambahkan sebuah inner class AsyncTask, ia seakan-akan menjalankan sebuah proses

secara asynchronous dan mematikan/menghentikan dirinya sendiri dengan memanggil metode stopSelf(). Lengkapi kodenya sebagai berikut :

12. Jalankan aplikasinya. Klik tombol ‘start service’ dan perhatikan log-nya. Service dijalankan secara asynchronous dan
mematikan dirinya sendiri setelah proses selesai.

13. Jika berhasil dijalankan, pada log androiod monitor akan seperti ini: 09-22 09:52:25.028 10209-10209/com.contoh.myserviceapp
D/OriginService: OriginService dijalankan 09-22 09:52:28.074 10209-10209/com.contoh.myserviceapp D/OriginService: StopService 09-22 09:52:28.078
10209-10209/com.contoh.myserviceapp D/OriginService: onDestroy()

Postingan populer dari blog ini

Pengertian Repeater, Bridge, dan Network Interface Card (NIC)

Pengertian Repeater, Bridge, dan Network Interface Card (NIC) Pengertian Repeater Repeater merupakan sebuah perangkat yang dapat berfungsi untuk menerima sinyal yang didalamnya berisikan data-data pada suatu jaringan tersebut. Jika Anda memiliki koneksi jaringan WiFi di rumah ataupun di kantor, namun Anda mengalami kesulitan untuk menjangkaunya, Repeater merupakan salah satu solusi yang tepat yang dapat Anda gunakan. Dimana jika Anda menggunakan Repeater ini maka jangkauan akan jaringan WiFi akan dapat bisa menjadi luas lagi sehingga memudahkan Anda menemukan koneksi jaringan WiFi tersebut. Repeater tersebut dapat menerima sinyal dan kemudian alat ini memancarkan kembali sinyal yang ada serta identik dengan sinyal asalnya, namun hanya caranya saja yang berbeda. Mengapa demikian? Pada umumnya alat Repeater ini memang dapat memancarkan kembali sinyal yang ada dalam frekuensi yang cukup berbeda dari frekuensi sinyal pada asalnya. Oleh sebab itu, fungsi utama alat ini adalah

Dampak Buruk Terhadap Illegal Content

            Pada era kemajuan teknologi informasi dan komunikasi semakin pesat disertai dengan banyak bermunculan perangkat-perangkat komunikasi yang menawarkan kecanggihan dan kemudahan termasuk kemudahan dalam berselancar di dunia maya dengan cepat dan hemat. Internet seolah menjadi hal yang wajib bagi setiap perangkat komunikasi saat ini. Kecanggihan teknologi tersebut juga diimbangi dengan tumbuh tingginya tindakan-tindakan kriminal dalam dunia komunikasi dan informasi. Cybercrime merupakan bentuk-bentuk kejahatan yang timbul karena pemanfaatan teknologi internet. Kebutuhan akan teknologi jaringan komputer semakin meningkat. Selain sebagai media penyedia informasi, melalui internet pula kegiatan komunitas komersial menjadi bagian terbesar dan terpesat pertumbuhannya serta menembus berbagai batas negara. Bahkan melalui jaringan ini kegiatan pasar di dunia bisa diketahui selama 24 jam. Melalui dunia internet atau disebut juga cyberspace, apapun dapat dilakukan. Segi positif dari du

Membuat Rangkaian Sederhana Menggunakan Diptrace

  1. Pertama buka Diptracenya terlebih dahulu lalu pilih PCB Layout       2. lalu akan ditampil dari seluruh menu dan fitur pada Diptrace     3. untuk menggunakan komponennya terdapat dimenu sebelah kiri layar, bisa mencari menual menggunakan menu filter.     4. Kumpulkan komponen yang ingin digunakan pada layer layout pcb yang telah disediakan     5. Buat jalur yang diinginkan agar komponen saling terhubung dapat menggunakan fitur Route Manual, untuk mengedit jalur dapat digunakan fitur Edit Trace atau Free Trace Editing 6. Ohiyaa untuk komponen yang saya gunakan ada dibawah ini, bisa disesuaikan dengan keperluan masing-masing 7. Jika sudah dikumpulkan komponennya sambungkan semua komponen hingga membentuk tampilan layout pcb sesuai jaulurnya dapat dilihat seperti gambar dibawah ini   8. Jika sudah kita dapat membuat kotak pada sekitaran layout pcb.     9. kalau