✫✬
✭ ✮
st
✯
m y
✰
n
✱ ✰ ✲✰
n m
✯✳ ✴ ✰ ✵✰✳ ✲✰
n
✰✶✵✮ ✲ ✰ ✭
✮
t
✯
r
✭ ✯✷ ✸✹✺
✻ ✶ ✰✷✮✵✰
✼✮ ✶ ✯
r
✵ ✸✲✰✳ ✽ ✶✰ ✼✰
✭ ✰✰
t
✾
n t
✯
n t
✿ ✯
❀ ✯✮
❁ ✯
r m
✯✳ ✼
✰
p
✰
t tri
❂ ❂❃
r
✽ ✰✶ ✵
✮ ✲✰ ✭ ✮
✴✸✱✰ ✼✰✶✰
t m
✯
n
✱ ✮
r
✮
m
✲ ✰
n in
t
❃
n t
❄❅ ❆❇ ❈❉❇ ❊ ❋ ✲
✯✶ ✰ ✼ ✰
✰✶ ✵✮ ✲ ✰ ✭
✮ ✵✰✮
n n
y
✰ ✼✯
n
✱✰
n
●
u n
✱ ✭ ✮
Context.broadcastInten t [4].
2.5.10.4 Service
❍ ❃
rvi
❉ ❃
adalah sebuah kode yang hidup terus-menerus dan berjalan tanpa memiliki tampilan. Contoh yang sederhana adalah suatu aplikasi m
❃ ❈
■ ❇
p l
❇ ❏❃
r yang sedang memainkan lagu dari p
l
❇ ❏
list
❑
Pada aplikasi m
❃ ❈
■ ❇
p l
❇ ❏❃
r ,
kemungkinan terdapat satu atau lebih activity yang memperbolehkan
▲ ❊
❃
r memilih lagu dan memainkannya. Tetapi musik yang sedang diputar tidak boleh
ditangani oleh activity karena
▲ ❊
❃
r akan menginginkan musik tetap diputar meskipun ia berpindah ke
❊ ❉❅
❃ ❃
n baru. Pada kasus ini activity m
❃ ❈
■ ❇
p l
❇ ❏❃
r dapat
menjalankan
❊ ❃
rvi
❉ ❃
menggunakan fungsi
Context.startService untuk
menjalankan
❊ ❃
rvi
❉ ❃
di
❄ ❇ ❉
k
❂ ❅ ❆
▲ ▼ ❈
yang memutar musik. Sistem akan tetap memutar musik sampai selesai. Selain itu
❇ ❉
tivity dapat terhubung dengan
❊ ❃
rvi
❉ ❃
menggunakan fungsi Context.bindService. Pada saat terhubung, aplikasi dapat berkomunikasi melalui in
t
❃
rf
❇ ❉ ❃
yang diberikan oleh
❊ ❃
rvi
❉ ❃
yang bersangkutan. Pada contoh m
❃ ❈
■ ❇
p l
❇
y
❃
r , in
t
❃
rf
❇ ❉ ❃
❊ ❃
rvi
❉ ❃
akan memberikan fungsi
◆❇ ▲
❊ ❃
,
❅ ❃
w i
▼ ❈
dan sebagainya [4].
2.5.10.5 Content Provider
❖
o n
t
❃
n t p
ro vi
❈ ❃
r digunakan untuk pertukaran data antara aplikasi. Data
yang dipertukarkan bersifat
❊ P
❇❅ ❃
❈
.
❖
o n
t
❃
n t p
ro vi
❈ ❃
r adalah sebuah kelas yang
◗❘
❙❚
r
❯❱ ❯
m
❲
t
❳ ❨❩
st
❬❭❪ ❬
r y
❬❭❫
m
❚
m u
n
❫ ❴❯ ❭❴ ❬
n
❬❵❛❯❴ ❬ ❱ ❯
❛ ❬ ❯
n
❪ ❬❵ ❬
t m
❚
n y
❯
m
❵❬
n
❪ ❬
n m
❚ ❭❫ ❬
m
❙❯❛ ❱
❜ ❬
tu
❪ ❬
t
❬
y
❬ ❭ ❫
❪❯
t
❬
n
❫ ❬❭
❯ ❝
❛❚ ❞
❡
o n
t
❲
n t p
ro vi
❩❲
r [4].
2.5.11 Siklus Hidup Aplikasi Android
Pada banyak kasus, tiap aplikasi pada Android masing-masing memiliki Linux proses. Proses ini diciptakan untuk aplikasi tersebut pada saat kode
program tersebut akan dieksekusi, akan terus berjalan sampai tidak dibutuhkan lagi dan sistem memerlukan memori untuk aplikasi lain. Konsep dasar program
Android adalah suatu proses pada aplikasi tidak langsung di atur oleh aplikasi tersebut. Proses tersebut ditentukan oleh sistem melalui kombinasi : informasi
aplikasi bagi sistem, seberapa pentingnya aplikasi tersebut bagi
❢❣ ❲
r dan ketersediaan memori. Contoh kasus lif
❲ ❤ ❡
y
❡
l
❲ ✐
u g
adalah
❥
n t
❲
n t
❦❲ ❡
❲
iv
❲
r yang
menciptakan t
❳ ❧
❲ ♠
❩
pada saat menerima in t
❲
n t
pada m
❲
t
❳ ❨❩
onReceiveIntent dan selesai dari fungsi tersebut. Setelah fungsi tersebut selesai, sistem
menganggap bahwa
❥
n t
❲
n t
❦❲ ❡
❲
iv
❲
r tersebut menjadi tidak aktif sehingga ia
memiliki proses yang tidak dibutuhkan kecuali terdapat komponen aplikasi lain di dalamnya. Oleh karena itu, sistem dapat menghapus proses tersebut kapanpun
apabila dibutuhkan. Hal tersebut akan menghapus semua t
❳ ❧
❲ ♠
❩
yang berjalan pada proses tersebut. Solusi masalah ini adalah memakai
♥ ❲
rvi
❡ ❲
dari IntentReceiver, sehingga sistem mengetahui bahwa ada suatu yang aktif dalam
proses tersebut [4]. Sebagai
♦ ❧
❨♣ ❧ ♠
q
m
❲
r , kita harus mengetahui bagaimana cara yang tepat untuk merancang aplikasi. Kesalahan pada perancangan akan membuat suatu