Saturday, September 10, 2011

Apakah Android Itu?


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.

Categories: , , , , , , , ,

0 komentar:

Copyright © Johannes Dwi Cahyo | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com | BTheme.net      Up ↑