Android Architecture: Application Layers, Framework, Component

Android Prvnรญ vydรกnรญ operaฤnรญho systรฉmu bylo v roce 2008. Jiลพ na zaฤรกtku ho tรฝm stojรญcรญ za operaฤnรญm systรฉmem postavil na ramena gigantลฏ. Kromฤ› uลพivatelskรฉho rozhranรญ, kterรฉ Android OS se vyskytuje na รบrovni povrchu, sklรกdรก se z vรญce vrstev. Tyto vrstvy zahrnujรญ vlastnรญ kรณd a open-source technologie, kterรฉ jsou nepล™etrลพitฤ› vyvรญjeny po celรก desetiletรญ.

Android byl vyvinut dรญky masivnรญ spoluprรกci a investicรญm mnoha spoleฤnostรญ. Hlavnรญ spoleฤnostรญ za vรฝvojem Androidu je Google. Mezi dalลกรญ spoleฤnosti patล™รญ vรฝrobci zaล™รญzenรญ jako Samsung, LG; vรฝrobci procesorลฏ, jako jsou Intel a ARM, ale abychom jmenovali alespoลˆ nฤ›kterรฉ.

Kdyลพ o tom mluvรญme Android architektura, myslรญme tรญm, jak Android systรฉm byl navrลพen, rozdฤ›len do vrstev a sestaven tak, aby fungoval jako systรฉm. Vybudovรกnรญ tak sloลพitรฉho systรฉmu vyลพaduje peฤlivรฉ strukturovรกnรญ, aby bylo zajiลกtฤ›no, ลพe vลกechny komponenty budou spolupracovat soudrลพnฤ›. Jeho architektura zajiลกลฅuje, ลพe mnoho komponent funguje jako celek bez selhรกnรญ.

Vrstvy

Nรกsledujรญ vrstvy, kterรฉ tvoล™รญ Android architektura podle schรฉmatu:

  1. editaci videa
  2. Aplikaฤnรญ rรกmec
  3. Android Runtime a zรกkladnรญ knihovny
  4. Linux Kernel

Developing Operaฤnรญ systรฉm pro mobilnรญ zaล™รญzenรญ s sebou nese ล™adu vรฝzev. Pouลพitรญ tรฉto vrstvenรฉ architektury zajiลกลฅuje, ลพe rลฏznรฉ problรฉmy jsou rozdฤ›leny a ล™eลกeny na rลฏznรฝch รบrovnรญch.

Vrstvenรก architektura pomรกhรก oddฤ›lit obavy a zajistit, aby vรฝvojรกล™i softwaru pro Android nemuseli na kaลพdรฉm kroku ล™eลกit problรฉmy nรญzkรฉ รบrovnฤ›. Mรญsto toho se mohou zamฤ›ล™it na poskytovรกnรญ obchodnรญ hodnoty tรฝkajรญcรญ se vrstvy, na kterรฉ pracujรญ.

Vรฝvojรกล™i pracujรญ na tom, aby se aplikace nemusely starat o implementaci aplikaฤnรญho rรกmce. Tato prรกce je ponechรกna na systรฉmovรฝch vรฝvojรกล™รญch pracujรญcรญch na aplikaฤnรญm rรกmci.

Vรฝvojรกล™i Application Framework pracujรญ na zkuลกenostech vรฝvojรกล™e a nemusรญ se starat o ovladaฤe nรญzkรฉ รบrovnฤ›. Nรญzkoรบrovลˆovรญ systรฉmovรญ inลพenรฝล™i se mohou zcela soustล™edit na nรญzkoรบrovลˆovรฉ komponenty, jako jsou Bluetooth nebo Audio ovladaฤe a podobnฤ›.

AndroidVrstvenรก struktura umoลพลˆuje aplikovat aktualizace s opravami chyb nebo vylepลกenรญmi na kaลพdou vrstvu samostatnฤ›. Tรญm je zajiลกtฤ›no, ลพe se zmฤ›ny napล™รญฤ vrstvami vzรกjemnฤ› neovlivลˆujรญ. To umoลพลˆuje lidem pracujรญcรญm na jinรฉ รบrovni operaฤnรญho systรฉmu pracovat s tรญm, ลพe si navzรกjem pล™ekรกลพรญ, kdyลพ jsou provรกdฤ›ny novรฉ aktualizace a vydรกnรญ.

Android editaci videa

Android editaci videa
Android editaci videa

Toto je vrstva, se kterou komunikujรญ koncovรญ uลพivatelรฉ. Prรกvฤ› na tรฉto vrstvฤ› vรฝvojรกล™i aplikacรญ publikujรญ svรฉ aplikace ke spuลกtฤ›nรญ.

Android, ve vรฝchozรญm nastavenรญ pล™ichรกzรญ se sadou aplikacรญ, dรญky nimลพ jsou zaล™รญzenรญ Android pouลพitelnรก od zaฤรกtku.

  1. Home: Domovskรก strรกnka zapnuta Android sestรกvรก ze spouลกtฤ›cรญch ikon pro bฤ›ลพnฤ› pouลพรญvanรฉ aplikace, ke kterรฝm mลฏลพe koncovรฝ uลพivatel chtรญt rychlรฝ pล™รญstup. Aplikace mลฏลพete spustit kliknutรญm na spouลกtฤ›ฤe tฤ›chto aplikacรญ. รšplnฤ› nahoล™e na obrazovce mรกte widgety, kterรฉ ukazujรญ sรญลฅ, รบroveลˆ baterie, datum a ฤas.
  2. Kontakty: Android, ve vรฝchozรญm nastavenรญ poskytuje prostล™edky pro uklรกdรกnรญ a naฤรญtรกnรญ kontaktลฏ. Kontaktnรญ informace jsou sdรญleny mezi ostatnรญmi aplikacemi za รบฤelem vylepลกenรญ funkฤnosti.
  3. Zprรกvy: Android poskytuje moลพnost odesรญlat a pล™ijรญmat SMS zprรกvy.
  4. Koordinรกtorka: Ivana Durgarian email: Android pล™ichรกzรญ s nativnรญ podporou e-mailovรฝch sluลพeb. Nastavenรญ Android zaล™รญzenรญ vyลพaduje Gmail Nastavenรญ รบฤtu. Gmail aktivuje dalลกรญ komponenty zรกvislรฉ na e-mailu Android zaล™รญzenรญ. Nฤ›kterรฉ funkce zรกvislรฉ na e-mailu zahrnujรญ mechanismy zabezpeฤenรญ a obnovenรญ. Dalลกรญ funkcรญ zรกvislou na e-mailu je pล™รญstup do Obchodu Play, trลพiลกtฤ› Android aplikace.
  5. Prohlรญลพeฤ: Android je dodรกvรกn s vรฝchozรญm prohlรญลพeฤem.
  6. Zรกsuvka oznรกmenรญ: ลกvรฝcarskรฝping Dole na obrazovce se zobrazรญ panel oznรกmenรญ. Zobrazuje udรกlosti aplikacรญ, o kterรฝch by si mฤ›l uลพivatel bรฝt vฤ›dom. Nad oznรกmenรญm se nachรกzรญ sada zkratek k nฤ›kterรฝm bฤ›ลพnฤ› pouลพรญvanรฝm nastavenรญm zaล™รญzenรญ, kterรก mohou uลพivatelรฉ pล™epรญnat. Tato nastavenรญ zahrnujรญ pล™epรญnaฤe pro zapnutรญ a vypnutรญ rลฏznรฝch hardwarovรฝch komponent, jako je Bluetooth a Wi-Fi. Dlouhรฝm stisknutรญm tฤ›chto udรกlostรญ se dostanete na strรกnku s jejich konfiguracรญ.

Tato vrstva je takรฉ oznaฤovรกna jako uลพivatelskรก รบroveลˆ na rozdรญl od vrstev nรญลพe, kterรฉ jsou vฤ›tลกinou vyladฤ›ny pro vรฝvoj aplikacรญ. Vรฝvojรกล™i aplikacรญ vytvรกล™ejรญ a pล™izpลฏsobujรญ prostล™edรญ pro svรฉ aplikace v tรฉto vrstvฤ›. Vrstvy pod aplikaฤnรญ vrstvou nejsou pล™izpลฏsobeny vรฝvojรกล™i aplikacรญ. Jsou povaลพovรกny za souฤรกst systรฉmovรฉ vrstvy. Tyto vrstvy jsou pล™izpลฏsobeny vรฝrobci zaล™รญzenรญ, tรฝmy Google Android nebo tล™etรญmi stranami, kterรฉ chtฤ›jรญ pouลพรญvat Android zdrojovรฝ kรณd jejich produktu nebo vรฝzkumu.

Aplikaฤnรญ rรกmec

Jedno Android OS odhaluje zรกkladnรญ knihovny a funkce Android zaล™รญzenรญ, kterรก pouลพรญvajรญ a Java API. To je to, co je znรกmรฉ jako Android rรกmec. Rรกmec odhaluje bezpeฤnรฉ a jednotnรฉ prostล™edky k pouลพitรญ Android prostล™edky zaล™รญzenรญ.

Aplikaฤnรญ rรกmec
Aplikaฤnรญ rรกmec

1) Manaลพer ฤinnosti

Aplikace vyuลพรญvajรญ Android komponenta aktivity pro prezentaci vstupnรญho bodu do aplikace. Android Aktivity jsou komponenty, kterรฉ obsahujรญ uลพivatelskรฉ rozhranรญ, se kterรฝm uลพivatelรฉ aplikace interagujรญ. Pล™i interakci koncovรฝch uลพivatelลฏ s Android zaล™รญzenรญ, spouลกtฤ›jรญ, zastavujรญ se a pล™eskakujรญ tam a zpฤ›t v mnoha aplikacรญch. Kaลพdรก navigaฤnรญ udรกlost spouลกtรญ aktivaci a deaktivaci mnoha aktivit v pล™รญsluลกnรฝch aplikacรญch.

Jedno Android ActivityManager je zodpovฤ›dnรฝ za pล™edvรญdatelnรฉ a konzistentnรญ chovรกnรญ bฤ›hem pล™echodลฏ aplikacรญ. ActivityManager poskytuje tvลฏrcลฏm aplikacรญ slot pro to, aby jejich aplikace reagovaly, kdyลพ Android OS provรกdรญ globรกlnรญ akce. Aplikace mohou poslouchat udรกlosti, jako je rotace zaล™รญzenรญ, zniฤenรญ aplikace kvลฏli nedostatku pamฤ›ti, posunutรญ aplikace mimo zรกbฤ›r a tak dรกle.

Mezi pล™รญklady toho, jak mohou aplikace reagovat na tyto pล™echody, patล™รญ pozastavenรญ aktivity ve hล™e, zastavenรญping hudba hrajรญcรญ bฤ›hem telefonnรญho hovoru.

2) Sprรกvce oken

Android dokรกลพe urฤit informace o obrazovce a urฤit poลพadavky potล™ebnรฉ k vytvoล™enรญ oken pro aplikace. Windows jsou sloty, kde mลฏลพeme zobrazit uลพivatelskรฉ rozhranรญ naลกรญ aplikace. Android pouลพรญvรก sprรกvce oken k poskytovรกnรญ tฤ›chto informacรญ aplikacรญm a systรฉmu bฤ›hem jejich bฤ›hu, aby se mohly pล™izpลฏsobit reลพimu, ve kterรฉm zaล™รญzenรญ bฤ›ลพรญ.

Sprรกvce oken pomรกhรก pล™i poskytovรกnรญ pล™izpลฏsobenรฉ aplikace. Aplikace mohou zaplnit celou obrazovku pro pohlcujรญcรญ zรกลพitek nebo sdรญlet obrazovku s jinรฝmi aplikacemi. Android umoลพลˆuje to povolenรญm vรญce oken pro kaลพdou aplikaci.

3) Sprรกvce polohy

Vฤ›tลกina Android zaล™รญzenรญ jsou vybavena zaล™รญzenรญmi GPS, kterรก dokรกลพou zรญskat polohu uลพivatele pomocรญ satelitnรญch informacรญ, kterรฉ mohou dosahovat aลพ s pล™esnostรญ na metry. Programรกtoล™i mohou vyลพadovat od uลพivatelลฏ povolenรญ k umรญstฤ›nรญ, poskytovat umรญstฤ›nรญ a vฤ›domรฉ zรกลพitky.

Android je takรฉ schopen vyuลพรญt bezdrรกtovรฉ technologie k dalลกรญmu obohacenรญ podrobnostรญ o poloze a zvรฝลกenรญ pokrytรญ, kdyลพ jsou zaล™รญzenรญ uzavล™ena. Android poskytuje tyto funkce pod zรกลกtitou Location-Manager.

4) Sprรกvce telefonie

Vฤ›tลกina Android zaล™รญzenรญ hrajรญ primรกrnรญ roli v telefonovรกnรญ. Android pouลพรญvรก TelephoneManager ke kombinaci hardwarovรฝch a softwarovรฝch komponent pro poskytovรกnรญ telefonnรญch funkcรญ. Hardwarovรฉ souฤรกsti zahrnujรญ externรญ ฤรกsti, jako je sim karta, a ฤรกsti zaล™รญzenรญ, jako je mikrofon, kamera a reproduktory. Softwarovรฉ komponenty zahrnujรญ nativnรญ komponenty, jako je ฤรญselnรญk, telefonnรญ seznam, vyzvรกnฤ›cรญ profily. Pomocรญ TelephoneManager mลฏลพe vรฝvojรกล™ rozลกรญล™it nebo doladit vรฝchozรญ funkci volรกnรญ.

5) Sprรกvce zdrojลฏ

Android aplikace obvykle obsahuje vรญce neลพ jen kรณd. Majรญ takรฉ dalลกรญ zdroje, jako jsou ikony, audio a video soubory, animace, textovรฉ soubory a podobnฤ›. Android pomรกhรก zajistit efektivnรญ a citlivรฝ pล™รญstup k tฤ›mto zdrojลฏm. Zajiลกลฅuje takรฉ, ลพe koncovรฝm uลพivatelลฏm jsou dodรกvรกny sprรกvnรฉ zdroje. Napล™รญklad pล™i vyplลˆovรกnรญ polรญ v aplikacรญch se pouลพรญvajรญ textovรฉ soubory ve sprรกvnรฉm jazyce.

6) Zobrazit systรฉm

Android takรฉ poskytuje prostล™edky pro snadnรฉ vytvรกล™enรญ spoleฤnรฝch vizuรกlnรญch komponent potล™ebnรฝch pro interakci s aplikacemi. Tyto komponenty zahrnujรญ widgety, jako jsou tlaฤรญtka, drลพรกky obrรกzkลฏ, jako je ImageView, komponenty pro zobrazenรญ seznamu poloลพek, jako je ListView, a mnoho dalลกรญch. Komponenty jsou pล™edem vyrobenรฉ, ale lze je takรฉ pล™izpลฏsobit potล™ebรกm vรฝvojรกล™ลฏ aplikacรญ a znaฤce.

7) Sprรกvce oznรกmenรญ

Za informovรกnรญ zodpovรญdรก Sprรกvce oznรกmenรญ Android uลพivatelรฉ udรกlostรญ aplikace. Dฤ›lรก to tak, ลพe kdyลพ dojde k udรกlosti, dรกvรก uลพivatelลฏm vizuรกlnรญ, zvukovรฉ nebo vibraฤnรญ signรกly nebo jejich kombinaci. Tyto udรกlosti majรญ vnฤ›jลกรญ a vnitล™nรญ spouลกtฤ›ฤe. Nฤ›kterรฉ pล™รญklady internรญch spouลกtฤ›ฤลฏ jsou udรกlosti stavu vybitรญ baterie, kterรฉ spouลกtฤ›jรญ oznรกmenรญ o vybitรญ baterie. Dalลกรญm pล™รญkladem jsou uลพivatelem specifikovanรฉ udรกlosti, jako je alarm. Nฤ›kterรฉ pล™รญklady externรญch spouลกtฤ›ฤลฏ zahrnujรญ novรฉ zprรกvy nebo detekovanรฉ novรฉ sรญtฤ› Wi-Fi.

Android poskytuje programรกtorลฏm a koncovรฝm uลพivatelลฏm prostล™edek k doladฤ›nรญ systรฉmu oznรกmenรญ. To mลฏลพe pomoci zaruฤit, ลพe mohou odesรญlat a pล™ijรญmat udรกlosti oznรกmenรญ zpลฏsobem, kterรฝ nejlรฉpe vyhovuje jim a jejich aktuรกlnรญmu prostล™edรญ.

8) Sprรกvce balรญฤkลฏ

Android takรฉ poskytuje pล™รญstup k informacรญm o nainstalovanรฝch aplikacรญch. Android udrลพuje track informacรญ o aplikaci, jako jsou udรกlosti instalace a odinstalace, oprรกvnฤ›nรญ, kterรก aplikace poลพaduje, a vyuลพitรญ zdrojลฏ, napล™รญklad spotล™eba pamฤ›ti.

Tyto informace mohou vรฝvojรกล™ลฏm umoลพnit, aby jejich aplikace aktivovaly nebo deaktivovaly funkce v zรกvislosti na novรฝch funkcรญch nabรญzenรฝch doprovodnรฝmi aplikacemi.

9) Poskytovatel obsahu

Android mรก standardizovanรฝ zpลฏsob sdรญlenรญ dat mezi aplikacemi v zaล™รญzenรญ pomocรญ poskytovatele obsahu. Vรฝvojรกล™i mohou vyuลพรญt poskytovatele obsahu k vystavenรญ dat jinรฝm aplikacรญm. Mohou napล™รญklad umoลพnit vyhledรกvรกnรญ dat aplikace z externรญch vyhledรกvacรญch aplikacรญ. Android sรกm zpล™รญstupลˆuje data, jako jsou kalendรกล™nรญ data, kontaktnรญ data a podobnฤ›, pomocรญ stejnรฉho systรฉmu.

Android Runtime a zรกkladnรญ/nativnรญ knihovny

Android Runtime a zรกkladnรญ/nativnรญ knihovny
knihovny

1) Android Runtime

Android aktuรกlnฤ› pouลพรญvรก Android Runtime (ART) pro spuลกtฤ›nรญ kรณdu aplikace. ART pล™edchรกzรญ Dalvik Runtime, kterรฝ kompiloval vรฝvojรกล™skรฝ kรณd do Dalvik Executable souborลฏ (Dex souborลฏ). Tato spouลกtฤ›cรญ prostล™edรญ jsou optimalizovรกna pro platformu Android s ohledem na omezenรญ procesoru a pamฤ›ti na mobilnรญch zaล™รญzenรญch.

Runtime pล™eklรกdรก kรณd napsanรฝ programรกtory do strojovรฉho kรณdu, kterรฝ provรกdรญ vรฝpoฤty a vyuลพรญvรก komponenty frameworku Android k poskytovรกnรญ funkcรญ. Android hostuje vรญce aplikacรญ a systรฉmovรฝch komponent, z nichลพ kaลพdรก bฤ›ลพรญ ve svรฝch procesech.

Zรกkladnรญ knihovny

V tomto segmentu budeme diskutovat o nฤ›kterรฝch zรกkladnรญch knihovnรกch, kterรฉ jsou pล™รญtomny v Android operaฤnรญ systรฉm.

2) MediaFramework

Android takรฉ nativnฤ› podporuje oblรญbenรฉ mediรกlnรญ kodeky, coลพ usnadลˆuje aplikace vytvoล™enรฉ na Android platforma pro pouลพitรญ/pล™ehrรกvรกnรญ multimediรกlnรญch komponent ihned po vybalenรญ.

3) SQLite

Android takรฉ mรก SQLite databรกze to umoลพลˆuje aplikacรญm mรญt velmi rychlou nativnรญ databรกzovou funkฤnost bez potล™eby knihoven tล™etรญch stran.

4) Volnรฝ typ

Android pล™ichรกzรญ s pล™edinstalovanรฝm rychlรฝm a flexibilnรญm fontem. To umoลพลˆuje vรฝvojรกล™ลฏm aplikacรญ stylizovat komponenty jejich aplikace a poskytovat bohatรฉ zkuลกenosti, kterรฉ komunikujรญ zรกmฤ›r vรฝvojรกล™e.

5) OpenGL

Android pล™ichรกzรญ takรฉ s grafickรฝm systรฉmem OpenGL. Je to knihovna C, kterรก pomรกhรก Android pouลพรญvat hardwarovรฉ komponenty pล™i vykreslovรกnรญ 2D a 3D grafiky v reรกlnรฉm ฤase.

6) SSL

Android takรฉ pล™ichรกzรญ s vestavฤ›nou bezpeฤnostnรญ vrstvou, kterรก umoลพลˆuje bezpeฤnou komunikaci mezi aplikacemi Android a dalลกรญ zaล™รญzenรญ, jako jsou servery, dalลกรญ mobilnรญ zaล™รญzenรญ, smฤ›rovaฤe 6.

7) SGL

Android pล™ichรกzรญ s grafickou knihovnou implementovanou v nรญzkoรบrovลˆovรฉm kรณdu, kterรก efektivnฤ› vykresluje grafiku pro platformu Android. Pracuje s komponentami vyลกลกรญ รบrovnฤ› Android rรกmec Android grafickรฉ potrubรญ.

8) Libc

Jรกdro Android obsahuje knihovny napsanรฉ v C a C++, coลพ jsou jazyky nรญzkรฉ รบrovnฤ› urฤenรฉ pro vestavฤ›nรฉ pouลพitรญ, kterรฉ pomรกhajรญ maximalizovat vรฝkon. Libc poskytuje prostล™edky k vystavenรญ nรญzkoรบrovลˆovรฝch systรฉmovรฝch funkcรญ, jako jsou vlรกkna, zรกsuvky, IO a podobnฤ›, tฤ›mto knihovnรกm.

9) Webkit

Jednรก se o open-source prohlรญลพeฤovรฝ engine pouลพรญvanรฝ jako zรกklad pro vytvรกล™enรญ prohlรญลพeฤลฏ. Vรฝchozรญ Android prohlรญลพeฤ pล™ed verzรญ 4.4 KitKat jej pouลพรญvรก pro vykreslovรกnรญ webovรฝch strรกnek. Umoลพลˆuje vรฝvojรกล™ลฏm aplikacรญ vykreslovat webovรฉ komponenty v systรฉmu zobrazenรญ pomocรญ WebView. To umoลพลˆuje aplikacรญm integrovat webovรฉ komponenty do jejich funkcรญ.

10) Sprรกvce povrchu

Sprรกvce povrchu je zodpovฤ›dnรฝ za zajiลกtฤ›nรญ hladkรฉho vykreslovรกnรญ obrazovek aplikace. Dฤ›lรก to tak, ลพe sklรกdรก 2D a 3D grafiku pro renderovรกnรญ. Dรกle to umoลพลˆuje uklรกdรกnรญm do vyrovnรกvacรญ pamฤ›ti mimo obrazovku.

Linux Kernel

Koล™enovรก sloลพka Android Systรฉm je linuxovรฉ jรกdro. Je to zรกkladnรญ kus, kterรฝ umoลพลˆuje vลกe Androidfunkฤnost.

Linux Kernel

Linuxovรฉ jรกdro je osvฤ›dฤenรฝ software, kterรฝ byl pouลพit ve vรฝvojiping operaฤnรญ systรฉmy pro zaล™รญzenรญ ลกirokรฉ ลกkรกly, od superpoฤรญtaฤลฏ po malรฉ gadgety. Mรก omezenรฉ schopnosti zpracovรกnรญ, jako jsou malรฉ sรญลฅovรฉ gadgety pro internet vฤ›cรญ (IoT).

Linuxovรฉ jรกdro lze vyladit tak, aby splลˆovalo specifikace zaล™รญzenรญ, aby to vรฝrobci mohli vyrรกbฤ›t Android zaล™รญzenรญ s rลฏznรฝmi schopnostmi, aby odpovรญdaly uลพivatelskรฉ zkuลกenosti.

S ohledem na Android, jรกdro je zodpovฤ›dnรฉ za mnoho zรกkladnรญch funkcรญ, vฤetnฤ›, ale bez omezenรญ na tyto:

  1. Ovladaฤe zaล™รญzenรญ
  2. Sprรกva pamฤ›ti
  3. ล˜รญzenรญ procesu

Pojฤme si nฤ›kterรฉ funkce rozลกรญล™it:

Ovladaฤe zaล™รญzenรญ

Linuxovรฉ jรกdro obsahuje ovladaฤe potล™ebnรฉ k tomu, aby operaฤnรญ systรฉm mohl pracovat s rลฏznรฝmi hardwarovรฝmi komponentami. Tyto ovladaฤe poskytujรญ standardnรญ rozhranรญ, se kterรฝm mohou pracovat hardwarovรฉ komponenty pochรกzejรญcรญ od rลฏznรฝch vรฝrobcลฏ.

To umoลพลˆuje vรฝrobcลฏm zaล™รญzenรญ zรญskรกvat rลฏznรฉ komponenty, jako jsou komponenty Bluetooth, komponenty Wifi, komponenty fotoaparรกtu. Dokud vรฝrobci odpovรญdajรญ Android standardnรญ specifikace, integrace je bezproblรฉmovรก.

1) Ovladaฤ USB

Linux takรฉ poskytuje Android s prostล™edky pro propojenรญ se zaล™รญzenรญmi USB. Modernรญ zaล™รญzenรญ jsou dodรกvรกna s rลฏznรฝmi porty USB, vฤetnฤ› USB 2.0 a novรฝmi verzemi USB, vฤetnฤ› USB-C. Tyto ovladaฤe umoลพลˆujรญ pouลพรญvat port USB k nabรญjenรญ, pล™enรกลกenรญ ลพivรฝch dat, jako jsou protokoly z poฤรญtaฤe Android zaล™รญzenรญ a komunikovat se systรฉmem Android souborovรฝ systรฉm.

2) Ovladaฤ Bluetooth

Linux Kernel poskytuje podporu pro propojenรญ s hardwarovรฝmi komponenty Bluetooth. Poskytuje zpลฏsob, jak ฤรญst a zapisovat data pล™ijatรก z podporovanรฝch rรกdiovรฝch frekvencรญ bluetooth. Poskytuje takรฉ sadu zaล™รญzenรญ pro Android pro konfiguraci Bluetooth.

3) Wifi ovladaฤ

Linuxovรฉ jรกdro poskytuje ovladaฤe pro integraci hardwarovรฝch komponent WiFi sรญtฤ›. WiFi komponenty zabudovanรฉ v mobilnรญch zaล™รญzenรญch umoลพลˆujรญ Android zaล™รญzenรญ pro pล™ipojenรญ k sรญtรญm wifi. Ovladaฤ umoลพลˆuje komponentรกm wifi vysรญlat sรญtฤ› wifi a vytvรกล™et hotspoty.

4) Ovladaฤ zobrazenรญ

Android umoลพลˆuje propojenรญ s komponentami displeje. U vฤ›tลกiny zaล™รญzenรญ je souฤรกstรญ rozhranรญ dotykovรก obrazovka LCD. Umoลพลˆuje podporu pro konfiguraci a kreslenรญ pixelลฏ.

5) Ovladaฤ zvuku

Android zaล™รญzenรญ bฤ›ลพnฤ› pล™ichรกzejรญ s hardwarovรฝmi souฤรกstmi pro audio vstup a vรฝstup. Zvukovรฉ ovladaฤe v jรกdล™e umoลพลˆujรญ Android systรฉm pouลพรญvat zvuk pล™ijรญmanรฝ z tฤ›chto komponent a takรฉ produkovat zvukovรฝ vรฝstup.

6) Sprรกvce napรกjenรญ

Vฤ›tลกina Android zaล™รญzenรญ se pouลพรญvajรญ, kdyลพ jsou odpojena od elektrickรฝch zรกsuvek. Jsou tak zรกvislรฉ na bateriรญch, kterรฉ je pohรกnฤ›jรญ po velkou ฤรกst jejich pouลพitรญ. Linuxovรฉ jรกdro pล™ichรกzรญ se systรฉmem sprรกvy napรกjenรญ, kterรฝ lze konfigurovat tak, aby vyhovoval potล™ebรกm zaล™รญzenรญ, kterรก jej pouลพรญvajรญ.

Android Operaฤnรญ systรฉm pouลพรญvรก sprรกvce napรกjenรญ k tomu, aby ostatnรญ souฤรกsti v zaล™รญzenรญ uvฤ›domovaly o napรกjenรญ. Dฤ›lรก to vysรญlรกnรญm rลฏznรฝch stavลฏ souvisejรญcรญch s mocรญ. Tyto stavy jsou Standby, Sleep a Low-Battery. Na Android, je sprรกvce napรกjenรญ nastaven do vรฝchozรญho reลพimu spรกnku, aby byla zajiลกtฤ›na maximรกlnรญ vรฝdrลพ baterie.

Power Manager odhaluje prostล™edky, kterรฝmi mohou aplikace reagovat na rลฏznรฉ reลพimy napรกjenรญ. Aplikace mohou takรฉ zmฤ›nit svรฉ chovรกnรญ tak, aby odpovรญdalo aktuรกlnรญmu stavu napรกjenรญ zaล™รญzenรญ.

Aplikace mลฏลพe takรฉ poลพรกdat o zmฤ›nu vรฝchozรญch zรกsad napรกjenรญ. Aplikace mohou dosรกhnout poลพadovanรฝch funkcรญ, jako je napล™รญklad uchovรกnรญping aktivnรญ hardwarovรฉ komponenty. Pล™รญkladem je keeping obrazovka aktivnรญ pล™i ฤtenรญ knihy, aby se zajistilo, ลพe uลพivatel nebude vyruลกovรกn. Dalลกรญm pล™รญkladem je keeping zvukovรฉ komponenty se zapnuly โ€‹โ€‹pล™i poslechu hudby na pozadรญ.

7) Flash pamฤ›ลฅ

Vฤ›tลกina Android zaล™รญzenรญ pouลพรญvajรญ flash pamฤ›ลฅ jako prostล™edek รบloลพiลกtฤ›. Flash pamฤ›ลฅ je rychlรก a zabรญrรก mรฉnฤ› mรญsta, takลพe je ideรกlnรญ pro malรก zaล™รญzenรญ. Linuxovรฉ jรกdro poskytuje prostล™edky pro Android zaล™รญzenรญ pro ฤtenรญ a zรกpis do pamฤ›ti flash. Poskytuje prostล™edky k rozdฤ›lenรญ pamฤ›ti takovรฝm zpลฏsobem, aby operaฤnรญ systรฉm a dalลกรญ aplikace mohly snadno a efektivnฤ› sdรญlet pamฤ›ลฅovรฝ zdroj.

8) Pojivo

Android hostuje mnoho aplikacรญ a systรฉmovรฝch komponent, z nichลพ kaลพdรก bฤ›ลพรญ ve svรฝch procesech. Ve vฤ›tลกinฤ› pล™รญpadลฏ by tyto procesy mฤ›ly bรฝt od sebe izolovรกny, aby se zabrรกnilo ruลกenรญ a poลกkozenรญ dat. Pล™esto existujรญ pล™รญpady, kdy chceme pล™edรกvat data z jednoho procesu do druhรฉho.

Linuxovรฉ jรกdro umoลพลˆuje funkci sdรญlenรญ dat tรญm, ลพe poskytuje ovladaฤe pojiva. Ovladaฤe Binder umoลพลˆujรญ meziprocesovou komunikaci, IPC. Pomocรญ procesลฏ IPC lze objevovat dalลกรญ procesy a sdรญlet informace.

Sprรกva pamฤ›ti

Dalลกรญ odpovฤ›dnostรญ linuxovรฉho jรกdra je sprรกva pamฤ›ti. Jak bฤ›ลพรญ rลฏznรฉ aplikace, jรกdro zajiลกลฅuje, ลพe pamฤ›ลฅovรฝ prostor, kterรฝ pouลพรญvajรญ, nenรญ v konfliktu a vzรกjemnฤ› se nepล™episujรญ.

Pomรกhรก takรฉ zajistit, aby vลกechny spuลกtฤ›nรฉ aplikace mฤ›ly dostatek pamฤ›ti, aby fungovaly, takลพe ลพรกdnรก aplikace nezabรญrรก pล™รญliลก mnoho mรญsta.

ล˜รญzenรญ procesu

Kaลพdรก aplikace v Android bฤ›ลพรญ v procesu. Jรกdro je takรฉ zodpovฤ›dnรฉ za sprรกvu procesลฏ. To znamenรก, ลพe je zodpovฤ›dnรฉ za vytvรกล™enรญ, pozastavenรญ, zastavenรญping, vypรญnรกnรญ nebo ukonฤovรกnรญ procesลฏ.

Kernel umoลพลˆuje rลฏznรฉ funkcionality, jako je spouลกtฤ›nรญ vรญce procesลฏ souฤasnฤ›, komunikace mezi procesy, spouลกtฤ›nรญ procesลฏ na pozadรญ a tak dรกle.

Protoลพe kaลพdรฝ proces vyลพaduje svลฏj vlastnรญ pamฤ›ลฅovรฝ prostor, aby sprรกvnฤ› fungoval, jรกdro zajiลกลฅuje, ลพe pamฤ›ลฅovรฉ prostory pล™idฤ›lenรฉ pro kaลพdรฝ proces jsou chrรกnฤ›ny pล™ed ostatnรญmi procesy. Zajiลกลฅuje takรฉ, ลพe zdroje jako RAM pล™idฤ›lenรฉ procesลฏm se uvolnรญ, kdyลพ jsou procesy vypnuty.

Linuxovรฉ jรกdro je takรฉ zodpovฤ›dnรฉ za distribuci prรกce procesorลฏm pล™รญtomnรฝm v zaล™รญzenรญ. To umoลพลˆuje maximalizovat vรฝkon zaล™รญzenรญ s vรญce jรกdry, protoลพe rลฏznรฉ aplikace budou mรญt procesy spuลกtฤ›nรฉ na jinรฉm jรกdru.

Linuxovรฉ jรกdro dฤ›lรก pod kapotou vรญce รบkolลฏ, vฤetnฤ› vynucovรกnรญ bezpeฤnosti.

Shrnutรญ

  • Android architektura je organizovรกna ve vrstvรกch.
  • Kaลพdรก vrstva ล™eลกรญ jedineฤnรฝ soubor problรฉmลฏ.
  • Koncovรญ uลพivatelรฉ komunikujรญ s aplikacemi na aplikaฤnรญ vrstvฤ›
  • Vรฝvojรกล™i aplikacรญ vyvรญjejรญ aplikace pro pouลพitรญ na aplikaฤnรญ vrstvฤ›. Dฤ›lajรญ to pomocรญ nรกstrojลฏ a abstrakcรญ.tracce poskytovanรฉ aplikaฤnรญm rรกmcem.
  • Android Vrstva Framework zjednoduลกuje pล™รญstup k nรญzkoรบrovลˆovรฝm komponentรกm vytvoล™enรญm API pล™es nativnรญ knihovny.
  • Android Runtime a Core-Libraries pouลพรญvajรญ nรญzkoรบrovลˆovรฉ jazyky spolu s optimalizacemi pro mobilnรญ zaล™รญzenรญ. To zajiลกลฅuje, ลพe kรณd napsanรฝ vรฝvojรกล™i aplikacรญ bฤ›ลพรญ hladce navzdory Android omezenรญ zaล™รญzenรญ.
  • Ve spodnรญ ฤรกsti Android softwarovรฝ zรกsobnรญk je jรกdro Linuxu. Propojuje se s bฤ›ลพnรฝmi hardwarovรฝmi souฤรกstmi Android zaล™รญzenรญ.

Shrลˆte tento pล™รญspฤ›vek takto: