Android adalah sekumpulan software yang diperuntukan untuk perangkat mobile yang mana sudah termasuk sistem operasi, middleware dan aplikasi kunci. Android SDK menyediakan tool dan API yang diperlukan untuk memulai pengembangan aplikasi di platform android menggunakan bahasa pemrograman java.
Fitur yang terdapat pada android antara lain:- Framework aplikasi menjadikan pergantian dan penggunaan kembali komponen pemrograman.
- Dalvik virtual machine sudah dioptimalkan penggunaannya untuk perangkat mobile.
- Browser terintegrasi berdasarkan engine Webkit yang open source.
- Grafik optimal didukung oleh libary grafik 2D; grafik 3D berdasarkan spesifikasi OpenGL ES 1.0, namun diperlukan tambahan hardware.
- SQLite untuk dukungan database
- Support media untuk format audio, video dan gambar diam yang umum (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- Perteleponan GSM antara lain kirim sms, melakukan panggilan (bergantung pada hardware).
- Bluetooth, EDGE, 3G, DAN WiFi (bergantung pada hardware)
- Kamera, GPS, kompas, dan accelerometer (bergantung pada hardware)
- Lingkungan pengembangan lengkap termasuk emulator perangkat, tool untuk debuging, profil memory dan performa, dan plugin untuk IDE Eclipse
Arsitektur Android
Berikut in adalah diagram yang menunjukan komponen utama dari sebuah OS android. Setiap bagian akan dijelaskan kemudian.
Applications
Android di jual dengan seperangkat aplikasi inti termasuk email client, program sms, kalender, peta, browser, dan lainnya. Semua aplikasi ditulis dengan menggunakan bahasa pemrograman java.
Application framework
Dengan menyediakan platform pengembangan yang terbuka, android menawarkan kepada programmer fasilitas untuk membuat aplikasi yang kaya dan inovatif. Pengembang bebas menggunakan perangkat hardware, akses infomasi lokasi, menjalankan layanan secara background, mengatur alarm, menambah notifikasi di status bar, dan lebih-lebih banyak lagi.
Developer memiliki akses sepenuhnya ke dalam Framework API yang digunakan oleh aplikasi inti. Arsitektur aplikasi dirancang agar sederhana dalam penggunaan kembali komponen. Setiap aplikasi bisa mempublikasikan kemampuannya, dan setiap aplikasi yang lain bisa memanfaatkan kemampuan tersebut, sehingga user bisa mengganti komponen program.
Dibawah semua aplikasi terdapat seperangkat servis dan system, termasuk:
- Seperangkat View (Tampilan) yang banyak dan bisa diperluas yang bisa digunakan untuk membuat aplikasi, termasuk daftar, grid, textbox, tombol, dan bahkan web browser tertanam.
- Content Provider yang menjadikan aplikasi mampu mengakses data dari aplikasi lain (misal: kontak) atau untuk berbagi datanya sendiri.
- Sebuah Resource Manager menyediakan akses terhadap resource yang bukan kode program, seperti string, gambar dan file tampilan layar.
- Sebuah Notification Manager membuat aplikasi bisa memberikan peringatan di status bar
- Activity Manager mampu me-manage daur hidup (lifecycle) dari aplikasi dan menyediakan navigasi backstack umum.
Library
Di dalam android sudah termasuk seperangkat librari C/C++ yang digunakan oleh bermacam komponen dalam sistem android. Kemampuan ini di beritahukan kepada developer android melalui framework aplikasi. Beberapa library inti antara lain:
- Library sistem C - sebuah implementasi dari standar sistem library C (libc) yang merupakan turunan dari BSD, di modifikasi untuk ditanamkan kedalam perangkat berbasis linux.
- Library Media - berdasarkan OpenCORE PacketVideo, librari yang ada mendukung pemutaran dan perekaman banyak format audio dan video yang populer, termasuk juga file gambar diam, misalnya MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG.
- Surface Manager (Pengatur Permukaan) - mengatur akses terhadap subsistem tampilan dan gabungan grafik 2D dan 3D yang halus dari beberapa aplikasi.
- LibWebCore - sebuah engine web browser modern yang melayani baik itu browser dari android dan tampilan web tertanam
- SGL - engine grafik 2D
- Librari 3D - sebuah implementasi berdasarkan API OpenGL ES 1.0, yaitu librari yang menggunakan percepatan hardware 3D (jika ada) atau yang termasuk, software 3D yang sangat optimal.
- FreeType - render huruf bitmap dan vector,/li>
- SQLite - Sebuah engine database relasional yang ringan dan powerfull yang tersedia untuk semua aplikasi.
Runtime Android
Di dalam android sudah termasuk seperangkat librari inti yang menyediakan sebagian besar fungsi-fungsi yang juga tersedia di librari inti bahasa pemrograman java. Setiap aplikasi android berjalan di dalam prosesnya sendiri, dengan menggunakan perangkat "Dalvik virtual machine" miliknya sendiri. Dalvik ditulis sedemikian rupa sehingga sebuah perangkat dapat menjalankan beberapa virtual mesin secara efektif. Dalvik virtual mesin mengkompilasi file dalam format .dex (Dalvik Executable) yang mana sudah dioptimalkan agar meminimalkan penggunaan memory. Dalvik virtual mesin ini berdasarkan register dan menjalankan class-class yang dikompilasi compiler java yang sudah dirubah menjadi format .dex oleh tool "dx" yang sudah termasuk didalamnya. Dalvik virtual mesin ini mengandalkan kernel linux untuk fungsionalitas tingkat bawah, misalnya mengatur memory tingkat rendah.
Kernel Linux
Android mengandalkan kernel Linux versi 2.6 untuk inti sistem, seperti security, management memory, management proses, stack jaringan, dan modul driver. Kernel ini juga bertindak sebagai abstraksi antar layer antara hardware dan software.
Tweet
Tidak ada komentar:
Posting Komentar