Android (operačný systém)

**Android** je rozsiahla open source platforma, ktorá vznikla najmä pre mobilné zariadenia (smartphone, PDA, navigácie, tablety). Zahŕňa v sebe operačný systém (založený na jadre Linux), middleware, používateľské rozhranie a aplikácie. Vyvíja ho konzorcium Open Handset Alliance, ktorého cieľom je progresívny rozvoj mobilných technológií, ktoré budú mať výrazne nižšie náklady na vývoj a distribúciu, a zároveň spotrebiteľom prinesú inovatívne používateľsky prívetivé prostredie. Pri vývoji systému boli brané do úvahy obmedzenia, ktorými disponujú klasické mobilné zariadenia ako výdrž batérie, menšia výkonnosť a málo dostupnej pamäte. Zároveň bolo jadro Androidu navrhnuté pre prácu na rôznom hardvéri. Systém tak môže byť použitý bez ohľadu na chipset, veľkosť či rozlíšenie obrazovky.

Samotná platforma Android dáva k dispozícii nielen operačný systém s používateľským prostredím pre koncových používateľov, ale aj kompletné riešenie nasadenia operačného systému (špecifikácia ovládačov a pod.) pre mobilných operátorov a výrobcov zariadení a v neposlednom rade pre vývojárov aplikácií poskytuje efektívne nástroje pre ich vývoj - Software Development Kit.

## História

Spoločnosť Android Inc. bola založená v Kalifornii v októbri 2003 Andym Rubinom, Richom Minerom, Nickom Searsom a Chrisom Whitom. Google Inc. v auguste roku 2005 odkúpil v tej dobe nie príliš známu "startup" firmu Android Inc. a urobil z nej svoju dcérsku spoločnosť.

Po odkúpení spoločnosti tím Googlu pod vedením Andyho Rubina vyvinul platformu založenú na linuxovom jadre a v septembri roku 2007 Google získal niekoľko patentov v oblasti mobilných technológií. Odborná verejnosť začala po akvizícii špekulovať, že Google chce týmto krokom vstúpiť na trh "chytrých" mobilných telefónov a chystá vydanie vlastného telefónu.

5. novembra 2007 bolo vytvorené zoskupenie Open Handset Alliance. Konzorcium, ktoré zahŕňalo spoločnosti zaoberajúce sa výrobou mobilných telefónov, čipov alebo mobilných aplikácií, napr. Google, HTC, Intel, LG, Motorola, NVidia, Qualcomm, Samsung, Texas Instrument a ďalších 25 spoločností. Cieľom tohto konzorcia bolo vyvinúť otvorený štandard pre mobilné zariadenia. V ten istý deň Open Handset Alliance ohlásila svoj prvý produkt, Android, otvorenú mobilnú platformu postavenú na jadre Linux verzie 2.6. Eric Schmidt dal pri tejto príležitosti vo svojom prejave najavo, že má Google s platformou Android veľké plány: *"Dnešné oznámenie je omnoho ambicióznejšie, než iba Google telefón, ako špekulovala tlač v posledných niekoľkých týždňoch. Našou víziou je, že platforma, ktorú predstavujeme, bude môcť byť použitá na tisícoch rozdielnych telefónnych modeloch."* O týždeň neskôr bol vydaný prvý Android SDK pre vývojárov pod licenciou open-source.

V októbri 2008 bol v Spojených štátoch amerických uvedený prvý komerčný telefón vyrobený firmou HTC s operačným systémom Android (na Slovensku bol prvý telefón s Androidom uvedený koncom júla 2009) a zároveň s tým bol uvoľnený SDK 1.0. V roku 2009 narástol počet zariadení používajúcich Android na viac ako dvadsať.

## Architektúra
Android je rozdelený do 5 vrstiev. Každá vrstva má svoj účel a nemusí byť priamo oddelená od ostatných vrstiev.

Najnižšou vrstvou architektúry je *jadro operačného systému*, ktoré tvorí abstraktnú vrstvu medzi používaným hardvérom a zvyškom softvéru vo vyšších vrstvách. Jadro systému Androidu je postavené na Linuxe vo verzii 2.6. Využíva mnoho jeho vlastností, ako sú podpora správy pamäte, správa sietí, zabudované ovládače, správa procesov alebo súbežný beh aplikácií, ktoré bežia ako samostatné procesy s prioritou stanovenou systémom. Táto vlastnosť prispieva k stabilite a tiež ochrane systému. Naopak systém nepodporuje grafické používateľské rozhranie X Window System a ani úplnú sadu GNU knižníc. Dôvodom použitia jadra Linux bola tiež vlastnosť pomerne jednoduchej kompilácie na rôznych zariadeniach a tým zaručená prenositeľnosť.

Ďalšou vrstvou sú knižnice, ktoré sú napísané v C/C++ kóde a využívajú ich rôzne časti systému. Tieto funkcie sú vývojárom poskytnuté prostredníctvom *Android Application Framework*. Tu sú uvedené iba niektoré príklady knižníc:
* Media Libraries - knižnica podporuje prehrávanie video a audio formátov, obrazových súborov, napr. MPEG4, H.264, MP3, AAC, AMR, JPG a PNG.
* LibWebCore - knižnica webového prehliadača, ktorý podporuje aj vložené náhľady webových stránok.
* Libc - odvodená BSD štandardná knižnica systému C vyladená pre vložené systémy.
* SQLite - odľahčená knižnica pre prístup k relačným databázam
* OpenSSL - secure socket layer
* FreeType - knižnica pre rendering bitmapových a vektorových fontov.
* OpenGL - knižnica na vykresľovanie 3D grafiky.

Vrstva *android Runtime* obsahuje aplikačný virtuálny stroj zvaný Dalvik, ktorý bol vyvíjaný od roku 2005 špeciálne pre Android, tímom v Googlu pod vedením Dana Bornsteina . Dalvik Virtual Machine (DVM) je registrovo orientovaná architektúra, využíva základné vlastnosti linuxového jadra, ako je správa pamäte alebo práca s vláknami. Vznik nového virtuálneho stroja bol iniciovaný z dvoch dôvodov. Prvým dôvodom boli licenčné práva, keď jazyk Java a jeho knižnice sú voľne šíriteľné, zatiaľ čo JVM nie je. Ďalším dôvodom bola optimalizácia virtuálneho stroja pre mobilné zariadenia a to predovšetkým v oblasti pomeru úspory energie a výkonu. V tejto vrstve sú tiež obsiahnuté základné knižnice programovacieho jazyka Java. Knižnice sa svojím obsahom blížia platforme Java Standard Edition. Hlavný rozdiel je v neprítomnosti knižníc pre užívateľské rozhranie (AWT a Swing), ktoré boli nahradené knižnicami užívateľského rozhrania pre Android alebo pridanie knižnice Apache pre prácu so sieťou. Preklad aplikácie napísanej pre Android prebieha skompilováním zdrojového Java kódu do Java byte kódu pomocou rovnakého kompilátora, ako sa používa v prípade prekladu Java aplikácií. Potom sa prekompiluje Java byte kód pomocou Dalvik kompilátora a výsledný Dalvik byte kód je spustený na DVM. Každá spustená Android aplikácia má svoj vlastný proces s vlastnou inštanciou DVM.

Vrstva *application framework* je pre vývojárov najdôležitejšia. Poskytuje prístup k veľkému počtu služieb, ktoré môžu byť použité priamo v aplikáciách. Tieto služby môžu sprístupňovať dáta v iných aplikáciách, prvky používateľského rozhrania, upozorňovací stavový riadok, aplikácie bežiace na pozadí, hardvér používaného zariadenia a mnoho ďalších služieb a funkcií. Základná sada služieb zahŕňa predovšetkým:
* Sada prvkov View - tieto prvky sú použité pre zostavenie používateľského rozhrania ako zoznamy, textové pole, tlačidlá, checkboxy a iné.
* Content providers - umožňuje prístup k obsahu (napr. kontakty) iných aplikácií.
* Resource manager - poskytuje prístup k "nekódovým" zdrojom, ako sú reťazce, grafika, pridané súbory.
* Notification manager - umožňuje všetkým aplikáciám zobraziť vlastné upozornenie v stavovom riadku.
* Activity manager - riadi životný cyklus aplikácií a poskytuje orientáciu v zásobníku s aplikáciami.

Najvyššiu vrstvu systému tvoria *základné aplikácie*, ktoré využívajú bežní použivatelia. Môže ísť o aplikácie predinštalované alebo dodatočne stiahnuté z obchodu Google Play. Napríklad e-mailový klient, SMS program, kalendár, mapy, prehliadač, kontakty a ďalšie aplikácie aj od "tretích" strán.

## Telefóny so systémom Android
* T-Mobile G1 (vyrába ho HTC pod názvom Dream)
* HTC Wildfire
* HTC Desire
* HTC Desire HD
* HTC Magic
* HTC Hero
* HTC One
* Nexus One
* Sony Xperia
* Samsung Galaxy S
* Samsung Galaxy Note
* LG Optimus 
* Lenovo Vibe C White
* Prestigio Wize P3 Gold 
* Huawei p8
* Motorola x
* Xiaomi
*Umi

## Galéria

Súbor:Android 4.0.png|Android 4.0 – Ice Cream Sandwich (Galaxy Nexus)
Súbor:Android-2.2.png|Android 2.2 – Froyo
Súbor:Android-2.0.png|Android 2.0 – Eclair
Súbor:Samsung_Galaxy_Note_series.jpg|Galaxy Note
Súbor:Galaxy Nexus smartphone.jpg|Galaxy Nexus
Súbor:T-Mobile G1 launch event 2.jpg|T-Mobile G1


## Referencie

## Zdroj

## Iné projekty

## Externé odkazy
* Google Play

Kategória:Softvér firmy Google
Kategória:Slobodný softvér

Kategória:Softvér z 2008