dirancang untuk menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat memubikasikan kemampuan dan aplikasi lain dapat
menggunakan kemampuan mereka sesuai batasan keamanan. Dasar dari aplikasi adalah seperangkat layanan dan sistem, yaitu berbagai View yang
digunakan untuk membangun UI, Content Provider yang memungkinkan aplikasi berbagi data, ResourceManager menyediakan akses bukan kode
sperti grafik, string, dan layout NotificationManager yang akan membuat aplikasi dapat menampilkan tanda pada status bar dan ActivityManager
yang berguna mengatur daur hidup dari aplikasi.
c. Libraries
Satu set libraries dalam bahasa CC++ yang digunakan oleh berbagai komponen pada sistem Android.
d. Android Runtime
Satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi
akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine VM.
e. Linux Kernel
Android bergantung pada Linux versi 2.6 untuk layanan system inti seperti keamanan, manajemen memori, manajemen proses, network stack,
dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.
2.7.2 Komponen Dasar
Aplikasi Android ditulis dalam bahasa pemrograman Java. Java mengompilasi kode bersama dengan data resource dan file yang dibutuhkan
oleh aplikasi dibundel ke dalam paket Android, file arsip ditandai dengan .apk. Komponen aplikasi pada Android terdiri dari 4 komponen utama, yaitu
[5]:
a. Activities
Activities merupakan potongan kode executable yang menyajikan UI
secara visual dimulai oleh pengguna maupun sistem operasi dan berjalan selama diperlukan. Activities biasanya sesuai dengan tampilan layar :
masing-masing Activities menunjukkan satu layar untuk pengguna. Activities
yang tidak aktif dijalankan dapat dimatikan oleh sistem operasi untuk menghemat memori.
b. Service
Service tidak memiliki visual UI, melainkan berjalan di latar belakang
untuk waktu yang tidak terbatas. Contoh dari service adalah MP3 player yang akan terus memainkan file MP3 sesuai urutan file, walaupun
pengguna menggunakan aplikasi lain.
c. Broadcast Receiver
Broadcast Receiver merupakan komponen yang menerima dan bereaksi
untuk menyiarkan pengumuman. Banyak siaran berasal dalam kode
sistem, misalnya pengumuman bahwa zona waktu telah berubah, baterai rendah, bahwa gambar telah diambil, atau bahwa pengguna mengubah
preferensi bahasa. Aplikasi juga dapat melakukan siaran misalnya untuk membiarkan aplikasi lain tahu bahwa beberapa data teah di-download ke
perangkat dan tersedia sehingga dapat digunakan.
d. Content Provider
Content Provider diciptakan untuk berbagi data dengan Activities lain atau
Service . Sebuah Content Provider menggunakan antar muka standar
dalam bentuk URI untuk memenuhi permintaan data dari aplikasi lain.
2.7.3 Daur Hidup Activity
Activity memiliki tiga status dasar yaitu [5] :
1. Active
atau Running Status ini ketika Activity berjalan di foreground di bagian atas stack
untuk task ini. Activity yang berkaitan aktif dengan pengguna. 2.
Pause Jika Activity telah kehilangan fokus tetapi masih dapat dilihat oleh
pengguna yang berarti ada Activity lain yang berjalan di atas Activity ini, sebuah Activity yang transparan atau tidak menutupi layar penuh
sehingga Activity dalam status pause dapat terlihat. Sebuah Activity dalam status pause tetap hidup, yaitu Android tetap mempertahankan
semua informasi dan tetap melekat pada Windows Manager hingga akhirnya dapat dimatikan oleh sistem ketika memori sangat rendah.
3. Stop
Activity benar-benar dihentikan karena ada Activity lain yang memenuhi
layar. Semua informasi dipertahankan tetapi tidak dapat dilihat oleh pengguna sehingga jendela tersembunyi dan dapat dimatikan oleh sistem
ketika memori dibutuhkan.
Metode yang terdapat pada Activity : 1.
onCreate Dipanggil ketika Activity pertama kali dibuat. Biasanya merupakan
metode di mana View yang ingin ditampilkan dibuat, membuka data file, maupun menginisialisasi Activity. Saat memanggil OnCreate, kerangka
Android melewati sebuah bundel objek yang mengandung state activity yang disimpan ketika Activity pertama berjalan.
2. onStart
Dipanggil sebelum Activity terlihat pada layar. Ketika Activity dapat menjadi Activity foreground, maka akan dipanggil method OnResume
sedangkan jika tidak maka akan dipanggil method OnStop. 3.
onResume Dipanggil setelah OnStart apabila Activity dapat menjadi foreground.
Saat ini, Activity dapat bereaksi dengan pengguna. OnResume juga akan
dipanggil ketika Activity ini tidak menjadi foreground karena ada Activity lain lalu Activity lain akhirnya selesai dan Activity kembali menjadi
foreground .
4. onPause
Dipanggil ketika Activity lain dibawa ke foreground. Pada status ini Activity
tidak memiliki akses ke layar. 5.
onStop Dipanggil ketika Activity tidak lagi terlihat karena adanya Activity lain
yang dibawa ke foreground atau Activity ini dimatikan. 6.
OnDestroy Dipanggil terakhir sebelum Activity dimatikan ketika Android
membutuhkan resources yang digunakan oleh Activity.
2.7.4 Daur Hidup Service
Daur hidup Service hampir sama dengan Activity tetapi memiliki beberapa perbedaan untuk detailnya. [5]
1. OnCreate
dan OnStart Dipanggil apabila seseorang klien memanggil
Context.startServiceIntent. Jika service belum berjalan maka Android akan membuatnya dan memanggil OnCreate diikuti method OnStart.
Apabila service telah berjalan, Android hanya akan memanggil OnStart.
2. OnBind
Ketika klien membutuhkan koneksi ke service maka akan dipanggil Context.bind. Pemanggilan ini akan mengakibatkan pembuatan service
apabila service tidak sedang berjalan tanpa memanggil OnStart. 3.
OnDestroy Sama dengan Activity, method ini akan dipanggil ketika service akan
dimatikan. Android akan mematikan service apabila telah tidak ada lagi klien yang memulai atau bind ke service ini.
2.8 Location Based Service LBS dan Google Maps
Salah satu fitur yang mendefinisikan ponsel adalah mudah dibawa, sehingga tidak mengherankan bahwa beberapa fitur Android paling menarik
adalah layanan yang memungkinkan untuk menemukan, mengkontekstualisasikan, dan lokasi peta secara fisik.
Dengan menggunakan Google Maps, pengguna dapat membuat peta berbasis Aktivitas sebagai elemen User Interface. Pengguna memiliki akses
penuh ke peta, yang memungkinkan untuk mengontrol pengaturan tampilan, mengubah tingkat zoom, dan memindahkan lokasi terpusat. Dengan
menggunakan Overlay, pengguna dapat menambahkan keterangan peta dan
menangani masukan pengguna untuk memberikan informasi dan fungsi dari map-contextualized
. Layanan berbasis lokasi LBS - layanan yang memungkinkan pengguna
menemukan lokasi perangkat. Termasuk teknologi seperti GPS dan teknologi Google berbasis sel lokasi. Pengguna dapat menentukan teknologi lokasi-
sensing menggunakan eksplisit dengan nama, atau secara implisit dengan mendefinisikan seperangkat kriteria dalam hal akurasi, biaya, dan persyaratan
lainnya. Peta dan layanan berbasis lokasi menggunakan garis lintang dan bujur
untuk menentukan lokasi geografis, namun pengguna lebih cenderung untuk berpikir menggunakan alamat. Android menyediakan geocoder yang
mendukung perubahan geocoding. Menggunakan geocoder, pengguna dapat mengkonversi bolak-balik antara lintang bujur nilai-nilai dan alamat dunia
nyata. Pemetaan, geocoding, dan layanan berbasis lokasi digunakan bersama- sama menyediakan menyediakan perangkat canggihuntuk menggabungkan
mobilitas ponsel ke dalam aplikasi mobile pengguna. Location Based Service
LBS merupakan istilah umum yang digunakan untuk menggambarkan berbagai teknologi yang digunakan untuk menemukan
lokasi perangkat saat ini. Ada dua elemen LBS yaitu [6]: a.
Location Manager : menyediakan pengait ke Location Based Service.
Fungsi dari Location Manager yaitu mendapatkan lokasi saat ini, melacak
perpindahan dan mengatur tanda kedekatan untuk mendeteksi gerakan masuk dan keluar dari area tertentu.
b. Location Providers
: masing-masing mewakili teknologi lokasi-temuan yang berbeda yang digunakan untuk menentukan lokasi perangkat.
2.9 Sistem Infromasi