Menurut Google
IO 2010 :
- Opensource dan openplatform untuk pengembangan teknologi mobile
- SDK, API dan sourcecodenya tersedia untuk diunduh
- Tidak ada lisensi
- Bisa merubah bagian system semau kita
Android
menjanjikan keterbukaan dan kebebasan ini. Berbasis dari kernel Linux
(Pak Linus Torvalds
anda luar biasa sekali!!) yang dimodifikasi untuk mengakuisisi
teknologi mobile
yang memorinya relative kecil. Setiap aplikasi dijalankan melalui
suatu Virtual
Machine
bernama Dalvik
(dari nama daerah asal leluhur Programmernya, Pak Bornstein).
Dalvik VM
ini menerjemahkan set instruksi dari kode program agar bisa
dilakukan/dijalankan oleh mesin. Dalvik
tidak sama dengan JavaVM
(JRE),
perbedaan utamanya adalah JavaVM
merupakan stack-based
VM (pengalamatan
memorinya system stacking) sementara Dalvik
merupakan register-based,
menggunakan register yang memang lebih hemat memori dalam
pengoperasiannya, eksekusinya lebih cepat, tapi membuat file
compilasi program yang lebih besar. DalvikVM
merupakan interpreter-only VM yang menjalankan file executable
*.dex,
format yang dioptimasi untuk ukuran yang efisien dan memory-mappable
execution.
Dapat menjalankan Java
Class yang yang
ditransformasi menjadi format nativenya dengan dx
tool yang sudah
tersedia di SDK.
Menggunakan Kernel
Linux 2.6,
Dalvik yang
berjalan diatas Kernel
itu dioptimasi untuk fasilitas threaded
programming,
fungsi jaringan dan manajemen memory level bawahnya dari
sini(hubungan dengan hardware
termasuk juga driver).
Android
merupakan sistem operasi Linux
Multiuser,
dimana setiap aplikasi Android
menjadi user
tersendiri, dengan user
id tertentu yang
digunakan oleh sistem, dengan pengesetan permissions
khusus bagi user
(baca: aplikasi)
untuk setiap filenya. Setiap proses punya VMnya
masing-masing, sehingga setiap aplikasi berjalan dalam isolasi. Ini
merupakan cara pengamanan yang dilakukan Android,
sehingga setiap aplikasi hanya memiliki hak terhadap resourcenya
masing-masing. Meskipun tetap ada cara untuk mengakses file milik
aplikasi lain atau bahkan sistem resource,
dengan pemberian permissions
tertentu dan harus disetujui user saat instalasi.
Komponen Aplikasi Android :
- Activities : satu screen dengan user interface (UI).
- Services : component yang berjalan di background, tidak memiliki UI.
- Content providers : memanage data aplikasi/storage, bisa melalui SQLite, web dan persistent storage.
- Broadcast receivers : komponen yang merespon system broadcast messages.
Aktivasi
Komponen :
- Activities : menggunakan Intent untuk startActivity() atau startActivityForResult().
- Services : menggunakan Intent untuk startService() atau bindService().
- Broadcast receivers: menggunakan Intent untuk sendBroadcast(), sendOrderedBroadcast() atau sendStickyBroadcast().
- Content provider : memanggil query() pada ContentResolver.
0 komentar:
Post a Comment