Android - Arsitektur
Sistem operasi Android adalah kumpulan komponen perangkat lunak yang secara kasar dibagi menjadi lima bagian dan empat lapisan utama seperti yang ditunjukkan di bawah ini dalam diagram arsitektur.
Kernel Linux
Di bagian bawah lapisan adalah Linux - Linux 3.6 dengan sekitar 115 tambalan. Ini memberikan tingkat abstraksi antara perangkat keras perangkat dan berisi semua driver perangkat keras penting seperti kamera, keypad, tampilan dll. Selain itu, kernel menangani semua hal yang benar-benar bagus di Linux seperti jaringan dan beragam driver perangkat , yang menghilangkan rasa sakit karena antarmuka ke perangkat keras periferal.
Perpustakaan
Di atas kernel Linux terdapat satu set pustaka termasuk mesin browser Web open-source WebKit, libc perpustakaan terkenal, database SQLite yang merupakan tempat penyimpanan yang berguna untuk penyimpanan dan berbagi data aplikasi, perpustakaan untuk memutar dan merekam audio dan video, SSL perpustakaan yang bertanggung jawab atas keamanan Internet dll.
Perpustakaan Android
Kategori ini mencakup pustaka berbasis Java yang dikhususkan untuk pengembangan Android. Contoh pustaka dalam kategori ini mencakup pustaka kerangka aplikasi selain yang memfasilitasi pembangunan antarmuka pengguna, gambar grafik, dan akses basis data. Ringkasan beberapa pustaka Android inti utama yang tersedia untuk pengembang Android adalah sebagai berikut -
android.app - Menyediakan akses ke model aplikasi dan merupakan landasan semua aplikasi Android.
android.content - Memfasilitasi akses konten, penerbitan dan perpesanan antara aplikasi dan komponen aplikasi.
android.database - Digunakan untuk mengakses data yang diterbitkan oleh penyedia konten dan termasuk kelas manajemen database SQLite.
android.opengl - Antarmuka Java ke API rendering grafis OpenGL ES 3D.
android.os - Menyediakan aplikasi dengan akses ke layanan sistem operasi standar termasuk pesan, layanan sistem, dan komunikasi antar proses.
android.text - Digunakan untuk merender dan memanipulasi teks pada tampilan perangkat.
android.view - Blok bangunan fundamental dari antarmuka pengguna aplikasi.
android.widget - Koleksi kaya komponen antarmuka pengguna yang dibuat sebelumnya seperti tombol, label, tampilan daftar, manajer tata letak, tombol radio, dll.
android.webkit - Sekumpulan kelas yang dimaksudkan untuk memungkinkan kemampuan penjelajahan web dimasukkan ke dalam aplikasi.
Setelah membahas pustaka inti berbasis Java dalam runtime Android, sekarang saatnya untuk mengalihkan perhatian kita ke pustaka berbasis C / C ++ yang terdapat dalam lapisan tumpukan perangkat lunak Android ini.
Android Runtime
Ini adalah bagian ketiga dari arsitektur dan tersedia di lapisan kedua dari bawah. Bagian ini menyediakan komponen kunci yang disebutDalvik Virtual Machine yang merupakan jenis Mesin Virtual Java yang dirancang dan dioptimalkan khusus untuk Android.
VM Dalvik menggunakan fitur-fitur inti Linux seperti manajemen memori dan multi-threading, yang merupakan intrinsik dalam bahasa Java. VM Dalvik memungkinkan setiap aplikasi Android untuk berjalan dalam prosesnya sendiri, dengan instance-nya sendiri dari mesin virtual Dalvik.
Runtime Android juga menyediakan sekumpulan pustaka inti yang memungkinkan pengembang aplikasi Android untuk menulis aplikasi Android menggunakan bahasa pemrograman Java standar.
Kerangka Aplikasi
Lapisan Kerangka Aplikasi menyediakan banyak layanan tingkat yang lebih tinggi untuk aplikasi dalam bentuk kelas Java. Pengembang aplikasi diizinkan untuk menggunakan layanan ini dalam aplikasi mereka.
Kerangka Android menyertakan layanan utama berikut -
Activity Manager - Mengontrol semua aspek siklus hidup aplikasi dan tumpukan aktivitas.
Content Providers - Mengizinkan aplikasi menerbitkan dan berbagi data dengan aplikasi lain.
Resource Manager - Menyediakan akses ke sumber daya non-kode yang disematkan seperti string, pengaturan warna, dan tata letak antarmuka pengguna.
Notifications Manager - Mengizinkan aplikasi untuk menampilkan peringatan dan pemberitahuan kepada pengguna.
View System - Satu set tampilan yang dapat diperluas yang digunakan untuk membuat antarmuka pengguna aplikasi.
Aplikasi
Anda akan menemukan semua aplikasi Android di lapisan atas. Anda akan menulis aplikasi Anda untuk diinstal pada lapisan ini saja. Contoh aplikasi tersebut adalah Buku Kontak, Browser, Game, dll.