Programování v aplikaci C pro Android

Psaní komponent aplikací v jazyce C může poskytnout vývojářům kontrolu nad optimalizací kódu.

Android SDK

Společnost Google poskytuje standardní sadu nástrojů, které umožňují programátorům vytvářet aplikace pro platformu Android ve formě svého vývojového týmu nebo SDK. To zahrnuje simulátor systému Android pro zkušební projekty a nástroje pro balení, které vytvoří soubor, ze kterého bude systém Android spouštět ze zdrojového kódu projektu. Knihovna SDK obsahuje také knihovny, které umožňují aplikacím napsaným v jazyce Java komunikovat s pokročilými funkcemi operačního systému Android.

Android NDK

Vývojáři, kteří chtějí vytvářet aplikace nebo komponenty aplikací v programovacím jazyce C, mohou stáhnout vlastní vývojový tým od společnosti Google nebo NDK. Toto je sbírka knihoven podobná knihovnám obsaženým v sadě SDK. Jsou však v programovacím jazyce C namísto Java. Vývojáři mohou tyto knihovny rozvíjet pro Android v jazyce C stejným způsobem, jakým knihovny SDK umožňují vývoj Java.

Použití NDK

NDK nefunguje jako nezávislý vývojový tým. Místo toho je to rozšíření SDK. Vývojáři musí instalovat sadu SDK jako platformu pro stahování, použití a aktualizaci dalších vývojových komponent. Mezi ně patří NDK. Vývojáři stále používají nástroje SDK k vytvoření balíčků ".apk", které Android spouští jako aplikace, simulátor SDK pro testování aplikací a nástrojů sady SDK k přenosu balíčků .apk na skutečné zařízení Android.

C nebo Java

Jazyk jazyka Java pracuje na základě kompilace zdrojového kódu v mezilehlé formě nazvané bytecode, jejíž JVM jsou přeloženy do kódu počítače, který zařízení skutečně běží. V tomto procesu JVM automaticky optimalizuje kód stroje, který vyrábí. Tím ušetříte čas programátoru, abyste se pokusili optimalizovat kód. Ovšem programátoři pracující v jazyce C přímo řídí, jak vypadá kompilovaný kód stroje. To umožňuje vývojářům aplikací, kteří chtějí tuto detailní úroveň kontroly nad svým kódem vykonávat. Navíc umožňuje vývojářům, kteří napsali velké množství kódů pro projekt C, aby je rychle odeslali do systému Android.