Android - architektura

System operacyjny Android to zestaw komponentów oprogramowania, który jest z grubsza podzielony na pięć sekcji i cztery główne warstwy, jak pokazano poniżej na diagramie architektury.

Jądro Linuksa

Na dole warstw znajduje się Linux - Linux 3.6 z około 115 poprawkami. Zapewnia to poziom abstrakcji między sprzętem urządzenia i zawiera wszystkie niezbędne sterowniki sprzętowe, takie jak kamera, klawiatura, wyświetlacz itp. Ponadto jądro obsługuje wszystkie rzeczy, w których Linux jest naprawdę dobry, takie jak sieć i szeroki wachlarz sterowników urządzeń , które eliminują ból związany z łączeniem się ze sprzętem peryferyjnym.

Biblioteki

Oprócz jądra Linuksa znajduje się zestaw bibliotek, w tym silnik przeglądarki internetowej typu open source WebKit, dobrze znana biblioteka libc, baza danych SQLite, która jest użytecznym repozytorium do przechowywania i udostępniania danych aplikacji, biblioteki do odtwarzania i nagrywania audio i wideo, SSL biblioteki odpowiedzialne za bezpieczeństwo w Internecie itp.

Biblioteki Androida

Ta kategoria obejmuje biblioteki oparte na języku Java, które są specyficzne dla programowania na Androida. Przykłady bibliotek w tej kategorii obejmują biblioteki szkieletowe aplikacji, oprócz tych, które ułatwiają budowanie interfejsu użytkownika, rysowanie grafiki i dostęp do baz danych. Podsumowanie niektórych kluczowych podstawowych bibliotek Androida dostępnych dla programisty Androida jest następujące:

  • android.app - Zapewnia dostęp do modelu aplikacji i jest podstawą wszystkich aplikacji na Androida.

  • android.content - Ułatwia dostęp do treści, publikowanie i przesyłanie wiadomości między aplikacjami i komponentami aplikacji.

  • android.database - Służy do uzyskiwania dostępu do danych publikowanych przez dostawców treści i obejmuje klasy zarządzania bazami danych SQLite.

  • android.opengl - Interfejs Java do interfejsu API renderowania grafiki 3D OpenGL ES.

  • android.os - Zapewnia aplikacjom dostęp do standardowych usług systemu operacyjnego, w tym komunikatów, usług systemowych i komunikacji między procesami.

  • android.text - Służy do renderowania i manipulowania tekstem na wyświetlaczu urządzenia.

  • android.view - Podstawowe elementy składowe interfejsów użytkownika aplikacji.

  • android.widget - Bogata kolekcja gotowych komponentów interfejsu użytkownika, takich jak przyciski, etykiety, widoki list, menedżery układu, przyciski opcji itp.

  • android.webkit - Zestaw klas, które mają umożliwić wbudowanie w aplikacje funkcji przeglądania sieci.

Po omówieniu podstawowych bibliotek opartych na Javie w środowisku wykonawczym Androida, nadszedł czas, aby zwrócić naszą uwagę na biblioteki oparte na C / C ++ zawarte w tej warstwie stosu oprogramowania Android.

Środowisko wykonawcze Androida

To trzecia część architektury, dostępna na drugiej warstwie od dołu. Ta sekcja zawiera kluczowy składnik o nazwieDalvik Virtual Machine który jest rodzajem wirtualnej maszyny Java specjalnie zaprojektowanej i zoptymalizowanej dla systemu Android.

Maszyna wirtualna Dalvik wykorzystuje podstawowe funkcje Linuksa, takie jak zarządzanie pamięcią i wielowątkowość, które są nieodłączne w języku Java. Maszyna wirtualna Dalvik umożliwia każdej aplikacji na Androida działanie we własnym procesie z własną instancją maszyny wirtualnej Dalvik.

Środowisko wykonawcze systemu Android udostępnia również zestaw podstawowych bibliotek, które umożliwiają deweloperom aplikacji na Androida pisanie aplikacji na Androida przy użyciu standardowego języka programowania Java.

Struktura aplikacji

Warstwa Application Framework zapewnia aplikacjom wiele usług wyższego poziomu w postaci klas Java. Twórcy aplikacji mogą korzystać z tych usług w swoich aplikacjach.

Struktura systemu Android obejmuje następujące kluczowe usługi -

  • Activity Manager - Kontroluje wszystkie aspekty cyklu życia aplikacji i stos działań.

  • Content Providers - Zezwala aplikacjom na publikowanie i udostępnianie danych innym aplikacjom.

  • Resource Manager - Zapewnia dostęp do zasobów osadzonych poza kodem, takich jak ciągi znaków, ustawienia kolorów i układy interfejsu użytkownika.

  • Notifications Manager - Zezwala aplikacjom na wyświetlanie alertów i powiadomień dla użytkownika.

  • View System - Rozszerzalny zestaw widoków używany do tworzenia interfejsów użytkownika aplikacji.

Aplikacje

Znajdziesz całą aplikację na Androida w górnej warstwie. Napiszesz aplikację do zainstalowania tylko na tej warstwie. Przykładami takich aplikacji są książki kontaktów, przeglądarka, gry itp.