Android Architekstur: Lapisan Aplikasi, Kerangka, Komponen

Android Rilis awal sistem operasi ini adalah pada tahun 2008. Bahkan pada awalnya, tim di balik sistem operasi ini membangunnya di atas pundak para raksasa. Di luar antarmuka pengguna yang dimilikinya, Android OS hadir di tingkat permukaan, terdiri dari beberapa lapisan. Lapisan ini mencakup kode khusus dan teknologi sumber terbuka yang terus dikembangkan selama beberapa dekade.

Android telah dikembangkan melalui upaya kolaboratif dan investasi besar-besaran oleh banyak perusahaan. Perusahaan utama di balik pengembangan android adalah Google. Perusahaan lain termasuk produsen perangkat seperti Samsung, LG; produsen prosesor seperti Intel dan ARM, dan masih banyak lagi.

Ketika kita berbicara tentang Android Arsitektur, yang kami maksud adalah bagaimana Android Sistem telah dirancang, disegmentasi menjadi beberapa lapisan, dan dibangun untuk bekerja sebagai sebuah sistem. Membangun sistem yang kompleks seperti itu memerlukan penataan yang cermat untuk memastikan semua komponen bekerja sama secara kohesif. Arsitekturnya memastikan bahwa banyak komponen berfungsi sebagai satu kesatuan tanpa gangguan.

Lapisan

Berikut ini adalah lapisan-lapisan yang menyusun Android arsitektur seperti yang diberi label pada diagram:

  1. Aplikasi
  2. Kerangka Aplikasi
  3. Android Perpustakaan Runtime dan Inti
  4. Kernel Linux

Mengembangkan sistem operasi untuk perangkat seluler disertai dengan serangkaian tantangan. Penggunaan arsitektur berlapis ini memastikan bahwa berbagai masalah dipecah dan dipecahkan pada berbagai tingkatan.

Arsitektur berlapis membantu memisahkan berbagai masalah dan memastikan pengembang perangkat lunak Android tidak harus berhadapan dengan masalah-masalah kecil di setiap kesempatan. Sebaliknya, mereka dapat berfokus pada penyampaian nilai bisnis yang berkaitan dengan lapisan yang sedang mereka garap.

Pengembang yang berupaya membuat aplikasi tidak perlu khawatir tentang implementasi kerangka aplikasi. Pekerjaan itu diserahkan kepada pengembang sistem yang mengerjakan kerangka Aplikasi.

Pengembang Application Framework bekerja berdasarkan pengalaman pengembang dan tidak perlu khawatir tentang driver tingkat rendah. Teknisi sistem tingkat rendah dapat berfokus sepenuhnya pada komponen tingkat rendah seperti driver Bluetooth atau Audio dan sejenisnya.

AndroidStruktur berlapis memungkinkan penerapan pembaruan dengan perbaikan bug atau peningkatan pada setiap lapisannya sendiri. Hal ini memastikan bahwa perubahan antar lapisan tidak saling mengganggu. Hal ini memungkinkan orang-orang yang bekerja pada level OS yang berbeda untuk bekerja saling menghalangi saat pembaruan dan rilis baru selesai.

Android Aplikasi

Android Aplikasi
Android Aplikasi

Ini adalah lapisan tempat pengguna akhir berinteraksi. Pada lapisan inilah pengembang aplikasi mempublikasikan aplikasinya untuk dijalankan.

Android, secara default, dilengkapi dengan serangkaian aplikasi yang membuat perangkat android dapat digunakan sejak awal.

  1. Home: Beranda aktif Android terdiri dari ikon peluncur untuk aplikasi yang umum digunakan yang mungkin ingin diakses dengan cepat oleh pengguna akhir. Anda dapat memulai aplikasi dengan mengeklik peluncur aplikasi ini. Di bagian paling atas layar, Anda memiliki widget yang menunjukkan jaringan, level baterai, tanggal, dan waktu.
  2. Kontak: Android, secara default, menyediakan sarana untuk menyimpan dan mengambil kontak. Informasi kontak dibagikan ke seluruh aplikasi lain untuk meningkatkan fungsionalitas.
  3. pesan: Android menyediakan kemampuan untuk mengirim dan menerima pesan SMS.
  4. Email: Android dilengkapi dengan dukungan asli untuk layanan email. Menyiapkan Android perangkat memerlukan akun Gmail. Menyiapkan Gmail mengaktifkan komponen lain yang bergantung pada email di Android perangkat. Beberapa fitur yang bergantung pada email mencakup mekanisme keamanan dan pemulihan. Fitur lain yang bergantung pada email adalah akses ke Play Store, pasar untuk Android aplikasi.
  5. Browser: Android hadir dengan browser bawaan.
  6. Laci Pemberitahuan: Menggesek layar ke bawah akan menampilkan laci notifikasi. Ini menyediakan kejadian aplikasi yang harus diketahui pengguna. Di atas notifikasi terdapat serangkaian pintasan ke beberapa pengaturan perangkat yang umum digunakan yang dapat diubah oleh pengguna. Pengaturan ini mencakup tombol on dan off untuk berbagai komponen perangkat keras seperti Bluetooth dan Wifi. Menekan lama peristiwa ini memungkinkan kita menavigasi ke halaman konfigurasinya.

Lapisan ini juga disebut sebagai level pengguna, berbeda dengan lapisan di bawahnya yang sebagian besar disesuaikan untuk pengembangan aplikasi. Pengembang aplikasi membuat dan menyesuaikan pengalaman untuk aplikasi mereka pada lapisan ini. Lapisan di bawah lapisan aplikasi tidak disesuaikan oleh pengembang aplikasi. Lapisan tersebut dianggap sebagai bagian dari lapisan sistem. Lapisan ini disesuaikan oleh produsen perangkat, tim Google Android, atau pihak ketiga yang ingin menggunakan Android kode sumber untuk produk atau penelitian mereka.

Kerangka Aplikasi

Android OS memperlihatkan perpustakaan dan fitur yang mendasarinya Android perangkat yang menggunakan a Java API. Inilah yang dikenal sebagai Android kerangka. Kerangka kerja ini memaparkan cara yang aman dan seragam untuk digunakan Android sumber daya perangkat.

Kerangka Aplikasi
Kerangka aplikasi

1) Manajer Aktivitas

Aplikasi menggunakan Android komponen aktivitas untuk menyajikan titik masuk ke aplikasi. Android Aktivitas adalah komponen yang menampung antarmuka pengguna tempat pengguna aplikasi berinteraksi. Saat pengguna akhir berinteraksi dengan Android perangkat, mereka memulai, menghentikan, dan berpindah-pindah di banyak aplikasi. Setiap peristiwa navigasi memicu aktivasi dan penonaktifan banyak aktivitas di masing-masing aplikasi.

Android ActivityManager bertanggung jawab atas perilaku yang dapat diprediksi dan konsisten selama transisi aplikasi. ActivityManager menyediakan slot bagi pembuat aplikasi agar aplikasi mereka bereaksi ketika Android OS melakukan tindakan global. Aplikasi dapat mendengarkan kejadian seperti rotasi perangkat, kerusakan aplikasi karena kekurangan memori, aplikasi yang bergeser keluar dari fokus, dan sebagainya.

Beberapa contoh cara aplikasi bereaksi terhadap transisi ini termasuk menjeda aktivitas dalam game, menghentikan pemutaran musik selama panggilan telepon.

2) Manajer Jendela

Android dapat menentukan informasi layar untuk menentukan persyaratan yang dibutuhkan untuk membuat jendela untuk aplikasi. Windows adalah slot tempat kita dapat melihat antarmuka pengguna aplikasi kita. Android menggunakan Window manager untuk memberikan informasi ini ke aplikasi dan sistem saat dijalankan sehingga dapat beradaptasi dengan mode yang dijalankan perangkat.

Window Manager membantu memberikan pengalaman aplikasi yang disesuaikan. Aplikasi dapat memenuhi seluruh layar untuk pengalaman yang imersif atau berbagi layar dengan aplikasi lain. Android memungkinkan ini dengan mengizinkan beberapa jendela untuk setiap aplikasi.

3) Manajer Lokasi

jembatan Android perangkat dilengkapi dengan perangkat GPS yang dapat memperoleh lokasi pengguna menggunakan informasi satelit yang dapat mencapai presisi meter. Pemrogram dapat meminta izin lokasi dari pengguna, menyampaikan lokasi, dan mengetahui pengalaman.

Android juga mampu memanfaatkan teknologi nirkabel untuk lebih memperkaya rincian lokasi dan meningkatkan jangkauan saat perangkat berada di ruang tertutup. Android menyediakan fitur-fitur ini di bawah payung Manajer Lokasi.

4) Manajer Telepon

jembatan Android perangkat memainkan peran utama dalam telepon. Android menggunakan TelephoneManager untuk menggabungkan komponen perangkat keras dan perangkat lunak untuk menghadirkan fitur telepon. Komponen perangkat keras meliputi bagian eksternal seperti kartu sim, dan bagian perangkat seperti mikrofon, kamera, dan speaker. Komponen perangkat lunak mencakup komponen asli seperti dial pad, buku telepon, profil nada dering. Dengan menggunakan TelephoneManager, pengembang dapat memperluas atau menyempurnakan fungsi panggilan default.

5) Manajer Sumber Daya

Android aplikasi biasanya hadir dengan lebih dari sekedar kode. Mereka juga memiliki sumber daya lain seperti ikon, file audio dan video, animasi, file teks, dan sejenisnya. Android membantu memastikan adanya akses yang efisien dan responsif terhadap sumber daya ini. Hal ini juga memastikan bahwa sumber daya yang tepat dikirimkan ke pengguna akhir. Misalnya, file teks bahasa yang tepat digunakan saat mengisi kolom di aplikasi.

6) Lihat Sistem

Android juga menyediakan sarana untuk dengan mudah membuat komponen visual umum yang diperlukan untuk interaksi aplikasi. Komponen tersebut antara lain widget seperti tombol, image holder seperti ImageView, komponen untuk menampilkan daftar item seperti ListView, dan masih banyak lagi. Komponennya sudah dibuat sebelumnya tetapi juga dapat disesuaikan agar sesuai dengan kebutuhan dan branding pengembang aplikasi.

7) Manajer Pemberitahuan

Manajer Pemberitahuan bertanggung jawab untuk memberi informasi Android pengguna acara aplikasi. Hal ini dilakukan dengan memberikan sinyal visual, audio, atau getaran kepada pengguna atau kombinasi keduanya ketika suatu peristiwa terjadi. Peristiwa ini mempunyai pemicu eksternal dan internal. Beberapa contoh pemicu internal adalah peristiwa status baterai lemah yang memicu pemberitahuan untuk menunjukkan baterai lemah. Contoh lainnya adalah peristiwa yang ditentukan pengguna seperti alarm. Beberapa contoh pemicu eksternal mencakup pesan baru atau jaringan wifi baru terdeteksi.

Android menyediakan sarana bagi pemrogram dan pengguna akhir untuk menyempurnakan sistem notifikasi. Hal ini dapat membantu menjamin mereka dapat mengirim dan menerima peristiwa notifikasi dengan cara yang paling sesuai dengan mereka dan lingkungan mereka saat ini.

8) Manajer Paket

Android juga menyediakan akses informasi tentang aplikasi yang diinstal. Android melacak informasi aplikasi seperti peristiwa instalasi dan penghapusan instalasi, izin yang diminta aplikasi, dan pemanfaatan sumber daya seperti konsumsi memori.

Informasi ini dapat memungkinkan pengembang membuat aplikasi mereka mengaktifkan atau menonaktifkan fungsionalitas bergantung pada fitur baru yang disajikan oleh aplikasi pendamping.

9) Penyedia Konten

Android memiliki cara standar untuk berbagi data antar aplikasi di perangkat menggunakan penyedia konten. Pengembang dapat menggunakan penyedia konten untuk mengekspos data ke aplikasi lain. Misalnya, mereka dapat membuat data aplikasi dapat dicari dari aplikasi pencarian eksternal. Android sendiri mengekspos data seperti data kalender, data kontak, dan sejenisnya menggunakan sistem yang sama.

Android Perpustakaan Runtime dan Inti/Asli

Android Perpustakaan Runtime dan Inti/Asli
perpustakaan

1) Android Runtime

Android saat ini digunakan Android Runtime (ART) untuk mengeksekusi kode aplikasi. ART didahului oleh Dalvik Runtime yang mengkompilasi kode pengembang ke file Dalvik Executable (file Dex). Lingkungan eksekusi ini dioptimalkan untuk platform android dengan mempertimbangkan keterbatasan prosesor dan memori pada perangkat seluler.

Runtime menerjemahkan kode yang ditulis oleh programmer menjadi kode mesin yang melakukan perhitungan dan memanfaatkan komponen kerangka kerja android untuk memberikan fungsionalitas. Android menghosting beberapa aplikasi dan komponen sistem yang masing-masing berjalan dalam prosesnya.

Perpustakaan Inti

Pada segmen ini, kita akan membahas beberapa perpustakaan inti yang ada di Android sistem operasi.

2) Kerangka Media

Android juga secara asli mendukung codec media populer, sehingga memudahkan aplikasi yang dibuat di Android platform untuk menggunakan/memutar komponen multimedia secara langsung.

3) SQLite

Android juga memiliki SQLite Database yang memungkinkan aplikasi memiliki fungsionalitas database asli yang sangat cepat tanpa memerlukan perpustakaan pihak ketiga.

4) Tipe bebas

Android hadir dengan mesin font cepat dan fleksibel yang sudah diinstal sebelumnya. Hal ini memungkinkan pengembang aplikasi untuk menata gaya komponen aplikasi mereka dan memberikan pengalaman kaya yang mengomunikasikan maksud pengembang.

5) OpenGL

Android juga dilengkapi dengan sistem grafis OpenGL. Ini adalah perpustakaan C yang membantu Android menggunakan komponen perangkat keras dalam rendering grafis 2D dan 3D secara real-time.

6) SSL

Android juga dilengkapi dengan lapisan keamanan bawaan untuk memungkinkan komunikasi aman antar aplikasi Android dan perangkat lain seperti server, perangkat seluler lainnya, router 6.

7) SGL

Android dilengkapi dengan pustaka grafis yang diimplementasikan dalam kode tingkat rendah yang secara efisien merender grafis untuk platform android. Ia bekerja dengan komponen tingkat tinggi dari Android kerangka Android pipa grafis.

8) libc

Inti dari Android berisi perpustakaan yang ditulis dalam C dan C++, yang merupakan bahasa tingkat rendah yang dimaksudkan untuk penggunaan tertanam yang membantu memaksimalkan kinerja. Libc menyediakan sarana untuk mengekspos fungsionalitas sistem tingkat rendah seperti Thread, Sockets, IO, dan sejenisnya ke perpustakaan ini.

9) Perangkat Web

Ini adalah mesin Browser sumber terbuka yang digunakan sebagai dasar untuk membangun browser. Standarnya Android browser sebelum versi 4.4 KitKat menggunakannya untuk merender halaman web. Ini memungkinkan pengembang aplikasi untuk merender komponen web dalam sistem tampilan dengan menggunakan WebView. Hal ini memungkinkan aplikasi untuk mengintegrasikan komponen web ke dalam fungsinya.

10) Manajer Permukaan

Surface manager bertanggung jawab untuk memastikan kelancaran rendering layar aplikasi. Ia melakukannya dengan menyusun grafik 2D dan 3D untuk rendering. Ia juga memungkinkan hal ini dengan melakukan buffering di luar layar.

Kernel Linux

Komponen akar dari Android Sistem adalah Kernel Linux. Ini adalah bagian dasar yang memungkinkan semua Androidfungsionalitas.

Kernel Linux

Kernel Linux adalah perangkat lunak yang telah teruji pertempurannya dan telah digunakan dalam pengembangan sistem operasi untuk berbagai perangkat, dari superkomputer hingga gadget kecil. Ia memiliki kemampuan pemrosesan yang terbatas seperti gadget jaringan kecil untuk Internet of Things (IoT).

Kernel Linux dapat diubah untuk memenuhi spesifikasi perangkat agar dapat dibuat oleh produsen Android perangkat dengan kemampuan berbeda untuk menyesuaikan pengalaman pengguna.

Sehubungan dengan Android, Kernel bertanggung jawab atas banyak fungsi mendasar termasuk tetapi tidak terbatas pada ini:

  1. Driver perangkat
  2. Manajemen memori
  3. Manajemen proses

Mari kita kembangkan beberapa fungsinya:

Driver Perangkat

Kernel Linux menampung driver yang diperlukan agar sistem operasi dapat bekerja dengan komponen perangkat keras yang berbeda. Driver ini menyediakan antarmuka standar yang dapat digunakan oleh komponen perangkat keras yang bersumber dari produsen berbeda.

Hal ini memungkinkan produsen perangkat untuk mendapatkan komponen yang berbeda, seperti komponen Bluetooth, komponen Wifi, komponen kamera. Selama produsennya cocok dengan Android spesifikasi standar, integrasi mulus.

1) Pengandar USB

Linux juga menyediakan Android dengan sarana untuk berinteraksi dengan perangkat USB. Perangkat modern hadir dengan port USB yang berbeda, termasuk USB 2.0 dan USB versi baru, termasuk USB-C. Driver ini memungkinkan penggunaan port USB untuk mengisi daya, mentransfer data langsung seperti log dari Android perangkat, dan berinteraksi dengan android file system.

2) Pengandar Bluetooth

Kernel Linux menyediakan dukungan untuk berinteraksi dengan komponen perangkat keras Bluetooth. Ini menyediakan cara untuk membaca dan menulis data yang diterima dari frekuensi radio bluetooth yang didukung. Ini juga menyediakan serangkaian fasilitas untuk Android untuk mengkonfigurasi Bluetooth.

3) Pengemudi Wifi

Kernel Linux menyediakan driver untuk mengintegrasikan komponen perangkat keras jaringan WiFi. Komponen WiFi yang tertanam di perangkat seluler diaktifkan Android perangkat untuk terhubung ke jaringan wifi. Pengemudi mengaktifkan komponen wifi untuk menyiarkan jaringan wifi dan membuat hotspot.

4) Pengemudi Tampilan

Android memungkinkan untuk berinteraksi dengan komponen tampilan. Untuk sebagian besar perangkat, komponen antarmuka adalah layar sentuh LCD. Komponen ini memungkinkan dukungan untuk mengonfigurasi dan menggambar piksel.

5) Pengemudi Audio

Android perangkat biasanya dilengkapi dengan komponen perangkat keras untuk input dan output audio. Driver audio di kernel mengaktifkan Android sistem untuk menggunakan audio yang diterima dari komponen ini dan juga menghasilkan output audio.

6) Manajer Daya

jembatan Android perangkat digunakan saat terputus dari stopkontak. Oleh karena itu, mereka bergantung pada baterai untuk memberi daya pada sebagian besar penggunaannya. Kernel Linux hadir dengan sistem manajemen daya yang dapat dikonfigurasi untuk memenuhi kebutuhan perangkat yang menggunakannya.

Android OS menggunakan manajer daya untuk membuat komponen lain di perangkat sadar akan daya. Hal ini dilakukan dengan menyiarkan berbagai negara yang terkait dengan kekuasaan. Status tersebut adalah Siaga, Tidur, dan Baterai Lemah. Pada Android, pengelola daya diubah ke mode tidur default untuk memastikan masa pakai baterai maksimum.

Power Manager memaparkan cara aplikasi bereaksi terhadap mode daya yang berbeda. Aplikasi juga dapat mengubah perilakunya agar sesuai dengan status daya perangkat saat ini.

Aplikasi juga dapat meminta untuk mengubah kebijakan daya default. Aplikasi dapat mencapai fungsionalitas yang diinginkan, seperti menjaga komponen perangkat keras tetap aktif. Contohnya adalah menjaga layar tetap aktif saat membaca buku untuk memastikan pengguna tidak terganggu. Contoh lainnya adalah mengaktifkan komponen audio saat mendengarkan musik di latar belakang.

7) Memori Flash

jembatan Android perangkat menggunakan memori flash sebagai sarana penyimpanan. Memori flash cepat dan memakan lebih sedikit ruang sehingga cocok untuk perangkat kecil. Kernel Linux menyediakan sarana untuk Android perangkat untuk membaca dan menulis ke dalam memori flash. Ini menyediakan sarana untuk mempartisi memori sedemikian rupa sehingga OS dan aplikasi lain dapat dengan mudah dan efisien berbagi sumber daya memori.

8) Pengikat

Android menampung banyak aplikasi dan komponen sistem yang masing-masing berjalan dalam prosesnya. Dalam kebanyakan kasus, proses-proses ini harus diisolasi satu sama lain untuk mencegah interferensi dan kerusakan data. Namun, ada kalanya kita ingin meneruskan data dari satu proses ke proses lainnya.

Kernel Linux memungkinkan fungsionalitas berbagi data dengan menyediakan driver pengikat. Driver pengikat memungkinkan komunikasi antar proses, IPC. Menggunakan proses IPC dapat menemukan proses lain dan berbagi informasi.

Manajemen memori

Tanggung jawab lain dari Kernel Linux adalah manajemen memori. Saat aplikasi berbeda berjalan, Kernel memastikan ruang memori yang digunakan tidak konflik dan saling menimpa.

Hal ini juga membantu memastikan bahwa semua aplikasi yang berjalan mendapatkan memori yang cukup untuk berfungsi, memastikan tidak ada satu aplikasi pun yang memakan terlalu banyak ruang.

Manajemen proses

Setiap aplikasi di Android berjalan dalam suatu proses. Kernel juga bertanggung jawab untuk mengelola proses. Artinya, ia bertanggung jawab untuk membuat, menjeda, menghentikan, mematikan, atau mematikan proses.

Kernel memungkinkan berbagai fungsi seperti menjalankan beberapa proses secara bersamaan, berkomunikasi antar proses, menjalankan proses di latar belakang, dan sebagainya.

Karena setiap proses memerlukan ruang memorinya sendiri agar dapat berfungsi dengan benar, Kernel memastikan bahwa ruang memori yang dialokasikan untuk setiap proses terlindungi dari proses lain. Ini juga memastikan bahwa sumber daya seperti itu RAM dialokasikan untuk proses dibebaskan ketika proses dimatikan.

Kernel Linux juga bertanggung jawab untuk mendistribusikan pekerjaan ke prosesor yang ada di perangkat. Hal ini memungkinkan untuk memaksimalkan kinerja perangkat dengan banyak inti karena aplikasi yang berbeda akan menjalankan proses pada inti yang berbeda.

Kernel Linux melakukan lebih banyak tugas termasuk menegakkan keamanan.

Kesimpulan

  • Android Arsitekturnya disusun berlapis-lapis.
  • Setiap lapisan memecahkan serangkaian masalah yang unik.
  • Pengguna akhir berinteraksi dengan aplikasi di lapisan Aplikasi
  • Pengembang aplikasi mengembangkan aplikasi untuk digunakan pada lapisan Aplikasi. Mereka melakukannya dengan menggunakan alat dan abstraksi yang disediakan oleh Kerangka Aplikasi.
  • Android Lapisan kerangka menyederhanakan akses ke komponen tingkat rendah dengan membuat API melalui perpustakaan asli.
  • Android Runtime dan Core-Libraries menggunakan bahasa tingkat rendah bersama dengan optimasi untuk perangkat seluler. Hal ini memastikan kode yang ditulis oleh pengembang aplikasi berjalan dengan lancar Android kendala perangkat.
  • Pada bagian bawah Android tumpukan perangkat lunak adalah kernel Linux. Ini berinteraksi dengan komponen perangkat keras yang umum di dalamnya Android perangkat.