Android Service
Pengertian Service
Sebelumnya telah belajar mengenai activity dan implementasinya. Activity adalah komponen yang memberikan pengalaman kepada pengguna secaralangsung. Pengguna dapat melihat dan berinteraksi diatasnya.
Service beradap ada sisi yang lain, komponen ini tidak memiliki antar muka 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 mainthread atau uithread. Bekerja di background bukan berarti ia bekerja secara asynchronous. Service tetap membutuhkan threadter pisah jika kita ingin melakukan proses yang membutuhkan komputasi intensif atau yang memakan waktu
- Bentuk Service
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 seperticlient-server. Bisa saling menerima hasil dan menerimarequestyang 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.
Untuk melihat jalannya service, buatkan tampilan seperti disamping.
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 Origin Service dengan cara klik kanan pada package project→New→Service→Service.Origin Service akan inherit(extends) kepada kelas Service.
5. Selanjutnya pada dialog yang tampil, isikan nama kelas service yang diinginkan. Di sini kita menamainya sebagai Origin Servicedan 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 di dalam tag <application>:

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



Lanjutan Script

12. Jalankan aplikasinya. Kliktombol ‘startservice’ dan perhatikan log-nya. Service di jalankan secara asynchronous dan mematikan dirinya sendiri setelah proses selesai.
13.Jika berhasil dijalankan, pada log androiod monitor akan seperti ini : 09-2 209:52:25.028 10209-10209/com.contoh.myserviceapp D/OriginService: OriginService dijalankan 09-2 209: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()
Sebelumnya telah belajar mengenai activity dan implementasinya. Activity adalah komponen yang memberikan pengalaman kepada pengguna secaralangsung. Pengguna dapat melihat dan berinteraksi diatasnya.
Service beradap ada sisi yang lain, komponen ini tidak memiliki antar muka 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 mainthread atau uithread. Bekerja di background bukan berarti ia bekerja secara asynchronous. Service tetap membutuhkan threadter pisah jika kita ingin melakukan proses yang membutuhkan komputasi intensif atau yang memakan waktu
Contoh Pemanfaatan Service
Aplika sisosial media atau aplikasi yang memiliki kemampuan untuk menerima push notification. Aplikasi semacam ini pasti memiliki sebuah service yang berjalan dalam posisi standby untuk selalu menerima pesan yang masuk.
Aplikasi chat juga membutuhkan service untuk melakukan pengiriman dan menerima pesan yang di kirimkan 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
Aplika sisosial media atau aplikasi yang memiliki kemampuan untuk menerima push notification. Aplikasi semacam ini pasti memiliki sebuah service yang berjalan dalam posisi standby untuk selalu menerima pesan yang masuk.
Aplikasi chat juga membutuhkan service untuk melakukan pengiriman dan menerima pesan yang di kirimkan 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
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 seperticlient-server. Bisa saling menerima hasil dan menerimarequestyang 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.
Untuk melihat jalannya service, buatkan tampilan seperti disamping.
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 Origin Service dengan cara klik kanan pada package project→New→Service→Service.Origin Service akan inherit(extends) kepada kelas Service.
5. Selanjutnya pada dialog yang tampil, isikan nama kelas service yang diinginkan. Di sini kita menamainya sebagai Origin Servicedan 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 di dalam tag <application>:

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



Lanjutan Script

12. Jalankan aplikasinya. Kliktombol ‘startservice’ dan perhatikan log-nya. Service di jalankan secara asynchronous dan mematikan dirinya sendiri setelah proses selesai.
13.Jika berhasil dijalankan, pada log androiod monitor akan seperti ini : 09-2 209:52:25.028 10209-10209/com.contoh.myserviceapp D/OriginService: OriginService dijalankan 09-2 209: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()

Komentar
Posting Komentar