Android  merupakan subset perangkat lunak untuk mobile yang meliputi sistem operasi, middleware dan aplikasi inti yang di realese oleh google. Sedangkan Android SDK ( Software Development Kit ) menyediakan tools  dan API yang diperlukan untuk mengembangkan aplikasi pada platform android dengan menggunakan bahasa pemrograman java.

Dikembangkan bersama antara google, HTC, Intel, Motorola, Qualcomm, T-Mobile, NVIDIA yang tergabung dalam OHA (Open Handset Alliancce) dengan tujuan membuat sebuah standar terbuka untuk perangkat bergerak (mobile device)

 

1. Features

  • Application framework : mendukung penggantian komponen dan reusable
  • Dalvik virtual machine : berjalan pada kernel Linux dan dioptimalkan untuk perangkat mobile
  • Integrated browser berdasarkan open source engine WebKit
  • Optimized graphics : dioptimalkan dan didukung oleh library grafis 2D dan 3D berdasarkan spesifikasi OpenGL ES 1,0 (Opsional akselerasi hardware).
  • SQLite : untuk penyimpanan data
  • Media Support : mendukung audio, video dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM Telephony (tergantung pada hardware)
  • Bluetooth, EDGE, 3G, and Wifi
  • Camera, GPS, compass and accelerometer
  • Multi-touch : kemampuan layaknya handset modern yang dapat menggunakan dua jari atau lebih untuk berinteraksi dengan perangkat
  • Rich development environment : termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk Eclipse IDE
  • Market Android : market pada Android merupakan katalog aplikasi yang dapat didownload secara free maupun berbayar dan dapat diinstall pada ponsel.

2. Arsitektur Android

a. Applications

Android telah menyertakan aplikasi inti seperti email client, SMS, kalender, peta, browser, kontak dan lain-lain. Semua aplikasi tersebu ditulis dengan menggunakan bahasa pemrograman Java. Dengan platform Android ini, programmar atau developer secara penuh dapat meng-customize perangkat Androidnya.

b. Application Framework

Pengembang memiliki akses penuh menuju API framework yang sama dengan yang digunakan oleh aplikasi inti. Arsitektur aplikasi dirancang agar komponen dapat digunakan kembali dengan mudah. Semua aplikasi merupakan rangkaian set layanan dan sistem, termasuk :

• Views : melihat tampilan menu secara list, grids, text boxes

• Content Provider : memungkinkan aplikasi untuk mengakses data (seperti pada daftar kontak telepon)

• Resource manager : menyediakan akses ke kode non sumber local seperti string, gambar dan tata letak file

• Notification manager : memungkinkan semua aplikasi menampilkan alert yang bisa di-cutomize didalam status bar

• Activity manager : mengelola siklus aplikasi dan menyediakan navigasi umum backstack

c. Libraries

Android menyertakan libraries C / C++ yang digunakan oleh berbagai komponen dari sistem Android. Kemampuan ini disediakan kepada Developer aplikasi melalui framework aplikasi Android. Beberapa inti libraries adalah :

• System C library : variasi dari Implementasi BSD berdasar pelaksanaan sistem standar C library (libc), sesuai untuk perangkat embedded berbasis Linux

• Media Libraries : PacketVideo berdasarkan OpenCore; library mendukung pemutar rekaman, audio, video dan gambar termasuk file berekstensi MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG

• Surface Manager : mengelola akses ke subsistem layar, lapisan komposit 2D dan grafis 3D dari beberapa aplikasi

• LibWebCore : mesin web modern yang powerfull (Android browser)

• SGL : mesin grafis 2D

• 3D Libraries

• FreeType : bitmap dan vector font rendering

• SQLite : sebuah mesin database

d. Android Runtime

Android terdiri dari satu set core libraries yang menyediakan sebagian besar fungsi yang sama dengan yang terdapat pada core libraries bahasa pemrograman Java. Setiap aplikasi menjalankan prosesnya sendiri dalam Android, dengan masing-masing instan dari mesin virtual Dalvik (Dalvik VM). Dalvik dirancang agar perangkat dapat menjalankan multiple VMs secara efisien. Mesin Virtual Dalvik mengeksekusi file dalam Dalvik executable (.dex), sebuah format yang dioptimalkan untuk memori yang kecil. Dalvik VM berjalan dan dikompilasi oleh compiler bahasa Java yang telah ditranformasikan kedalam .dex format oleh tool “dx” yang telah disertakan Dalvik VM bergantung pada kernel Linux.

e. Linux Kernel

Android bukan Linux, akan tetapi Android dibangun diatas Linux kernel yaitu versi 2.6 sehingga kemampuannya dapat diandalkan. Untuk inti system service linux yang dugunakan seperti keamanan, menejemen memori, proses menejemen, network dan driver model. Linux kernel menyediakan Driver layar, kamera, keypad, wifi, flash memori dan IPC (Interprocess Communication) untuk mengatur aplikasi dan keamanan. Kernel juga bertindak sebagai lapisan abstrak antara hardware dan software stack.

References :

http://developer.android.com/guide/basics/what-is-android.html

membuat aplikasi untuk Android by Mulyadi ST