Arsitektur dan Aplikasi Android
Sebelumnya saya sudah membahas tentang sejarah dan perkembangan Android di http://blogs.mervpolis.com/roller/netoyaOzora/entry/sejarah_android sekarang mari kita bahas mengenai Arsitektur dan Aplikasi Android.
Arsitektur Android
Diagram berikut menunjukkan komponen-komponen utama dari sistem operasi Android. 
Google mengibaratkan Android sebagai sebuah tumpukan
software. Setiap lapisan dari tumpukan ini menghimpun beberapa
program yang mendukung fungsi-fungsi spesifik dari sistem operasi. Berikut ini susunan dari lapisan – lapisan tersebut
jika di lihat dari lapisan dasar hingga lapisan teratas:
Linux
Kernel
Tumpukan paling bawah pada arsitektur Android ini
adalah kernel. Google menggunakan kernel Linux versi 2.6 untuk
membangun sistem Android, yang mencakup memory management, security
setting, power management, dan beberapa driver hardware.
Kernel
berperan sebaagai abstraction layer antara hardware dan keseluruhan
software.
Sebagai contoh, HTC GI dilengkapi dengan kamera. Kernel
Android terdapat driver kamera yang memungkinkan pengguna
mengirimkan perintah kepada hardware kamera.
Android
Runtime
Lapisan setelah Kernel Linux adalah Android Runtime.
Android Runtime ini berisi Core Libraries dan Dalvik
Virtual Machine.
Core Libraries mencakup serangkaian inti library Java, artinya Android menyertakan satu set library-library dasar yang menyediakan sebagian besar fungsi-fungsi yang ada pada library-library dasar bahasa pemrograman Java.
Dalvik adalah Java Virtual Machine yang memberi kekuatan pada sistem Android. Dalvik VM ini di optimalkan untuk telepon seluler.
Setiap
aplikasi yang berjalan pada Android berjalan pada processnya
sendiri, dengan instance dari Dalvik Virtual Machine. Dalvik telah
dibuat sehingga sebuah piranti yang memakainya dapat menjalankan
multi Virtual Machine dengan efisien.
Dalvik VM dapat mengeksekusi file dengan format Dalvik
Executable (.dex) yang telah dioptimasi untuk menggunakan minimal
memory footprint. Virtual Machine ini register-based, dan
menjalankan class-class yang dicompile menggunakan compiler Java
yang kemudian ditransformasi menjadi format .dex menggunakan "dx"
tool yang telah disertakan.
Dalvik Virtual Machine (VM) menggunakan
kernel Linux untuk menjalankan fungsi-fungsi seperti threading
dan low-level memory management.
Libraries
Bertempat
di level yang sama dengan Android Runtime adalah Libraries. Android
menyertakan satu set library-library dalam bahasa C/C++ yang
digunakan oleh berbagai komponen yang ada pada sistem Android.
Kemampuan ini dapat diakses oleh programmer melewati Android
application framework. Sebagai contoh Android mendukung pemutaran
format audio, video, dan gambar.
Berikut ini beberapa core library tersebut :
System
C library
diturunkan dari
implementasi standard C system library (libc) milik BSD, dioptimasi
untuk piranti embedded berbasis Linux
Media
Libraries
berdasarkan
PacketVideo's OpenCORE; library-library ini mendukun playback dan
recording dari berbadai format audio and video populer, meliputi
MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface
Manager
mengatur akses
pada display dan lapisan composites 2D and 3D graphic dari berbagai
aplikasi
LibWebCore
web browser engine
modern yang mensupport Android browser maupun embeddable web view
SGL
the underlying 2D
graphics engine
3D
libraries
implementasi
berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan hardware 3D
acceleration dan highly optimized 3D software rasterizer
FreeType
bitmap dan vector
font rendering
SQLite
relational database engine yang
powerful dan ringan tersedia untuk semua aplikasi
Application Framework
Lapisan selanjutnya adalah
application framework, yang mencakup program untuk mengatur
fungsi-fungsi dasar smartphone. Application Framework
merupakan serangkaian tool dasar seperti alokasi resource smartphone,
aplikasi telepon, pergantian antar - proses atau program, dan
pelacakan lokasi fisik telepon. Para pengembang aplikasi
memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan
memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.
Programmer mendapatkan akses penuh untuk
memanfaatkan API-API (Android Protocol Interface) yang juga digunakan
core applications. Arsitektur aplikasi didesain untuk menyederhanakan
pemakaian kembali komponen-komponen, setiap aplikasi dapat
menunjukkan kemampuannya dan aplikasi lain dapat memakai kemampuan
tersebut. Mekanisme yang sama memungkinkan pengguna mengganti
komponen-komponen yang dikehendaki.
Di dalam semua aplikasi
terdapat servis dan sistem yang meliputi :
Satu set Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grids, text boxes, buttons, dan embeddable web browser
Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang dimilikinya.
Resource Manager, menyediakan akses ke non-code resources misalnya localized strings, graphics, dan layout files
Notification Manager yang memungkinkan semua aplikasi untuk menampilkan custom alerts pada the status bar
Activity Manager yang memanage life cycle of dari aplikasi dan menyediakan common navigation backstack
Application
Di
lapisan teratas bercokol aplikasi itu sendiri. Di lapisan inilah
anda menemukan fungsi-fungsi dasar smartphone seperti menelepon dan
mengirim pesan singkat, menjalankan web browser, mengakses daftar
kontak, dan lain-lain. Bagi rata-rata pengguna, lapisan inilah yang
paling sering mereka akses. Mereka mengakses fungsi-fungsi dasar
tersebut melalui user interface.
Aplikasi
Android
Untuk membangun aplikasi Android, seorang programmer
dituntut telah akrab dengan bahasa pemrograman Java. Bila syarat
pertama ini telah dipenuhi, langkah selanjutnya adalah men-download
software development kit (SDK) yang disediakan Android. SDK ini
membukakan jalan bagi programmer untuk mengakses application
programming interface (API) Android.
SDK yang diinstall di PC
ini mencakup beberapa tool, termasuk aplikasi contoh dan emulator
Android. Emulator Android adalah program yang menduplikasi
fungsi-fungsi smartphone yang berjalan di atas platform Android.
Emulator juga berfungsi sebagai ajang pengujian aplikasi di
PC,sebelum disematkan ke dalam smartphone Android.
Google
menjabarkan aplikasi Android ke dalam empat blok bangunan dasar
(tidak semua aplikasi mempunyai keempatnya) yaitu :
Activities
yaitu ketika sebuah
aplikasi memunculkan screen di layar. Sebagai contoh, sebuah
aplikasi GPS mempunyai screen peta dasar, screen rencana perjalanan,
dan screen rute di atasnya. Ketiga penampakan screen ini disebut
activities.
Intents
yaitu mekanisme
perpindahan dari suatu activity ke activity lainnya. Sebagai contoh
ketika merencanakan perjalanan pada aplikasi GPS, intent akan
menginterpretasi input dan mengaktifkan screen rute di atas screen
peta.
Services
yaitu serupa
dengan service di PC dan server, program yang berjalan di belakang
layar, tanpa interferensi dari pengguna.
Content Provider
yaitu mekanisme yang memungkinkan
sebuah aplikasi berbagi informasi dengan aplikasi lainnya.
Fitur-fitur
Android
Application
framework
mendukung pemakaian
komponen-komponen yang mudah diganti dan digunakan kembali.
Dalvik
virtual machine
dioptimasi untuk
piranti mobile
Integrated
browser
dibangun dari
engine browser open source WebKit
Optimized
graphics
didukung oleh
custom 2D graphics library; 3D graphics dibangun berdasarkan OpenGL
ES 1.0 specification (dukungan hardware acceleration optional)
SQLite
untuk penyimpanan
database terstruktur
Media
support
unuk mendukung
berbagai audio, video, dan still image formats (MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG, GIF)
GSM Telephony
Bluetooth, EDGE, 3G, and WiFi
Camera, GPS, compass, and accelerometer
Rich development
environment
meliputi device emulator, tools untuk
debugging, memory dan performance profiling, dan plugin untuk
Eclipse IDE
Beberapa keunggulan Android adalah :
Keterbukaan
Android menyediakan
akses ke fungsi dasar perangkat mobile menggunakan standar panggilan
ke API.
Penghancuran
perbatasan
Anda dapat
menggabungkan informasi dari Internet ke dalam telepon, seperti
informasi kontak, atau data pada lokasi geografis untuk mendapatkan
kesempatan baru
Kesamaan
aplikasi
untuk Android ada
perbedaan antara telepon utama aplikasi dan perangkat lunak lain.anda bahkan dapat
mengubah program untuk memutar nomor, atau screen saver.
Cepat dan
mudah perkembangan
dalam SDK memiliki
semua yang anda butuhkan untuk membuat dan menjalankan aplikasi
Android, termasuk simulator ini instrumen, dan alat debugging maju.
Posted at 02:14AM Mar 31, 2010 by nety ozora in General | Comments[3]
Info nya bagus ... Thx
Posted by Louis on April 04, 2010 at 08:22 PM WIT #
Makasih.. tunggu berita tentang android lainnya ya :)
Posted by Netota Ozora on April 06, 2010 at 11:29 PM WIT #
terimakasih, tulisan anda sangat membantu
:)
Posted by anoname on May 09, 2011 at 02:39 AM WIT #