Android (operační systém)

Z Wikipedie, otevřené encyklopedie
Android
Logo
Android 6.0 domovská obrazovka
Android 6.0 domovská obrazovka
VyvíjíGoogle, Open Handset Alliance
Rodina OSLinux
Druhmobilni
Aktuální verze6.0 (Marshmallow) / 29. září 2015
Způsob aktualizaceOTA (Over-the-air)
Správce balíčkůAPK
Podporované platformyARM, MIPS, x86
Typ jádramonolitické jádro (Linux)
Výchozí uživatelské rozhranígrafické
LicenceApache 2.0 a GPLv2
StavAktivní
Oficiální webandroid.com
LG Nexus 5
Samsung i9250 Galaxy Nexus

Android je mobilní operační systém založený na jádře Linuxu, který je dostupný jako otevřený software (open source). Vyvíjí jej konsorcium Open Handset Alliance, jehož cílem je progresivní rozvoj mobilních technologií, které budou mít výrazně nižší náklady na vývoj a distribuci, a zároveň spotřebitelům přinese inovativní uživatelsky přívětivé prostředí. Při vývoji systému byla brána v úvahu omezení, kterými disponují klasická mobilní zařízení, jako výdrž baterie, menší výkonnost a málo dostupné paměti. Zároveň bylo jádro Androidu navrženo pro běh na různém hardwaru. Systém tak může být použit bez ohledu na použitý chipset, velikost či rozlišení obrazovky.[1]

Samotná platforma Android dává k dispozici nejen operační systém s uživatelským prostředím pro koncové uživatele, ale i kompletní řešení nasazení operačního systému (specifikace ovladačů aj.) pro mobilní operátory a výrobce zařízení a v neposlední řadě pro vývojáře aplikací poskytuje efektivní nástroje pro jejich vývoj – Software Development Kit.

Android měl v srpnu 2013 bezmála 80% podíl na trhu s chytrými telefony.

Historie

Společnost Android Inc. byla založena v Kalifornii v říjnu 2003 Andym Rubinem, Richem Minerem, Nickem Searsem a Chrisem Whitem. Google Inc. v srpnu roku 2005 odkoupil v té době nepříliš známou „startup“ firmu Android Inc. a udělal z ní svoji dceřinou společnost.[2]

Po odkupu společnosti tým Googlu pod vedením Andyho Rubina vyvinul platformu založenou na Linuxovém jádře a v září roku 2007 Google získal několik patentů v oblasti mobilních technologií. Odborná veřejnost začala po akvizici spekulovat, že Google chce tímto krokem vstoupit na trh „chytrých“ mobilních telefonů a chystá vydání vlastního telefonu.[3]

5. listopadu 2007 bylo vytvořeno uskupení Open Handset Alliance. Konsorcium, které zahrnovalo společnosti zabývající se výrobou mobilních telefonů, čipů nebo mobilních aplikací, např. Google, HTC, Intel, LG, Motorola, NVIDIA, Qualcomm, Samsung, Texas Instruments a dalších 25 společností. Cílem tohoto konsorcia bylo vyvinout otevřený standard pro mobilní zařízení. V ten samý den Open Handset Alliance ohlásil svůj první produkt, Android, otevřenou mobilní platformu postavenou na jádře Linux verze 2.6. Eric Schmidt dal při této příležitosti ve svém projevu najevo, že má Google s platformou Android velké plány: „Dnešní oznámení je mnohem ambicióznější, než pouhý Google telefon, jak spekuloval tisk v posledních několika týdnech. Naší vizí je, že platforma, kterou představujeme, bude moci být použita na tisících rozdílných telefonních modelech.“ O týden později byl vydán první Android SDK pro vývojáře pod licencí open-source.[1]

V říjnu roku 2008 byl ve Spojených státech amerických uveden první komerční telefon T-Mobile G1 (HTC Dream) s operačním systémem Android (v České republice byl uveden v lednu 2009) a zároveň s tím bylo uvolněno SDK 1.0. V roce 2009 vzrostl počet zařízení používající Android na více jak dvacet. Na konci roku 2010 se Android stal vedoucí platformou smartphonů, na počátku roku 2012 měl 59% podíl a v roce 2013 už jednoznačně dominoval trhu s podílem 80 %.[4]

T-Mobile G1
Související informace naleznete také v článcích Seznam zařízení se systémem Android a Historie verzí Android.

Architektura

Architektura operačního systému Android je rozdělena do 5 vrstev. Každá vrstva má svůj účel a nemusí být přímo oddělena od ostatních vrstev.

Nejnižší vrstva architektury je jádro operačního systému, které tvoří abstraktní vrstvu mezi používaným hardwarem a zbytkem softwaru ve vyšších vrstvách. Jádro systému Android je postaveno na jádře systému Linux. V prvních verzích Androidu šlo o verze Linuxu 2.6.x, pozdější verze využívají novější linuxová jádra.[5][6][7] Je využito mnoha vlastností Linuxu, jako podpora správy paměti, správa sítí, zabudované ovladače nebo správy procesů, například souběžného běhu aplikací, které běží jako samostatné procesy s oprávněním stanoveným systémem. Tato vlastnost přispívá ke stabilitě a také ochraně systému. Naopak systém nepodporuje grafické uživatelské rozhraní X Window System a ani úplnou sadu GNU knihoven. Důvodem použití jádra Linux byla také vlastnost poměrně snadného sestavení na různých zařízeních a tím zaručená přenositelnost.

Další vrstvou jsou knihovny, které jsou napsány v C nebo C++ kódu a využívají je různé komponenty systému. Tyto funkce jsou vývojářům poskytnuty prostřednictvím Android Application Framework. Zde jsou uvedeny pouze některé příklady knihoven:

Android Runtime

Do verze 4.3

Obsahuje vrstvu obsahující aplikační virtuální stroj zvaný Dalvik, který byl vyvíjen od roku 2005 speciálně pro Android, týmem v Googlu pod vedením Dana Bornsteina. Nově se používá Dalvik Turbo od francouzsko-švýcarské firmy Myriad Group, který je výrazně rychlejší a úspornější, ale zachovává kompatibilitu s původním Dalvikem.

Vznik virtuálního stroje Dalvik byl při současné existenci JVM od Oracle iniciován ze dvou důvodů. Prvním důvodem byla licenční práva, kdy jazyk Java a jeho knihovny jsou volně šiřitelné, zatím co JVM není. Dalším důvodem byla optimalizace virtuálního stroje pro mobilní zařízení a to především v oblasti poměru úspory energie a výkonu.

V této vrstvě jsou také obsaženy základní knihovny programovacího jazyka Java. Knihovny se svým obsahem blíží platformě Java Standard Edition. Hlavní rozdíl je v nepřítomnosti knihoven pro uživatelské rozhraní (Abstract Window Toolkit a Swing), které byly nahrazeny knihovnami uživatelského rozhraní pro Android nebo přidání knihovny Apache pro práci se sítí.

Překlad aplikace napsané pro Android starší, než verze 4.4, probíhá zkompilováním zdrojového Java kódu do Java byte kódu pomocí stejného kompilátoru, jako je používán v případě překladu Java aplikací. Poté se překompiluje Java byte kód pomocí Dalvik kompilátoru a výsledný Dalvik byte kód je spuštěn na DVM. Každá spuštěná Android aplikace běží ve svém vlastním procesu, s vlastní instancí DVM.

Od verze 4.4 včetně (ART)

Od verze Androidu 4.4 (a Android 5.0) včetně se používá (ART – Android RunTime) dopředná kompilace (AOT – Ahead-of-time compilation). Důvodem jsou úspory energie a další výrazné zrychlení aplikací.

Dopředná kompilace v Androidu 4.4+ funguje tak, že se aplikace napsaná ve zdrojovém kódu Javy přeloží pomocí kompilátoru do Java byte kódu, a následně se přeloží do byte kódu Dalviku (.DEX). Při instalaci do Androidu, se jednou pro vždy zkompiluje do nativního kódu (procesoru) zařízení.[9]

Výsledkem je až dvakrát výkonnější smartfon, který má tak o 36 % delší výdrž. Zpomalení se týká jen instalace aplikace, při které se provádí její finální optimalizace.[10][11][12]

Pro zachování kompatibility je původní kompilátor (JIT – Just-in-time compilation) Dalvik prozatím přítomen.

Linuxové jádro 3.8 (a vyšší) obsahuje od roku 2012 zásadní chybu, kterou lze využít ke kompletní kontrole zařízení v režimu root práv.[13]

Od verze 6.0 (Marshmallow)

Společnost Google zřejmě přichází se značnou změnou v oblasti řízení oprávnění pro aplikace v nadcházejícím systému Android.

V současné době systém Android umožňuje aplikaci buď nainstalovat a spouštět se všemi právy, nebo instalaci aplikace zcela odmítnout. To se teď mění. Změna spočívá v rozšíření možností uživatele Androidu tak, aby aplikace získala jen skupiny práv, které nezbytně potřebuje, tedy které jí uživatel dovolí používat. Aplikace sice bude moci požádat o dodatečná práva při svém běhu, ale i tehdy jí uživatel bude moci práva odepřít. Bude tedy možné například zamezit aplikaci přístup k mikrofonu, fotoaparátu, souborům a nebo třeba k telefonnímu seznamu. Nová verze Androidu má také propracovanější správu energie.[14][15]

Application framework

Vrstva Application framework je pro vývojáře nejdůležitější. Poskytuje přístup k velkému počtu služeb, které mohou být použity přímo v aplikacích. Tyto služby mohou zpřístupňovat data v jiných aplikacích, prvky uživatelského rozhraní, upozorňovací stavový řádek, aplikace běžící na pozadí, hardware používaného zařízení a mnoho dalších služeb a funkcí. Základní sada služeb zahrnuje především:

  • Sada prvků View – Tyto prvky jsou použity pro sestavení uživatelského rozhraní jako seznamy, textové pole, tlačítka, checkboxy a jiné.
  • Content providers – Umožňuje přístup k obsahu (např. kontakty) jiných aplikací.
  • Resource manager – Poskytuje přístup „nekódovým“ zdrojům, jako jsou řetězce, grafika, přidané soubory.
  • Notification manager – Umožňuje všem aplikacím zobrazit vlastní upozornění ve stavovém řádku.
  • Activity manager – Řídí životní cyklus aplikací a poskytuje orientaci v zásobníku s aplikacemi.

Nejvyšší vrstvu systému tvoří základní aplikace, které využívají běžní uživatelé. Může jít o aplikace předinstalované nebo dodatečně stažené z Android Marketu. Například e-mailový klient, SMS program, kalendář, mapy, prohlížeč, kontakty a další aplikace i od „třetích“ stran.[16]

Historie verzí

Podrobnější informace naleznete v článku Historie verzí Android.

Od první verze bylo vydáno několik aktualizací, které opravují chyby a přidávají nové funkce. Jednotlivé verze systému se jmenují abecedně podle sladkostí (Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat a Lollipop, Marshmallow).

1.5 (Cupcake)
Linuxové jádro 2.6.27
30. dubna 2009 byla uvolněna aktualizace na Android 1.5 (Cupcake).[17] Update přidává několik nových funkcí:
  • Možnost nahrávat a sledovat videa z kamery.
  • Nahrávání videí na YouTube a fotografií na Picasu přímo z telefonu.
  • Nová softwarová klávesnice s automatickým dokončováním slov.
  • Bluetooth – podpora A2DP.
  • Možnost automaticky připojit Bluetooth headset.
  • Nové widgety a složky.
  • Animace při přechodu mezi obrazovkami.
  • Rozšířena funkce kopírovat a vložit.

http://developer.android.com/sdk/android-1.5-highlights.html

1.6 (Donut)
Linuxové jádro 2.6.29
15. září 2009 bylo uvolněno 1.6 (Donut) SDK.[18] Změny:
  • Vylepšený Android Market.
  • Nové prostředí fotoaparátu, kamery a galerie.
  • Galerie umožňuje označit více fotografií k vymazání.
  • Aktualizované vyhledávání hlasem.
  • Quick Search Box – umožňuje vyhledávat záložky, historii, kontakty a na webu z domovské obrazovky.
  • Podpora pro technologie CDMA/EV-DO, 802.1x, VPN, Gesta a syntéza řeči.
  • Podpora pro rozlišení displeje WVGA.
  • Vylepšení rychlosti vyhledávání a kamery.

http://developer.android.com/sdk/android-1.6-highlights.html

2.0/2.1 (Eclair)
Linuxové jádro 2.6.29[19]
26. října 2009 bylo uvolněno 2.0 (Éclair) SDK.[20] Mezi změny patří:[21]
  • Optimalizována rychlost hardwaru.
  • Podpora pro více velikostí a rozlišení displeje.
  • Zdokonalené uživatelské prostředí.
  • Nové prostředí prohlížeče a podpora HTML5.
  • Nový seznam kontaktů.
  • Mapy Google aktualizovány na 3.1.2.
  • Podpora pro Microsoft Exchange.
  • Podpora přisvětlovací diody.
  • Digitální zoom (fotoaparát).
  • Vylepšená softwarová klávesnice.
  • Podpora pro Bluetooth 2.1.
  • Animované tapety na domovské stránce.

http://developer.android.com/sdk/android-2.0-highlights.html

2.0.1 SDK bylo vydáno dne 3. prosince 2009.[22]

2.1 SDK byla vydána dne 12. ledna 2010.[23]

2.2 (Froyo)
Linuxové jádro 2.6.32[24]
20. května 2010 na konferenci Google I/O byl představen Android 2.2. Přidává nové technologie a funkce uživatelského prostředí:
  • Možnost instalovat aplikace na paměťovou kartu.
  • Adobe vydalo plugin Adobe Flash 10.1. Není integrován do systému, distribuce je řešena přes Android Market nebo přes stránky Adobe.
  • Díky kompilátoru JIT (Just-in-time) se podařilo zvýšit rychlost systému na různých benchmarcích 2× až 5×. Dále je vylepšena správa paměti RAM.
  • Možnost vytvořit z telefonu WiFi hotspot, nebo sdílet internetové připojení přes kabel USB.
  • Dva nové režimy telefonu – „car mode“ a „night mode“ (režim v autě a noční režim).
  • Více nastavení fotoaparátu a kamery.
  • Přidána podpora pro OpenGL ES 2.0, vícebarevný trackball, vylepšena podpora pro Exchange, Bluetooth a přidána další vrstva vývojářského API.

http://developer.android.com/sdk/android-2.2-highlights.html

2.3/2.4 (Gingerbread)
Linuxové Jádro 2.6.35[25]
6. prosince 2010 byla vypuštěna verze Android 2.3 Gingerbread:
  • Podpora video formátu WebM pro HTML5 video.[26]
  • Podpora pro Near Field Communication standard, který dnes podporují některé mobilní telefony.
  • Podpora protokolu SIP pro internetovou telefonii.
  • Lepší správa prostředků.
  • Upravená virtuální klávesnice.
  • Zlepšená funkce kopírovat a vložit.[27]
  • Podpora více kamer a nových senzorů.
  • Nové Google Maps 5 s 3D přístupem (Dostupné přes market pro všechny verze Androidu).
  • Rozšíření podpory nativního kódu.

http://developer.android.com/sdk/android-2.3-highlights.html

3.0/3.1/3.2 (Honeycomb)
Linuxové Jádro 2.6.36
[28]

22. února 2011 byl představen Honeycomb:

http://developer.android.com/sdk/android-3.0-highlights.html

4.0–4.0.4 (Ice Cream Sandwich)
Linuxové Jádro 3.0.1
[29]

Představen 19. října 2011:

  • Odemčení telefonu obličejem.
  • Přepracovaný launcher.
  • Vylepšený správce kontaktů.
  • Android Beam.
  • Vylepšené rozpoznání hlasu.
  • Ukazatel přenesených dat.
  • Zachycení panoramat.

http://developer.android.com/sdk/android-4.0-highlights.html

4.1/4.2/4.3 (Jelly Bean)
Linuxové Jádro 3.0.31
[30]

Představen 9. července 2012 na Google I/O:

  • Project Butter.
  • Rozpoznávání hlasu offline.
  • Vylepšena aplikace fotoaparát (Technologie PhotoSphere 360° fotografie).
  • Vylepšená informační lišta.
  • Google Now.
  • Více uživatelských účtů.
  • Správcovské a omezené účty (od 4.3).
  • Podpora OpenGL ES 3.0.

http://developer.android.com/about/versions/jelly-bean.html

4.4 (KitKat)[31]

Představen 3. září 2013 na Google Plus:

  • Odstraněn nástroj na ochranu soukromí.[32]
  • Optimalizace pro telefony s menší pamětí RAM.
  • Možnost stažení notifikačni listy v aplikacích s celoobrazovým režimem.

http://developer.android.com/about/versions/kitkat.html

5.0 (Lollipop)[33][34]

Představen 25. června 2014 na konferenci Google I/O 2014:

  • Nový vzhled uživatelského rozhraní, "material design".
  • Nový, efektivnější ART runtime (viz Android Runtime).
  • Nový systém správy baterií.
  • Nový notifikační systém.
  • 32 i 64 bitový systém.
  • Project Volta snižující energetickou náročnost systému.
  • Možnost zapnout úsporný režim, prodlužující pohotovostní dobu telefonu.
  • Systém byl původně šifrován v základním nastavení, kvůli výkonu od toho ale bylo upuštěno.[35]
  • Funkce Smart Lock.
  • Možnost více uživatelů na jednom telefonu, přidán mód Guest.
  • Funkce Tap & go umožňující přenesení nastavení z jiného telefonu pomocí technologie NFC.

http://developer.android.com/about/versions/lollipop.html

5.1 (Lollipop)[36][37]

Uveden 9. března 2015:

  • Podpora používání dvou a více SIM najednou.
  • Kill switch pro případ odcizení.
  • Lepší zvuk (HD voice).
  • Výkonnostní a bezpečnostní vylepšení.
  • Oprava úniků paměti z verzí 5.0.x.[38]
6.0 (Marshmallow) Uveden 5. října 2015:
  • Uživatelem definované skupiny oprávnění pro aplikace.
  • Prodloužení výdrže na jedno nabití až na dvojnásobek.
  • Podpora USB Typu C.
  • Rozpoznávání otisků prstů.

http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html

Google oznámil využití API Vulcan

Firma Google oznámila, že pro Android připravuje využít výpočetní knihovnu Vulcan.[39][40] Tato knihovna umožňuje lépe využít hardware, zejména založený na novějších architekturách (GCN). Toto API také má být kompatibilní s Vulcanem z desktopu. K dispozici má být příští rok.

Vývoj aplikací

Oficiálně podporované vývojové prostředí pro aplikace Android je Eclipse. Do něj je možné nainstalovat ADT plugin, který ulehčuje práci s Android projektem. Vývojáři ovšem nejsou nuceni pracovat v tomto prostředí, ale mají možnost volby jiného IDE nebo jednoduchého textového editoru a kompilace aplikací pomocí příkazové řádky. V nedávné době (2014) Google odkoupil Android studio, které se začíná prosazovat jako hlavní vývojové prostředí.

Android Software Development Kit (SDK)

Nástroje pro vývoj aplikací pro platformu Android jsou obsaženy v SDK, který je dostupný pro všechny hlavní platformy operačních systémů GNU/Linux, Windows i Mac OS. Sada SDK je rozdělena na tři druhy: základní (nástroje nezbytné pro vývoj aplikací), doporučená a plná konfigurace vývojového prostředí.

Základní konfigurace SDK:

  • SDK Tools – Obsahuje nástroje pro debugging (ddms), testování aplikace, správu Android Virtual Devices (AVD), Android emulátor, analýzu grafického layoutu a další potřebné programy.
  • SDK Platform-tool – Obsahuje další důležité nástroje pro vývoj aplikací, které jsou závislé na verzi platformy a jsou aktualizovány při vydání nové verze SDK. Jeden z nástrojů je například Android Debug Bridge, umožňující nahrávat soubory do zařízení.
  • Android SDK platforms – Každá platforma SDK se skládá z knihoven, systémového obrazu, ukázkových kódů, skinů emulátoru a jiných zdrojů. Ke kompilaci aplikace a pro nastavení a běh AVD musí být přítomna alespoň jedna platforma.

Doporučená konfigurace SDK:

  • USB Driver – Komponenta, která je nutná pouze při ladění a testování aplikace nainstalované na zařízení. Potřebné pouze pro platformu Windows.
  • Příklady kódů – Obsahuje ukázkové kódy aplikací, které jsou aktuální pro každou platformu.
  • Dokumentace – Obsahuje lokální kopii dokumentace pro aktuální Android framework API. Tato dokumentace je také využita ve vývojovém prostředí Eclipse.

Plné konfigurace SDK:

  • Google API – Knihovny, zpřístupňující rozhraní Google Maps, které je možno použít v aplikacích.
  • Ostatní SDK platformy – To je například Market Licensing package, který obsahuje knihovnu ověřující licenci aplikace, zda se nejedná o nelegální kopii.[41]

Emulátor

Emulátor operačního systému Android je obsažen v Android SDK. Umožňuje testovat vytvořené aplikace bez fyzického zařízení. Pomocí Android SDK a AVD Manageru je možné konfigurovat volbu síťového připojení, SD karty atd. a spouštět jednotlivá virtuální zařízení. Většina aplikací se chová v emulátoru stejně jako na fyzickém zařízení. Existují ovšem výjimečné situace, které se virtualizovat nedají nebo jen těžko, například přijímání hovorů, video/audio vstup, úroveň nabité baterie, funkce bluetooth atd.

Základní části aplikace Android

Základní stavební kameny v aplikacích Android jsou komponenty activity reprezentující obrazovku, service umožňující provádět akce na pozadí, content providers poskytující přístup k datům a broadcast reciever reagující na příchozí oznámení. Všechny tyto komponenty musí být definovány v souboru AndroidManifest.xml, uloženém v kořenovém adresáři projektu. Kromě content provideru mohou komponenty mezi sebou kooperovat pomocí zpráv, tzv. intentů.

Activity

Activity odpovídá jedné obrazovce. Obsahuje grafické uživatelské rozhraní pro interakci s uživatelem. Aplikace obsahuje obvykle více activit, mezi kterými je uživatel schopen přepínat a přitom si activity může předávat informace. Zahájení activity je poměrně náročná záležitost. Musí se vytvořit nový proces, alokovat paměť pro objekty uživatelských rozhraní, které se rozloží do layoutu obrazovky a na připravenou obrazovku vyvolat zobrazení. Aby nedocházelo ke zbytečnému plýtvání výpočetních prostředků např. při vzniku, zániku a opětovného vzniku activity – což se jednoduše může stát při stisku tlačítka zpět na zařízení – je zde Activity Manager, který zodpovídá za vytváření, rušení a celkovou správu životního cyklu activity. Activity Manager pracuje se zásobníkem, ve kterém jsou uchované informace o spuštěných activitách, a na vrcholu tohoto zásobníku je aktuálně zobrazované activity. Životní cyklus activity se může nacházet v těchto stavech:

  • Activity starts – Počátek, kdy je actvity inicializováno.
  • Activity is running – Activity je zobrazeno na displeji a může mít interakci s uživatelem. V jediném okamžiku může být právě jedna activity v tomto stavu.
  • Process is killed – Activity Manager zrušil activity z důvodu nedostatku paměti. K této akci může dojít, pokud activity není viditelné. Další možnost není tak obvyklá – activity je viditelné, ale uživatel s ní nemůže navázat interakci (nastává například při dialogových hláškách).
  • Activity is shut down – Activity Managerem ukončil activity a ta již nevyužívá žádnou paměť.

Service

Komponenta service neposkytuje uživatelské rozhraní, ale představuje pouze proces běžící na pozadí. Většinou se používá k vykonávání dlouho trvajících úkolů nebo k přístupu k vzdáleným zdrojům, kde není známá doba odezvy (jako je připojení k serveru). Service můžeme spustit dvěma způsoby a to pomocí metody startService. Potom se service může ukončit sama nebo ji může ukončit jiná komponenta. Další způsob spuštění je pomocí metody bindService, kterou vyvolá jiná komponenta, tzv. klient, v tomto případě service může ukončit pouze klient, který ji spustil. V jednom okamžiku může být k service navázáno pomocí metody bindService i více komponent, potom je service ukončena po odpojení všech klientů. Service se může nacházet ve třech stavech:

  • Component calls – Inicializace service pouhým zavoláním nebo navázáním komponenty na service.
  • Service is running – Service vykonává na pozadí svou funkci.
  • Service is shut down – Service byl ukončen sám nebo komponentou, záleží na formě spuštění service.

Content provider

Content provider je aplikační rozhraní pro sdílení dat mezi aplikacemi, ale i pro sdílení dat v aplikaci mezi jednotlivými activitami. Aplikace může uchovávat data v souborech, SQLite databázi nebo na webu, a přesto budou mít k těmto datům přístup – pokud je to povoleno – jiné aplikace. Content provider má relativně jednoduché rozhraní se standardními metodami (insert, update, delete a query), které mají stejnou funkci jako klasické databázové metody. Oddělení dat od uživatelského rozhraní nabízí možnost nahrazení výchozích aplikací novými. Například může jakákoliv aplikace využít uložených uživatelských kontaktů a nahradit tak defaultní aplikaci pro jejich zobrazování.

Broadcast receiver

Broadcast reciever je komponenta sloužící k „naslouchání“ oznámení. Podle určení na ně reaguje, například výpisem na stavový řádek nebo spuštěním jiné komponenty. Aplikace mohou využívat broadcasty systémové nebo vytvářet své vlastní. Podobně jako service ani broadcast receiver nemá uživatelské rozhraní. Příklad použití broadcast recieveru může být reakce na oznámení o nízkém stavu baterie, o zachycení fotografie, doručení SMS zprávy nebo stažení dat. [42]

Android Developer Challenge

Aby společnost Google přilákala vývojáře pro tuto novou platformu, do soutěže Google Developer Challenge vložila v roce 2008 celých 10 milionů dolarů. Android Developer Challenge je soutěž vývojářů pořádaná společností Google. Do soutěže se přihlašují skupiny vývojářů či jednotlivci, kteří prezentují své aplikace pro mobilní telefony na platformě Android. Ti nejlepší se pak podle stanovených pravidel podělí o finanční odměny, z nichž mohou financovat další vývoj, a získat tak lepší šanci na úspěch v dalších kolech, ve kterých užší výběr usiluje o řádově hodnotnější finanční odměny.

První kolo začalo v květnu výběrem 50 projektů za pomoci odborné poroty, které obdržely každý 25 tisíc dolarů na další vývoj. Z těch pak bylo vybráno 10 vítězů (každý vítězný projekt dostal 275 tisíc dolarů) a dalších deset týmů dostalo sto tisíc dolarů. Podobné druhé kolo soutěže se konalo následující rok.

Google Play a instalace aplikací obecně

Aplikace do zařízení s operačním systémem Android jsou primárně dostupné přes tzv. Google Play (do února 2012 Android Market), což je služba určená pro stahování aplikací a her, kterou provozuje přímo Google. Byla dostupná již s uvedením prvního mobilního telefonu a v současné době (květen 2011) je na ní více než 290 000 aplikací, z nichž část je zcela zdarma a část je ke stažení zdarma a při spuštění zobrazuje reklamy. Zbylé aplikace jsou placené – ty lze zatím kupovat jen v omezené množině zemí, která se ovšem rozrůstá (toto omezení platí pouze pro placené aplikace).

V únoru 2011 byl Android Market rovněž zpřístupněn přes Internet. Uživatelé tak mohou ze svého PC procházet seznamy aplikací a rovněž si vybírat ty, které se automaticky nainstalují na jejich mobilní zařízení. Veškerá tato funkcionalita byla do té doby přístupná pouze z mobilního zařízení.[43]

Protože Android je však otevřenou platformou, aplikace na ni je možné nahrávat i přímo např. z počítače (postupy jsou zdokumentované a podporuje je i samotné Android SDK).

Pro ty, kteří by chtěli modifikovat i samotné vlastnosti operačního systému, existují postupy, jak získat oprávnění administrátora v zařízení (administrátor se nazývá v Linuxu root, proto se těmto postupům říká rooting). Je potřeba podotknout, že takové změny nejsou oficiálně podporované a mohou porušit některá obchodní ustanovení a vést např. ke ztrátě záruky a podpory k zařízení.

Zastoupení na trhu

  • Společnost Canalys odhadovala, že ve druhém čtvrtletí 2009 měl Android 2,9 % na trhu tzv. chytrých telefonů, ve třetím čtvrtletí to bylo 3,5 %.[44]
  • V květnu 2010 již ale Android zřejmě předběhl v USA iPhone co do počtu prodaných telefonů svým podílem 28% na trhu v USA.[45]
  • V červenci 2011 Google oznámil, že je aktivováno každý den 550 tisíc zařízení se systémem Android.[46]
  • V druhém čtvrtletí roku 2011 je android na 48 % prodaných telefonů[47]
  • V roce 2013 už jednoznačně dominuje trhu s podílem 80%.[zdroj?]

Bezpečnost a firemní nasazení

Podle informací webu Gizmodo nasazení přístrojů s Androidem ve firmách postupně zpomaluje.[48] Na vině jsou chybějící funkce pro podnikové nasazení spojené zejména s dostatečným zabezpečením a správou. Podle kritiků Androidu chybí zejména podpora šifrování dat, včetně enkrypce SD karet a také lepší systém ochrany proti malwaru, který se v poslední době na přístroje s Androidem zaměřuje ve velkém. Dále OS Android potřebuje snadný systém pro možnost vymazávání dat administrátory na dálku a také pokročilou schopnost sledování přístroje při ztrátě či odcizení.

Androidu příliš neprospěla ani šokující skutečnost, na kterou v květnu 2011 upozornil web The Register, že totiž 99 % telefonů používajících platformu Android obsahuje chyby dovolující například reklamním společnostem krádež přihlašovacích údajů používaných k přístupu ke kalendářům, kontaktům a dalším citlivým údajům. Poté, co uživatel odešle přihlašovací údaje k nějaké webové službě, dostane zpátky tzv. přihlašovací token, kterým si webová služba nadále ověřuje identitu uživatele aniž by po něm znovu vyžadovala heslo a který je pak možné k přihlášení použít další dva týdny. Tento token je navíc odesílán nešifrovaný a tak každý, kdo jej získá, může jednoduše webovou službu přesvědčit, že je oprávněn k přístupu na účet daného uživatele. Tato bezpečnostní díra byla částečně opravena v Androidu verze 2.3.4, přesto však i tato verze stále umožňuje podobný útok například při synchronizaci se službou Picasa.[49]

Podle webu ICT manažer pak Google prý není schopný sám Android přeměnit v platformu, která by odpovídala požadavkům korporátních uživatelů a zůstane tak spíše orientovaný na koncové uživatele. Android je sice možné využívat ve firmách, ale jen v omezené míře, pokud jej uživatelé nebudou používat pro práci s citlivými informacemi.[50]

Licence

Android není zcela otevřený systém, ale otevřená je jeho velká část: od modulů Linuxového jádra, knihoven, aplikačního programové rozhraní až po základní aplikace. To dává výrobcům možnost přizpůsobit systém nasazenému hardwaru a také lépe integrovat své aplikace. Android je zároveň šířen pod „business-friendly“ licencí (Apache/MIT), což umožňuje třetím stranám využívat systém pro nejrůznější účely. Ale některé části jsou uzavřenou technologii firmy Google,[51] přesto Google tento systém prezentuje jako open source.

Android také obsahuje několik patentovaných technologii, které si musí výrobci telefonů licencovat.[52]

Díky vydání produktu jako open source a nezávislosti na použitém hardwaru může být Android spuštěn na velkém počtu přístrojů. Tato skutečnost zapříčinila vznik velkého a ekonomicky úspěšného ekosystému tvořeného aplikacemi, vývojáři a uživateli.[53]

Česká Androidí komunita

V tuzemsku se zvedl zájem o operační systém Android již v době kdy se na trhu začal prodávat první mobilní telefon s tímto systémem tedy T-Mobile G1. Od 23. září 2008 začalo fungovat české fórum o Androidu kolem něhož i v současnosti existuje velká komunita s více než 77 000 členy (k 26. listopadu 2015[54]).

V současné době se aktualitám kolem systému Android věnuje server Svetandroida.cz který patří mezi největší média v česku která se zajímají právě o operační systém Android.

Reference

  1. a b Industry Leaders Announce Open Platform for Mobile Devices [online]. Open Handset Alliance, 2007-11-05 [cit. 2011-05-02]. Dostupné online. 
  2. Google Buys Android for Its Mobile Arsenal [online]. Bussinesweek, 2005-08-17 [cit. 2011-05-02]. Dostupné online. 
  3. Google's Secret Patent Portfolio Predicts gPhone [online]. InformationWeek, 2007-09-19 [cit. 2011-05-02]. Dostupné online. 
  4. Android zvýšil podíl na trhu chytrých telefonů na 80 procent [online]. Finanční noviny, 2013 [cit. 2013-08-08]. Dostupné online. 
  5. Fine Oils: Ice Cream Sandwich Runs on Linux Kernel 3.0.1 [online]. [cit. 2016-01-14]. Dostupné online. 
  6. Android 4.2 Jelly Bean lands on Nexus 7 [online]. Know Your Mobile [cit. 2016-01-14]. Dostupné online. 
  7. FOX, By Jon. Google Releases Nexus 4, Nexus 10 and Android 4.2 [online]. IGN [cit. 2016-01-14]. Dostupné online. 
  8. OpenGL ES [online]. developer.android.com. Dostupné online. 
  9. Android dostane rýchlejší runtime už v najbližšej verzii
  10. DSL.sk - Google ukázal nový Android L, je dvakrát výkonnejší, má dlhšiu výdrž a vyzerá inak [online]. DSL.sk [cit. 2016-01-14]. Dostupné online. 
  11. ART and Dalvik | Android Open Source Project [online]. source.android.com [cit. 2016-01-14]. Dostupné online. 
  12. DSL.sk - Android L zlepšuje výdrž smartfónu o 36% [online]. DSL.sk [cit. 2016-01-14]. Dostupné online. 
  13. http://techxplore.com/news/2016-01-linux-kernel-vulnerability-keyring.html - Linux kernel vulnerability traced to keyring implementation
  14. Nový Android umožní povoliť aplikáciám len niektoré oprávnenia. Http://www.dsl.sk. Dsl.sk [online]. 2015-05-10 [cit. 2015-05-11]. Dostupné online. (slovensky) 
  15. DSL.sk - Android 6.0 vydrží 2x dlhšie, užívateľ môže aplikáciám zakazovať práva [online]. DSL.sk [cit. 2016-01-14]. Dostupné online. 
  16. What is Android? [online]. Android developers, 2011-04-01 [cit. 2011-05-02]. Dostupné online. 
  17. DUCROHET, Xavier. Android 1.5 is here! [online]. 27 April 2009 [cit. 2009-09-03]. (Android Developers Blog). Dostupné online. 
  18. DUCROHET, Xavier. Android 1.6 SDK is here [online]. 15 September 2009 [cit. 2009-10-01]. (Android Developers Blog). Dostupné online. 
  19. Android 2.1 / Eclair on Google Nexus One [online]. [cit. 2010-01-05]. (Android Developers). Dostupné online.  (Eclair)
  20. Android 2.0, Release 1 [online]. [cit. 2009-10-27]. (Android Developers). Dostupné online. 
  21. Android 2.0 Platform Highlights [online]. [cit. 2009-10-27]. (Android Developers). Dostupné online. 
  22. Android 2.0.1, Release 1 [online]. [cit. 2010-01-17]. (Android Developers). Dostupné online. 
  23. Android 2.1, Release 1 [online]. [cit. 2010-01-17]. (Android Developers). Dostupné online. 
  24. SWETLAND, Brian. Some clarification on "the Android Kernel" [online]. 7 February 2010 [cit. 2010-02-21]. (Lwn.net). Dostupné online. 
  25. Gingerbread to Be Android 2.3, Statue Arrives at Google Campus - Softpedia [online]. News.softpedia.com, 2010-10-23 [cit. 2010-10-29]. Dostupné online. 
  26. When will other Google products support WebM and VP8? [online]. [cit. 2010-05-20]. (The WebM Project). Dostupné online. 
  27. Issue 3190: Improve copy-paste in Browser/WebView [online]. [cit. 2010-05-20]. (Google Code). Dostupné online. 
  28. RUBIN, Andy. A Sneak Peek of Android 3.0, Honeycomb [online]. Google, 5 January 2011 [cit. 2011-01-05]. Dostupné online. 
  29. MIKUDÍK, Radek. Nejnovější Android Ice Cream Sandwich přináší spousty vylepšení [online]. mobil.idnes.cz [cit. 2012-10-08]. Dostupné online. 
  30. PAVLÍČEK, Michal. Nový Android 4.1 Jelly Bean představen: shrnutí novinek [online]. mobilnet.cz [cit. 2012-10-08]. Dostupné online. 
  31. VELAZCO, Chris. Google Announces 1B Total Android Activations, Names Next Version ‘KitKat’ [online]. techcrunch.com [cit. 2013-09-03]. Dostupné online. 
  32. - Google odstranil z nového Androidu nástroj pro ochranu soukromí. Ve staré verzi byl jen "náhodou"
  33. Android 5.0 Lollipop, Nexus 6 & Nexus 9 Announced
  34. Nový Android 5.0 sa volá lízanka, má byť výrazne lepší
  35. http://www.dsl.sk/article.php?article=16739 Google upustil od štandardného šifrovania v Androide 5.0, kvôli výkonu
  36. Android 5.1 přináší kill switch a podporu dual SIM
  37. http://officialandroid.blogspot.cz/2015/03/android-51-unwrapping-new-lollipop.html Android 5.1: Unwrapping a new Lollipop update
  38. TUNG, Liam. Google fixes Android 5.1 memory leak - but when will users receive it?. Www.zdnet.com. ZDNet.com [online]. [cit. 2015-05-06]. Dostupné online. (anglicky) 
  39. SOUČEK, Jiří. Google ohlásil podporu API Vulkan v Androidu, PowerVR jej předvádí na Rogue GPU. DiiT.cz [online]. [cit. 2015-08-11]. Dostupné online. (český) 
  40. WOODS, Shannon. Low-overhead rendering with Vulkan [online]. [cit. 2015-08-11]. Dostupné online. (anglický) 
  41. Installing the SDK [online]. Android developers, 2010 [cit. 2011-05-05]. Dostupné online. 
  42. Application Fundamentals [online]. Android developers, 2011-04-02 [cit. 2011-05-05]. Dostupné online. 
  43. Indroducing the Android Market website [online]. [cit. 2011-02-05]. Dostupné online. 
  44. Canalys: iPhone outsold all Windows Mobile phones in Q2 2009. AppleInsider. 2009-08-21. Dostupné online [cit. 2009-09-21]. 
  45. comScore Reports May 2010 U.S. Mobile Subscriber Market Share - comScore, Inc [online]. Comscore.com, 2010-07-08 [cit. 2010-10-29]. Dostupné online. 
  46. Google activates 500,000 Android devices a day, may reach 1 million in October. Yahoo News. 2011-06-28. Dostupné online [cit. 2011-07-18]. 
  47. Canalys: Android has almost half of global smartphone market, Microsoft has one percent. Linux for devices. 2011-08-01. Dostupné online. 
  48. Is Android About to Get Crushed?. Gizmodo. 3 srpna 2011. Dostupné online. 
  49. 99% of Android phones leak secret account credentials. The Register. 16 května 2011. Dostupné online. 
  50. Android: Vysoká bezpečnostní rizika odrazují firmy. ICT manažer. 17 října 2011. Dostupné online. 
  51. Say Sayonara to Google Apps
  52. Microsoft-Samsung Patent Deal: Great News for Windows Phones | TechHive
  53. GARGENTA, Marko. Learning Android : Building Applications for the Android Market. [s.l.]: O'Reilly Media, 2011. ISBN 978-1-4493-9050-1. S. 268. (angličtina) 
  54. http://androidforum.cz/

Související články

Externí odkazy