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:
- editaci videa
- Aplikaฤnรญ rรกmec
- Android Runtime a zรกkladnรญ knihovny
- 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

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.
- 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.
- 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.
- Zprรกvy: Android poskytuje moลพnost odesรญlat a pลijรญmat SMS zprรกvy.
- 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.
- Prohlรญลพeฤ: Android je dodรกvรกn s vรฝchozรญm prohlรญลพeฤem.
- 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รญ.

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

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.
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:
- Ovladaฤe zaลรญzenรญ
- Sprรกva pamฤti
- ลรญ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รญ.

