Last Updated on 12 years by Mas Herdi
Bagian dari Coding Santai : Android Series
Android dibangun dengan menggunakan asas object oriented, dimana elemen-elemen penyusun sistem operasinya berupa objek yang dapat kita gunakan kembali/reusable. Agar bisa membuat aplikasi dengan baik, tentunya kita harus mengetahui arsitektur OS Android beserta elemen elemennya.
Gambar dibawah merupakan skema pembagian elemen pada arsitektur Android. Secara garis besar arsitektur android terdiri dari empat layer komponen, yaitu:
Layer Applications dan Widget
Inilah layer pertama pada OS Android, biasa dinamakan layer Applications dan Widget. Layer ini merupakan layer yang berhubungan dengan aplikasi-aplikasi inti yang berjalan pada Android OS. Seperti klien email, program SMS, kalender, browser, peta, kontak, dan lain-lain. Semua aplikasi ini dibuat dengan menggunakan bahasa Java. Apabila kalian membuat aplikasi, maka aplikasi itu ada di layer ini.
Layer Applications Framework
Applications Framework merupakan layer dimana para pembuat aplikasi menggunakan komponen-komponen yang ada di sini untuk membuat aplikasi mereka. Beberapa contoh komponen yang termasuk di dalam Applications Framework adalah sebagai berikut:
- Views
- Content Provider
- Resource Manager
- Notification Manager
- Activity Manager
Layer Libraries
Libraries merupakan layer tempat fitur-fitur android berada. Pada umumnya libraries diakses untuk menjalankan aplikasi. Beberapa library yang terdapat pada android diantaranya adalah libraries Media untuk memutar media video atau audio, libraries untuk menjalankan tampilan, libraries Graphic, libraries SQLite untuk dukungan database, dan masih banyak library lainnya.
Android RunTime
Android RunTime merupakan layer yang membuat aplikasi android bisa dijalankan. Android RunTime dibagi menjadi dua bagian yaitu:
a) Core Libraries : berfungsi untuk menerjemahkan bahasa Java/C
b) Dalvik Virtual Machine : sebuah mesin virtual berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi pada Android secara efisien.
Linux Kernel
Linux Kernel merupakan layer tempat keberadaan inti dari operating system android. Layer ini berisi file-file system yang mengatur system processing, memory, resource, drivers, dan sistem android lainnya. Inilah yang membuat file sistem pada Android mirip dengan file sistem pada sistem operasi berbasis Linux. Kernel yang digunakan adalah kernel Linux versi 2.6, dan versi 3.x pada Android versi 4.0 ke atas. Kernel ini berbasis monolithic.
Itulah sdikit gambaran tentang Android arsitektur. Lantas apa yang dimaksud dengan reusable di sini? Reusable berarti komponen-komponen yang ada pada aplikasi Android bisa kita pakai ketika kita membutuhkannya. Khususnya komponen-komponen pada layer pertama dan kedua. Misalnya kita ingin membuat sebuah web browser sederhana, maka kita hanya perlu menginstanstiasi kelas WebKit browser yang berfungsi untuk menampilkan web page. Semoga berguna 🙂
mas brow agan ganteng ..ane numpang baca2 ye …ane sekalian belajar2 mas brow ..mudah2an amal ibadah ente diterima tuhan ..amin
monggo~
Kalau penemu Blackberry itu siapa ya?
silahkan googling bro
Penemunya orang yang tinggal di kanada mba.
manteb bro artikelnya. btw mau nanya, kalo database android ini bisa disambungin ke database lain ga ? semisal disambungin lewat vpn gitu?
bisa, tapi itu harus lewat API/ web service
luar biasa semoga jadi amal jariah yang selau mengalir gan..
sangat bermanfaat informasinya.
saya juga membuat postingan serupa , semoga bisa menmah ilmu pengetahuan juga
Terima kasih gan ilmunya. Nambah wawasan buat ane..
keren, ane lg cari tutorial untuk buat di website ane, mudah2n bisa ane, terims banyak ya gan
Buset
Awas ya gan kalo sampe copas artikel dari sini,
ane laporin nanti ke mbah Google :))
Mau tanya gan. Sy kan download file source code di github abang. Pertanyaanku, bagaimana caranya impor file zip-nya ke Android studio yah? Sdh cari di gugel tp tdk ketemu soalnya.
Bikin project dulu bang di Android Studio, caranya : https://www.twoh.co/2014/12/14/tutorial-membuat-aplikasi-android-menggunakan-android-studio/
Habis itu import zip dari github ane as a module
Thanks atas arahannya gan. Btw, sy mau buat aplikasi video call nih gan. Btw, agan punya tidak contoh tutorialnya. Atau artikel yg membahas apa saja yang harus dilakukan terlebih dahulu?