Minggu, 05 Desember 2010

Android

Android adalah sebuah software stack untuk perangkat mobile yang mencakup sistem operasi, middleware dan aplikasi kunci. Android SDK menyediakan alat dan API diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java.





Fitur
  • Application framework yang memungkinkan dan penggantian komponen
  • Dalvik virtual machine dioptimalkan untuk perangkat mobile
  • Integrated browser berdasarkan open source WebKit mesin
  • Optimized graphics didukung oleh library custom 2D grafis; grafis 3D berdasarkan OpenGL ES 1,0 spesifikasi (akselerasi hardware opsional)
  • SQLite untuk penyimpanan data terstruktur
  • Media support untuk umum audio, video, dan gambar diam format (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM Telephony (hardware dependent)
  • Bluetooth, EDGE, 3G, dan WiFi (hardware dependent)
  • Kamera, GPS, kompas, dan accelerometer (hardware dependent)
  • Development environment kaya termasuk perangkat emulator, tools untuk debugging, memori dan profil kinerja, dan sebuah plugin untuk IDE Eclipse

Arsitektur Android
Diagram berikut menunjukkan komponen utama dari sistem operasi Android. Setiap bagian ini dijelaskan secara lebih rinci di bawah ini :


Aplikasi
Android akan kapal dengan serangkaian aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman Java.

Aplikasi Framework
Dengan menyediakan sebuah platform pengembangan yang terbuka, pengembang Android menawarkan kemampuan untuk membangun aplikasi yang sangat kaya dan inovatif. Pengembang bebas untuk mengambil keuntungan dari perangkat keras, akses informasi lokasi, menjalankan layanan latar belakang, mengatur alarm, tambahkan pemberitahuan ke status bar, dan masih banyak lagi.
Pengembang memiliki akses penuh ke API kerangka kerja sama yang digunakan oleh aplikasi inti. Arsitektur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen; aplikasi apapun dapat mempublikasikan kemampuan dan aplikasi lain maka dapat menggunakan kemampuan mereka (tunduk pada batasan keamanan ditegakkan oleh framework). Mekanisme yang sama memungkinkan komponen yang akan diganti oleh pengguna.

Menyediakan semua aplikasi untuk seperangkat layanan dan sistem, termasuk:
  • Satu set Tampilan yang kaya dan extensible yang dapat digunakan untuk membangun aplikasi, termasuk lists, grids, text boxes, buttons, dan bahkan sebuah browser web yang embeddable.
  • Penyedia Konten yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (seperti Kontak), atau untuk berbagi data mereka sendiri
  • Sebuah Resource Manager, menyediakan akses ke sumber daya non-kode seperti string lokal, grafik, dan file layout
  • Sebuah Notification Manager yang memungkinkan semua aplikasi untuk menampilkan alert kustom dalam status bar
  • Sebuah Activity Manajer yang mengelola kelangsungan aplikasi dan menyediakan navigasi umum backstack


Library
Android sudah memasukkan satu set C/C++ library yang digunakan oleh berbagai komponen sistem Android. Kemampuan ini dimasukkan oleh  pengembang melalui kerangka aplikasi Android. Beberapa library inti tercantum di bawah ini:
  • Sistem C library - implementasi BSD-berasal dari sistem C library standar (libc), diset untuk perangkat berbasis Linux embedded
  • Media Libraries - berdasarkan PacketVideo's OpenCORE; dukungan library playback dan rekaman audio populer dan format video, serta file gambar statis, termasuk MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG
  • Surface Manager - mengelola akses ke subsistem menampilkan dan menampilkan lapisan grafis 2D dan 3D secara mulus dari beberapa aplikasi multiple
  • LibWebCore - mesin modern web browser yang kekuatan baik browser Android dan embeddable web view
  • SGL - dasar mesin grafis 2D
  • 3D library - implementasi berdasarkan OpenGL ES 1.0 API, library yang menggunakan akselerasi 3D hardware (jika tersedia) atau disertakan, software 3D rasterizer yang sangat optimal
  • FreeType - font rendering bitmap dan vektor
  • SQLite - mesin database relasional yang powerful dan ringan tersedia untuk semua aplikasi

Android Runtime
Android sudah termasuk satu set library inti yang menyediakan sebagian besar fungsi yang tersedia di library inti dari bahasa pemrograman Java.
Setiap aplikasi Android berjalan dalam prosesnya sendiri, dengan contoh sendiri dari mesin Dalvik virtual. Dalvik telah ditulis sehingga perangkat dapat menjalankan beberapa VMs secara efisien. VM Dalvik mengeksekusi file dalam format file Dalvik executable (.dex) yang dioptimalkan untuk footprint memori minimal. VM adalah register-based, dan menjalankan class yang dikompilasi oleh compiler Java yang telah ditransformasikan ke dalam format .dex oleh "dx" tool yang sudah termasuk di dalamnya.
VM Dalvik bergantung pada kernel Linux untuk fungsionalitas dasar seperti threading dan manajemen tingkat rendah memori.

Linux Kernel
Android mengandalkan Linux versi 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan driver model. Kernel juga bertindak sebagai lapisan abstraksi antara hardware dan seluruh software stack.

Silahkan memberikan komentar, saran atau pertanyaan mengenai teknologi informasi dan komunikasi. Komentar Anda akan melalui proses moderasi oleh Admin.
EmoticonEmoticon