Workshop Struktur dan Pemakaian Teknologi Game
28
2. Services.
Sebuah service tidak mempunyai tampilan antar muka, tetapi lebih kepada program yang berjalan di “belakang layar” background selama beberapa
periode waktu tertentu. Contohnya, sebuah service dapat memainkan musik, sementara pengguna menjalankan aplikasi yang lain. Atau, service dapat
mengambil data fetching dari jaringan, atau menghitung sesuatu dan menyajikan hasilnya ke activity yang membutuhkannya. Setiap service akan
meng-extends kelas
Service .
Misalnya, ketika media player memainkan musik dari sebuah playlist. Aplikasi player tersebut dapat mempunyai satu atau beberapa activity yang
memungkinkan pengguna untuk memilih lagu dan memainkannya. Namun, proses memainkan musik tadi tidak akan ditangani oleh sebuah activity karena
pengguna mengharapkan musik tersebut akan tetap dimainkan selagi ia menjalankan aplikasi yang lain. Agar musik tetap dimainkan, activity dari media
player dapat memulai sebuah service untuk dijalankan pada background. Selanjutnya sistem akan tetap menjalankan service untuk memainkan musik
walaupun activity yang memulainya telah hilang dari layar. Service yang sedang berjalan dapat dihubung dan digabungkan. Ketika
terhubung, anda dapat berkomunikasi dengan service melalui sebuah antar muka yang ditampilkan oleh service. Untuk service musik, antar muka ini dapat
berupa pause, rewind, stop, dan restart. Seperti activities dan component lainnya, service berjalan pada thread utama
pada proses aplikasi. Sehingga mereka tidak akan memblokir component atau antar muka lain. Untuk task yang membutuhkan banyak waktu, biasanya service
akan membuat thread-thread baru.
3. Broadcast Receiver.
Merupakan sebuah component yang menerima dan merespon broadcast announcement siaran pemberitahuan. Banyak broadcast yang berasal dari
Workshop Struktur dan Pemakaian Teknologi Game
29 kode sistem-contohnya, pemberitahuan bahwa zona waktu telah berubah, baterai
lemah, gambar yang baru saja ditangkap, atau pengguna baru saja mengganti pengaturan bahasa. Aplikasi juga dapat menginisiasi broadcast-contohnya,
untuk memberi tahu aplikasi lain bahwa suatu data telah diunduh ke dalam perangkat dan siap digunakan.
Sebuah aplikasi dapat memperoleh beberapa broadcast receiver untuk merespon pemberitahuan yang dianggap penting. Setiap receiver meng-ekstend
kelas
BroadcastReceiver
. Broadcast receiver tidak menampilkan sebuah antar muka. Namun, ia akan
memulai sebuah activity sebagai respon atas pemberitahuan yang diterima. Atau menggunakan
NotificationManager
untuk memperingatkan pengguna. Notifikasi akan menarik perhatian pengguna dengan berbagai cara- membuat
backlight berkedap kedip, menggetarkan perangkat, memainkan suara notifikasi, dan sebagainya. Mereka akan menempatkan ikon yang tetap pada status bar,
yang dapat diakses dan pesannya dapat dibaca langsung oleh pengguna.
4. Content providers.