Arsitektur Platform Android
Pada tutorial Android sebelumnya, kita telah membahas tentang :
- Install Android Studio pada OS Windows
- Dasar-dasar Android Studio
- Tutorial Android Studio (Refactoring) part 1
- Tutorial Android Studio (Refactoring) part 2
Edisi tutorial android kali ini akan menitikberatkan pada prinsip arsitekturnya. Kita akan mengetahui bagaimana platform android dapat mengeksekusi suatu program yang kita develop.
Sistem operasi Android berupa sekumpulan software yang terdiri dari : application, runtime environment, middleware, service dan libraries seperti yang ditunjukkan oleh diagram arsitektur Android dibawah ini :
Dari diagram diatas, arsitektur sistem
operasi Android terdiri dari kumpulan komponen software yang dibagi menjadi
lima bagian dan empat layer :
Linux kernel
Berada
pada posisi layer paling dasar, linux kernel memberikan tingkat abstraksi
antara perangkat hardware dengan layer
diatasnya serta berisi semua hardware driver seperti:kamera, layar, keypad dan
lain-lain.
Libraries
Libraries berisikan sekumpulan
intruksi-intruksi yang memandu device dalam penanganan berbagai jenis data yang
berbeda, seperti untuk fitur playpack
dan recording pada audio dan video menggunakan Media Framework Library.
Android runtime
Berada
pada layer yang sama seperti Libraries, Android runtime terdiri dari core libraries dan Dalvik virtual machine. Core libraries berisikan sekumpulan Java
library, sehingga developer dapat menggunakan bahasa pemrograman Java dalam
pembuatan aplikasi Android.
Sedangkan
Dalvik virtual machine dibutuhkan
untuk menjalankan aplikasi Android.
Application framework
Application
framework yang berisikan sekumpulan services
yang berfungsi dalam manajeminisasi fungsi dasar perangkat Android, seperti : resource management, voice call.
Sekumpulan
services dalam Application framework berupa:
- Activity manager : Mengelola seluruh aktivitas dari siklus hidup sebuah aplikasi.
- Window manager : Window manager merupakan system service yang bertanggung jawab dalam pengelolaan suatu window, window mana saja yang ditampilkan dan bagaimana window tersebut diposisikan pada pada layar.
- Content provider : Mengelola data sharing antar sesama aplikasi.
- View system : Berfungsi dalam hal view dan layout yang membentuk user interface (UI).
- Package manager : Berfungsi untuk mengetahui aplikasi lain yang terinstal pada perangkat.
- Telephony manager : Memberikan informasi layanan telepon serta informasi pelanggan seperti nomor telepon.
- Resource manager : Mengelola berbagai jenis sumberdaya yang digunakan dalam aplikasi Android.
- Location manager : Sebuah aplikasi dapat mengetahui kondisi terkini dari lokasi yang mengalami perubahan.
- Notification manager : Aplikasi dapat menampilkan peringatan dan notifikasi kepada pengguna.