Funkcje sprzętowe w programowaniu mobilnym: czym są, rodzaje i jak z nich korzystać

Autor: IT Sectr Opublikowano: 2026-03-18 Czas czytania: 10 min

Nowoczesny smartfon to nie tylko urządzenie obliczeniowe, ale zestaw potężnych czujników. Aparat, akcelerometr, żyroskop, NFC, skaner twarzy — wszystko to jest dostępne dla programistów przez API platformy. Funkcje sprzętowe pozwalają tworzyć aplikacje, które wchodzą w interakcję z fizycznym światem: od trackerów fitness po gry rzeczywistości rozszerzonej. W tym artykule omówimy wszystkie główne czujniki i API dla iOS i Android. Więcej szczegółów znajdziesz w oficjalnej dokumentacji czujników Android.

Najważniejsze informacje

  • Akcelerometr, żyroskop i magnetometr — podstawowe czujniki ruchu i orientacji
  • CameraX (Android) i AVFoundation (iOS) — standardowe API do pracy z aparatem
  • Face ID i Touch ID — uwierzytelnianie biometryczne w iOS; BiometricPrompt — w Android
  • NFC — do bezstykowego przesyłania danych i płatności
  • HealthKit (iOS) i Google Fit (Android) — agregacja danych o zdrowiu i aktywności
  • ARKit i ARCore — frameworki rzeczywistości rozszerzonej; ML Kit i Core ML — uczenie maszynowe na urządzeniu

Główne czujniki smartfona

Funkcje sprzętowe smartfona obejmują dziesiątki czujników, które zbierają dane o środowisku i położeniu urządzenia. Dane te są dostępne przez Sensors API (Android) i Core Motion (iOS). Czujniki dzielą się na trzy kategorie: czujniki ruchu (akcelerometr, żyroskop), czujniki położenia (magnetometr) i czujniki środowiska (barometr, światło, temperatura).

Akcelerometr

Akcelerometr mierzy przyspieszenie urządzenia wzdłuż trzech osi (x, y, z) w m/s². Używany jest do: wykrywania orientacji ekranu (automatyczne obracanie), liczenia kroków (nawigacja piesza), rozpoznawania gestów (potrząśnięcie, aby cofnąć), gier sterowanych przechyleniem. Android Sensor.TYPE_ACCELEROMETER i Core Motion CMMotionManager (iOS) dostarczają surowe dane z częstotliwością do 200 Hz.

Żyroskop

Żyroskop mierzy prędkość kątową obrotu urządzenia wzdłuż trzech osi (rad/s). W przeciwieństwie do akcelerometru, żyroskop nie jest wrażliwy na grawitację, co czyni go idealnym do śledzenia obrotów. Zastosowania: stabilizacja wideo, aplikacje VR/AR, nawigacja wewnątrz pomieszczeń, kontrolery gier. Sensor.TYPE_GYROSCOPE (Android) i CMMotionManager (iOS) to główne API.

Magnetometr

Magnetometr mierzy pole magnetyczne Ziemi wzdłuż trzech osi (µT) i działa jak elektroniczny kompas. Używany jest w aplikacjach nawigacyjnych do określania kierunku na północ. Magnetometr jest wrażliwy na zakłócenia od metalowych przedmiotów i głośników; wymaga kalibracji (charakterystyczny ruch ósemką). Sensor.TYPE_MAGNETIC_FIELD — API Android.

Barometr mierzy ciśnienie atmosferyczne (hPa) i służy do określania wysokości nad poziomem morza z dokładnością do 1 metra. Czujnik zbliżeniowy wyłącza ekran podczas przykładania telefonu do ucha podczas rozmowy. Czujnik światła otoczenia reguluje jasność ekranu. Wszystkie te czujniki są dostępne przez ujednolicony SensorManager (Android) lub CMMotionManager (iOS) dla większości czujników ruchu.

Aparat i mikrofon

Aparat to jeden z najbardziej poszukiwanych komponentów sprzętowych. W Android dostęp przez CameraX (nowoczesne API Jetpack) lub Camera2 (niskopoziomowe API). CameraX automatycznie zarządza cyklem życia, obsługuje Preview, ImageCapture, ImageAnalysis (analiza klatek ML) i VideoCapture. W iOS aparat jest dostępny przez AVFoundation: AVCaptureSession zarządza przechwytywaniem, AVCaptureDevice konfiguruje parametry (ostrość, ISO, balans bieli).

Mikrofon jest używany do nagrywania dźwięku, sterowania głosowego i rozpoznawania mowy. W Android — MediaRecorder lub AudioRecord; w iOS — AVAudioRecorder. Dostęp do aparatu i mikrofonu wymaga zgody użytkownika: Manifest.permission.CAMERA i RECORD_AUDIO (Android), NSCameraUsageDescription i NSMicrophoneUsageDescription (iOS) — ciągi w Info.plist opisujące powód użycia.

W IT Sectr zrealizowaliśmy ponad 20 projektów z niestandardowymi kamerami: od skanerów kodów QR po aplikacje z filtrami AR. Kluczowy wniosek: w Android CameraX oszczędza tygodnie rozwoju w porównaniu z Camera2, podczas gdy w iOS AVFoundation daje pełną kontrolę nad parametrami fotografowania. Przykład podstawowego przechwytywania obrazu przez 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()))
    }
}

Biometria i NFC

Face ID, Touch ID, Skaner linii papilarnych

Funkcje sprzętowe biometrii umożliwiają użytkownikowi logowanie się do aplikacji za pomocą odcisku palca lub twarzy. iOS używa Face ID (aparat TrueDepth, 30 000 niewidocznych punktów) i Touch ID (pojemnościowy skaner odcisków palców). Android używa BiometricPrompt, który łączy skaner odcisków palców (pojemnościowy lub ultradźwiękowy) i Face Unlock (aparat + ML). Face ID jest bezpieczniejsze niż Touch ID: prawdopodobieństwo dopasowania 1:1 000 000 vs 1:50 000.

NFC i Bluetooth/BLE

NFC (Near Field Communication) to technologia komunikacji bezprzewodowej o zasięgu do 10 cm. Używana jest do: płatności bezstykowych (Google Pay, Apple Pay), odczytu tagów NFC (inteligentne plakaty, wizytówki), weryfikacji (dokumenty, bilety), przesyłania danych (Android Beam — przestarzałe). Core NFC (iOS) i NfcAdapter (Android) to główne API. W iOS NFC jest dostępne tylko do odczytu (z wyjątkiem płatności Apple Pay).

Bluetooth/BLE (Bluetooth Low Energy) — do podłączania urządzeń zewnętrznych: słuchawek, opasek fitness, czujników medycznych, inteligentnych zamków. Core Bluetooth (iOS) i android.bluetooth (Android) — API do skanowania, łączenia i wymiany danych. BLE jest energooszczędny: urządzenie może działać na baterii latami. W iOS do pracy BLE w tle wymagane jest włączenie Background Modes → Uses Bluetooth LE accessories.

Zdrowie i fitness (HealthKit, Google Fit)

Funkcje sprzętowe zdrowia: HealthKit (iOS) — framework Apple do agregacji danych o zdrowiu. Użytkownik udziela zgody na odczyt i zapis określonych typów danych: kroki, tętno, sen, kalorie, waga, ciśnienie krwi. Wszystkie dane są przechowywane w chronionym repozytorium i synchronizowane przez iCloud. HealthKit zapewnia ujednolicony interfejs do zapisu HKQuantitySample i odczytu przez HKSampleQuery lub HKStatisticsQuery.

Google Fit — platforma Google do danych fitness w Android. API dzieli się na dwa zestawy: Sensors API (rzeczywiste dane z czujników urządzenia — kroki, kalorie) i History API (odczyt/zapis danych historycznych). Google Fit agreguje również dane z innych aplikacji fitness (Strava, Runkeeper) przez autoryzację. W iOS Google Fit jest dostępny przez REST API.

Core Motion (iOS) — framework do pracy z czujnikami ruchu bez dedykowanego chipa: akcelerometr, żyroskop, krokomierz (CMPedometer), wysokościomierz (CMAltimeter). CMPedometer liczy kroki, przebytą odległość, tempo i liczbę wzniesionych pięter. W Android podobne możliwości zapewniają Sensor.TYPE_STEP_COUNTER i Step Detector. Wszystkie dane fitness wymagają wyraźnej zgody użytkownika.

AR i ML (ARKit, ARCore, ML Kit)

Rzeczywistość rozszerzona (AR) i uczenie maszynowe na urządzeniu to szczyt możliwości sprzętowych smartfona. ARKit (Apple, iOS 11+) używa aparatu, żyroskopu, akcelerometru i LiDAR (w modelach Pro) do śledzenia otaczającej przestrzeni. ARCore (Google) to odpowiednik dla Android ze śledzeniem płaszczyzn, rozpoznawaniem obrazów i estymacją oświetlenia. Oba frameworki używają Visual Inertial Odometry (VIO) — kombinacji aparatu i czujników bezwładnościowych.

ML Kit (Google) — SDK do uczenia maszynowego w Android i iOS. Zawiera gotowe API: rozpoznawanie tekstu (OCR), skanowanie kodów kreskowych, rozpoznawanie twarzy, wykrywanie pozy, śledzenie obiektów, rozpoznawanie tekstu na obrazach i przetwarzanie języka naturalnego. ML Kit działa w całości na urządzeniu — dane nie są wysyłane na serwer, co zapewnia prywatność i działanie offline.

Core ML (Apple) — framework do integracji modeli ML w aplikacjach iOS. Modele (mlmodel) są konwertowane z TensorFlow, PyTorch lub Keras przez Core ML Tools. Vision — framework do widzenia komputerowego: wykrywanie twarzy, tekstu, kodów kreskowych, wyrównanie poziome. Połączenie Vision i Core ML pozwala budować potoki ML w czasie rzeczywistym: przechwytywanie klatki → analiza Vision → przewidywanie Core ML → aktualizacja UI — wszystko na urządzeniu z opóźnieniem poniżej 50 ms.

Często zadawane pytania

Jakie czujniki ma nowoczesny smartfon?

Nowoczesny smartfon zawiera akcelerometr, żyroskop, magnetometr (kompas), barometr, czujnik zbliżeniowy, czujnik światła otoczenia, skaner linii papilarnych, aparat, mikrofon, NFC, Bluetooth, Wi-Fi, GPS. Modele flagowe mają również LiDAR, monitor tętna i czujnik temperatury.

Czym różni się Face ID od Touch ID?

Face ID to biometryczne uwierzytelnianie twarzy za pomocą aparatu TrueDepth (projekcja 30 000 punktów). Touch ID to uwierzytelnianie odciskiem palca przez skaner pojemnościowy. Face ID jest bezpieczniejsze (1 na 1 000 000 vs 1 na 50 000) i działa bez kontaktu.

Jak uzyskać dostęp do aparatu w Android?

Nowoczesnym sposobem jest CameraX (biblioteka Jetpack). CameraX upraszcza pracę z aparatem: automatycznie zarządza cyklem życia, obsługuje Preview, ImageCapture, ImageAnalysis i VideoCapture. Dla starszych projektów używane jest API Camera2.

Co można zrobić z NFC w aplikacji mobilnej?

NFC umożliwia: odczyt i zapis tagów NFC (inteligentne plakaty, wizytówki), płatności bezstykowe (Google Pay, Apple Pay), przesyłanie danych między urządzeniami, weryfikację dokumentów, otwieranie drzwi, korzystanie z kart transportowych. W iOS NFC jest dostępne tylko do odczytu (z wyjątkiem Apple Pay).

Jaka jest różnica między ARKit i ARCore?

ARKit to framework Apple do rzeczywistości rozszerzonej w iOS. ARCore to odpowiednik Google dla Android. Oba obsługują śledzenie płaszczyzn, rozpoznawanie obrazów i estymację oświetlenia. ARKit używa LiDAR (w iPad Pro/iPhone Pro) do dokładniejszego pozycjonowania.

Podsumowanie

  • Akcelerometr, żyroskop i magnetometr — trzy główne czujniki ruchu; dostępne przez SensorManager (Android) i Core Motion (iOS)
  • CameraX (Android) i AVFoundation (iOS) — API aparatu; uprawnienia są obowiązkowe
  • Uwierzytelnianie biometryczne — BiometricPrompt (Android) i Face ID / Touch ID (iOS); bezpieczniejsze niż hasła
  • NFC — do odczytu tagów i płatności; BLE — do podłączania urządzeń zewnętrznych
  • HealthKit i Google Fit — przechowywanie i synchronizacja danych o zdrowiu i aktywności
  • ARKit i ARCore — rzeczywistość rozszerzona; ML Kit i Core ML — uczenie maszynowe na urządzeniu
  • Wszystkie funkcje sprzętowe wymagają wyraźnej zgody użytkownika i prawidłowego zarządzania cyklem życia

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt