Hardwarové funkce v mobilním vývoji: co to je, typy a jak je používat

Autor: IT Sectr Publikováno: 2026-03-18 Doba čtení: 10 min

Moderní smartphone není jen výpočetní zařízení, ale sada výkonných senzorů. Kamera, akcelerometr, gyroskop, NFC, skener obličeje — to vše je pro vývojáře dostupné prostřednictvím platformních API. Hardwarové funkce umožňují vytvářet aplikace, které interagují s fyzickým světem: od fitness trackerů po hry s rozšířenou realitou. V tomto článku probereme všechny hlavní senzory a API pro iOS a Android. Další podrobnosti naleznete v oficiální dokumentaci senzorů Android.

Klíčové body

  • Akcelerometr, gyroskop a magnetometr — základní senzory pohybu a orientace
  • CameraX (Android) a AVFoundation (iOS) — standardní API pro kameru
  • Face ID a Touch ID — biometrická autentizace na iOS; BiometricPrompt — na Androidu
  • NFC — pro bezkontaktní přenos dat a platby
  • HealthKit (iOS) a Google Fit (Android) — agregace dat o zdraví a aktivitě
  • ARKit a ARCore — frameworky pro rozšířenou realitu; ML Kit a Core ML — strojové učení na zařízení

Hlavní senzory smartphonu

Hardwarové funkce smartphonu zahrnují desítky senzorů, které shromažďují data o prostředí a poloze zařízení. Tato data jsou k dispozici prostřednictvím Sensors API (Android) a Core Motion (iOS). Senzory se dělí do tří kategorií: senzory pohybu (akcelerometr, gyroskop), senzory polohy (magnetometr) a senzory prostředí (barometr, světlo, teplota).

Akcelerometr

Akcelerometr měří zrychlení zařízení podél tří os (x, y, z) v m/s². Používá se pro: detekci orientace obrazovky (automatické otáčení), počítání kroků (pěší navigace), rozpoznávání gest (třesení pro vrácení zpět), hry s ovládáním náklonem. Android Sensor.TYPE_ACCELEROMETER a Core Motion CMMotionManager (iOS) poskytují surová data s frekvencí až 200 Hz.

Gyroskop

Gyroskop měří úhlovou rychlost otáčení zařízení podél tří os (rad/s). Na rozdíl od akcelerometru není gyroskop ovlivněn gravitací, což jej činí ideálním pro sledování otáčení. Aplikace: stabilizace videa, VR/AR aplikace, vnitřní navigace, herní ovladače. Sensor.TYPE_GYROSCOPE (Android) a CMMotionManager (iOS) jsou hlavní API.

Magnetometr

Magnetometr měří magnetické pole Země podél tří os (µT) a funguje jako elektronický kompas. Používá se v navigačních aplikacích k určení směru k severu. Magnetometr je citlivý na rušení od kovových předmětů a reproduktorů; je nutná kalibrace (charakteristický pohyb ve tvaru osmičky). Sensor.TYPE_MAGNETIC_FIELD — Android API.

Barometr měří atmosférický tlak (hPa) a používá se k určení nadmořské výšky s přesností až 1 metr. Senzor přiblížení vypíná obrazovku při přiložení telefonu k uchu během hovoru. Senzor okolního světla upravuje jas obrazovky. Všechny tyto senzory jsou přístupné prostřednictvím jednotného SensorManager (Android) nebo CMMotionManager (iOS) pro většinu pohybových senzorů.

Kamera a mikrofon

Kamera je jednou z nejžádanějších hardwarových součástí. Na Androidu je přístup přes CameraX (moderní Jetpack API) nebo Camera2 (nízkoúrovňové API). CameraX automaticky spravuje životní cyklus, podporuje Preview, ImageCapture, ImageAnalysis (analýza snímků ML) a VideoCapture. Na iOS je kamera k dispozici prostřednictvím AVFoundation: AVCaptureSession spravuje snímání, AVCaptureDevice konfiguruje parametry (ostření, ISO, vyvážení bílé).

Mikrofon se používá pro záznam zvuku, hlasové ovládání a rozpoznávání řeči. Na Androidu — MediaRecorder nebo AudioRecord; na iOS — AVAudioRecorder. Přístup ke kameře a mikrofonu vyžaduje oprávnění uživatele: Manifest.permission.CAMERA a RECORD_AUDIO (Android), NSCameraUsageDescription a NSMicrophoneUsageDescription (iOS) — řetězce v Info.plist popisující důvod použití.

Ve společnosti IT Sectr jsme realizovali více než 20 projektů s vlastními kamerami: od skenerů QR kódů po aplikace s AR filtry. Klíčový závěr: na Androidu CameraX šetří týdny vývoje ve srovnání s Camera2, zatímco na iOS poskytuje AVFoundation plnou kontrolu nad parametry snímání. Příklad základního snímání obrazu přes CameraX:

kotlin
class CameraFragment : Fragment() {
    private lateinit var imageCapture: ImageCapture

    fun startCamera() {
        val processCameraProvider =
            ProcessCameraProvider.getInstance(requireContext())

        processCameraProvider.addListener({
            val cameraProvider = processCameraProvider.get()
            val preview = Preview.Builder()
                .build()
                .also {
                    it.setSurfaceProvider(viewFinder.surfaceProvider)
                }

            imageCapture = ImageCapture.Builder()
                .setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
                .build()

            val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA

            cameraProvider.bindToLifecycle(
                this, cameraSelector, preview, imageCapture
            )
        }, ContextCompat.getMainExecutor(requireContext()))
    }
}

Biometrie a NFC

Face ID, Touch ID, Snímač otisků prstů

Biometrické hardwarové funkce umožňují uživatelům přihlásit se do aplikace pomocí otisku prstu nebo obličeje. iOS používá Face ID (kamera TrueDepth, 30 000 neviditelných bodů) a Touch ID (kapacitní snímač otisků prstů). Android používá BiometricPrompt, který kombinuje snímač otisků prstů (kapacitní nebo ultrazvukový) a Face Unlock (kamera + ML). Face ID je bezpečnější než Touch ID: pravděpodobnost shody 1:1 000 000 oproti 1:50 000.

NFC a Bluetooth/BLE

NFC (Near Field Communication) je bezdrátová komunikační technologie s dosahem až 10 cm. Používá se pro: bezkontaktní platby (Google Pay, Apple Pay), čtení NFC tagů (chytré plakáty, vizitky), ověřování (dokumenty, vstupenky), přenos dat (Android Beam — zastaralé). Core NFC (iOS) a NfcAdapter (Android) jsou hlavní API. Na iOS je NFC k dispozici pouze pro čtení (kromě plateb Apple Pay).

Bluetooth/BLE (Bluetooth Low Energy) — pro připojení externích zařízení: sluchátek, fitness náramků, lékařských senzorů, chytrých zámků. Core Bluetooth (iOS) a android.bluetooth (Android) — API pro skenování, připojení a výměnu dat. BLE je energeticky účinný: zařízení může fungovat na baterii po celá léta. Na iOS vyžaduje běh BLE na pozadí povolení Background Modes → Uses Bluetooth LE accessories.

Zdraví a fitness (HealthKit, Google Fit)

Hardwarové funkce zdraví: HealthKit (iOS) — framework Apple pro agregaci zdravotních dat. Uživatel uděluje oprávnění ke čtení a zápisu konkrétních typů dat: kroky, srdeční tep, spánek, kalorie, váha, krevní tlak. Všechna data jsou uložena v chráněném úložišti a synchronizována přes iCloud. HealthKit poskytuje jednotné rozhraní pro zápis HKQuantitySample a čtení prostřednictvím HKSampleQuery nebo HKStatisticsQuery.

Google Fit — platforma Google pro fitness data na Androidu. API je rozděleno do dvou sad: Sensors API (reálná data ze senzorů zařízení — kroky, kalorie) a History API (čtení/zápis historických dat). Google Fit také agreguje data z jiných fitness aplikací (Strava, Runkeeper) prostřednictvím autorizace. Na iOS je Google Fit k dispozici přes REST API.

Core Motion (iOS) — framework pro práci s pohybovými senzory bez vyhrazeného čipu: akcelerometr, gyroskop, krokoměr (CMPedometer), výškoměr (CMAltimeter). CMPedometer počítá kroky, ušlou vzdálenost, tempo a počet vystoupaných pater. Na Androidu podobné schopnosti poskytují Sensor.TYPE_STEP_COUNTER a Step Detector. Všechna fitness data vyžadují výslovný souhlas uživatele.

AR a ML (ARKit, ARCore, ML Kit)

Rozšířená realita (AR) a strojové učení na zařízení představují vrchol hardwarových schopností smartphonu. ARKit (Apple, iOS 11+) používá kameru, gyroskop, akcelerometr a LiDAR (na modelech Pro) ke sledování okolního prostoru. ARCore (Google) je ekvivalent pro Android se sledováním rovin, rozpoznáváním obrazu a odhadem osvětlení. Oba frameworky používají Visual Inertial Odometry (VIO) — kombinaci kamery a inerciálních senzorů.

ML Kit (Google) — SDK pro strojové učení na Androidu a iOS. Zahrnuje hotová API: rozpoznávání textu (OCR), skenování čárových kódů, rozpoznávání obličeje, detekci pózy, sledování objektů, rozpoznávání textu v obrázcích a zpracování přirozeného jazyka. ML Kit funguje zcela na zařízení — data nejsou odesílána na server, což zajišťuje soukromí a offline funkčnost.

Core ML (Apple) — framework pro integraci ML modelů do iOS aplikací. Modely (mlmodel) se převádějí z TensorFlow, PyTorch nebo Keras pomocí Core ML Tools. Vision — framework pro počítačové vidění: detekce obličeje, text, čárové kódy, horizontální zarovnání. Kombinace Vision a Core ML umožňuje vytvářet real-time ML pipeline: zachycení snímku → analýza Vision → predikce Core ML → aktualizace UI — vše na zařízení s latencí pod 50 ms.

Často kladené otázky

Jaké senzory má moderní smartphone?

Moderní smartphone obsahuje akcelerometr, gyroskop, magnetometr (kompas), barometr, senzor přiblížení, senzor okolního světla, snímač otisků prstů, kameru, mikrofon, NFC, Bluetooth, Wi-Fi, GPS. Vlajkové modely mají také LiDAR, monitor srdečního tepu a teplotní senzor.

Jaký je rozdíl mezi Face ID a Touch ID?

Face ID je biometrická autentizace obličeje pomocí kamery TrueDepth (projekce 30 000 bodů). Touch ID je autentizace otiskem prstu přes kapacitní snímač. Face ID je bezpečnější (1 ku 1 000 000 oproti 1 ku 50 000) a funguje bez kontaktu.

Jak získat přístup ke kameře na Androidu?

Moderním přístupem je CameraX (knihovna Jetpack). CameraX zjednodušuje práci s kamerou: automaticky spravuje životní cyklus, podporuje Preview, ImageCapture, ImageAnalysis a VideoCapture. Pro starší projekty se používá Camera2 API.

Co lze dělat s NFC v mobilní aplikaci?

NFC umožňuje: čtení a zápis NFC tagů (chytré plakáty, vizitky), bezkontaktní platby (Google Pay, Apple Pay), přenos dat mezi zařízeními, ověřování dokumentů, otevírání dveří, používání dopravních karet. Na iOS je NFC k dispozici pouze pro čtení (kromě Apple Pay).

Jaký je rozdíl mezi ARKit a ARCore?

ARKit je framework Apple pro rozšířenou realitu na iOS. ARCore je ekvivalent od Google pro Android. Oba podporují sledování rovin, rozpoznávání obrazu a odhad osvětlení. ARKit používá LiDAR (na iPad Pro/iPhone Pro) pro přesnější určování polohy.

Shrnutí

  • Akcelerometr, gyroskop a magnetometr — tři hlavní pohybové senzory; k dispozici přes SensorManager (Android) a Core Motion (iOS)
  • CameraX (Android) a AVFoundation (iOS) — API pro kameru; oprávnění jsou povinná
  • Biometrická autentizace — BiometricPrompt (Android) a Face ID / Touch ID (iOS); bezpečnější než hesla
  • NFC — pro čtení tagů a platby; BLE — pro připojení externích zařízení
  • HealthKit a Google Fit — ukládání a synchronizace dat o zdraví a aktivitě
  • ARKit a ARCore — rozšířená realita; ML Kit a Core ML — strojové učení na zařízení
  • Všechny hardwarové funkce vyžadují výslovný souhlas uživatele a správnou správu životního cyklu

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt