Shrnutí
RealWear Navigator 520 nevyžaduje při vývoji aplikací pro základní hlasovou interakci samostatné SDK pro rozpoznávání řeči. WearHF je součástí softwaru zařízení. Dokáže prozkoumat obrazovku Androidu, identifikovat podporované interaktivní prvky (views) a zpřístupnit pro ně hlasové příkazy. Standardní tlačítko Androidu s popiskem CONTINUE proto lze aktivovat vyslovením „CONTINUE“, aniž byste museli importovat knihovnu RealWear.
Začněte se standardní aplikací pro Android a otestujte ji na cílovém firmwaru Navigatoru. WearHF dokáže rozpoznat podporované ovládací prvky na obrazovce bez kódu pro rozpoznávání řeči na straně aplikace. Pokud ovládací prvek potřebuje alternativní fráze nebo speciální chování, přidejte do android:contentDescription direktivu pro daný prvek. OVERRIDE_COMMANDS použijte pouze tehdy, když aplikace musí převzít kontrolu nad rozpoznávačem a zpracovávat příkazy sama. Tyto přístupy mají různé účinky, které popisujeme níže.
Důležité: „Bez SDK“ neznamená „bez kódu“. Rozhraní pro Android i obchodní logiku stále vytváříte sami. Aplikace nepotřebuje pro základní hlasové ovládání samostatné SDK RealWear pro rozpoznávání řeči, protože tuto schopnost na úrovni zařízení zajišťuje WearHF.
Klíčový princip: Pro základní hlasové ovládání WearHF neotevíráte, neinstalujete ani neimportujete žádné SDK WearHF. WearHF běží na pozadí jako součást operačního systému RealWear.
Co je RealWear Navigator 520?
Zařízení RealWear Navigator 520 je odolný monokulární počítač pro asistovanou realitu, určený pro práci v první linii, jako je údržba, inspekce a servis v terénu. Firmware 2.x pro Navigator 500/520 od společnosti RealWear vychází z Androidu 13 a údržbová verze Ari OS 2.0 ze 17. 9. 2026 (firmware 3.0, build 3.0.3-15 nabízený zařízením s buildem 2.2.3-33) převádí zařízení na Android 16. Plány vývoje firmwaru se mohou měnit, proto berte operační systém zařízení jako omezení pro nasazení: do matice vydání zaznamenejte otestovaný build firmwaru, úroveň Android API, hodnoty minSdk/targetSdk aplikace a model zařízení. Neodvozujte minSdk ani targetSdk pouze z verze Androidu v headsetu.
Pro vývojáře to znamená, že sestavujete a balíte běžnou aplikaci pro Android. WearHF běží v zařízení a může podporované ovládací prvky zpřístupnit hlasu; neimplementuje však váš pracovní postup, neautorizuje obchodní akce ani nenahrazuje validaci na straně aplikace.
Co je WearHF?
WearHF je vestavěná služba společnosti RealWear pro rozpoznávání řeči a ovládání bez použití rukou. Interpretuje podporované prvky Android View a direktivy obrazovky a poté podle zvolené integrace aktivuje prvek nebo odešle událost řeči. Základní interakce s prvky nevyžaduje žádnou samostatnou knihovnu RealWear pro rozpoznávání řeči. Vložené direktivy se načítají z android:contentDescription; programové příkazy využívají zdokumentované broadcast intenty Androidu. Nezaměňujte kliknutí na prvek s přepsáním rozpoznávače: přepsání převezme kontrolu nad rozpoznávačem a až do obnovení může potlačit vložené/skriptované příkazy.
Co potřebujete, než vytvoříte první aplikaci
· Navigator 520 s buildem firmwaru, který chcete podporovat; zaznamenejte si jeho přesný build a verzi Androidu.
· Počítač s Windows, macOS nebo Linuxem.
· Android Studio s Android SDK a Platform Tools (ADB). Použijte úroveň Android API, kterou vaše aplikace vyžaduje, a ověřte ji vůči firmwaru podporovanému společností RealWear.
· Datový kabel USB-C.
· Pro první aplikaci žádné SDK RealWear.
· Obchodní pracovní postup k otestování, například přechod na další krok inspekce nebo nahlášení problému se zařízením.
Jak vytvořit hlasově ovládanou aplikaci pro Android bez SDK RealWear
Krok 1: Vytvořte běžný projekt pro Android
Pro tento návod začněte projektem Android Views. V Android Studiu zvolte Empty Activity založenou na Views (nikoli šablonu pouze pro Compose) a poté vyberte Javu nebo Kotlin. Níže uvedené příklady používají Javu. Compose může s WearHF na podporovaném softwaru fungovat také, jeho sémantiku a strom přístupnosti je však třeba otestovat na cílovém buildu.
1. Otevřete Android Studio a vyberte New Project.
2. Zvolte Empty Activity založenou na Views. Pokud průvodce nabízí pole pro jazyk a minimální SDK, vyberte Javu a nastavte minSdk na nejnižší Android API, které vaše aplikace skutečně podporuje; nekopírujte hodnotu z tohoto příkladu, aniž byste ověřili své závislosti a flotilu zařízení.
3. Zadejte údaje o aplikaci. Nastavte název aplikace, název balíčku a umístění pro uložení a poté projekt vytvořte.
4. Počkejte, až se projekt otevře. Android Studio dokončí synchronizaci Gradle a otevře projekt.
Zatím nic nepřidávejte: Nehledáte šablonu projektu RealWear. Smyslem prvního sestavení je prokázat, že standardní aplikace pro Android dokáže na Navigatoru 520 běžet.
Krok 2: Přidejte jedno tlačítko Androidu a propojte ho s Javou
Nejprve vytvořte jedno tlačítko. Přidáte jeho rozvržení v Androidu, v Javě propojíte akci kliknutí a poté ho otestujete na zařízení.
1. V panelu Project v Android Studiu otevřete app > res > layout > activity_main.xml. Úplná cesta k souboru je app/src/main/res/layout/activity_main.xml.
2. V editoru rozvržení vyberte Code. Obsah souboru nahraďte kompletním XML uvedeným níže.
XML: Jedno tlačítko s příkazem WearHF
Vložte kompletní rozvržení do activity_main.xml a soubor uložte:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="24dp">
<Button android:id="@+id/continueButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="CONTINUE" android:contentDescription="hf_commands:CONTINUE" />
</LinearLayout>
Stručné vysvětlení: `LinearLayout` řadí svůj obsah svisle pod sebe. `android:text` je viditelný popisek tlačítka. `android:contentDescription` obsahuje direktivu WearHF; toto pole čtou i služby přístupnosti Androidu, proto otestujte, zda ovládací prvek zůstává pro vaše uživatele srozumitelný.
Dále v panelu Project otevřete app > java > váš balíček > MainActivity.java. Úplná cesta je app/src/main/java/<your.package.name>/MainActivity.java. Vygenerovanou třídu Activity a metodu `onCreate()` ponechte.
Pokud chybí, přidejte `import android.widget.Button;` k importům na začátku souboru MainActivity.java. Do existující metody `onCreate()` vložte tyto řádky hned za `setContentView(R.layout.activity_main);`:
Button continueButton = findViewById(R.id.continueButton); continueButton.setOnClickListener(v -> openNextStep());
Tuto metodu přidejte pod `onCreate()`, ale před poslední uzavírací složenou závorku třídy MainActivity:
private void openNextStep() { // Přejít na další krok inspekce nebo pracovního příkazu. }
Jak to upravit: změňte `android:text` na popisek, který odpovídá vašemu pracovnímu postupu. Změňte `hf_commands:CONTINUE` na frázi, kterou mají pracovníci vyslovit, například `hf_commands:Continue Work, Next Step`. XML ID `continueButton` se musí shodovat s `R.id.continueButton` v Javě; pokud ho přejmenujete, aktualizujte obojí. Komentář v `openNextStep()` nahraďte navigací nebo obchodní akcí, kterou vaše aplikace potřebuje. Základní hlasové ovládání nevyžaduje samostatné SDK WearHF ani oprávnění `RECORD_AUDIO`.
Krok 3: Připravte Navigator 520 na vývoj pro Android
Vývojový počítač potřebuje autorizaci ADB, aby mohl aplikaci nainstalovat a ladit. Použijte kabel USB-C s podporou přenosu dat; kabely určené pouze k nabíjení se jako zařízení ADB nezobrazí.
1. Otevřete Advanced Settings. Na domovské obrazovce Navigatoru řekněte MY SETTINGS, abyste se dostali na seznam nastavení Androidu.
2. Otevřete About Device. Řekněte ABOUT DEVICE a poté PAGE DOWN, dokud se nezobrazí Build Number.
3. Povolte Developer Options. Opakovaně, přibližně sedmkrát, řekněte BUILD NUMBER, dokud zařízení nepotvrdí, že je vývojářský režim zapnutý.
4. Otevřete Developer Options. Řekněte NAVIGATE BACK, poté SYSTEM a nakonec DEVELOPER OPTIONS.
5. Zapněte USB debugging. V nabídce Developer Options zapněte USB debugging.
6. Připojte kabel USB-C a na zařízení schvalte výzvu k ladění RSA. Připojení ověřte příkazem `adb devices`; zařízení by se mělo zobrazit jako `device`, nikoli `unauthorized`.
Pokud Android Studio headset nezobrazuje, spusťte `adb devices`. Pokud se zobrazí `unauthorized`, odemkněte headset a schvalte výzvu RSA. Pro opakovanou instalaci z kořenového adresáře projektu použijte `adb install -r app/build/outputs/apk/debug/app-debug.apk`; pokud se vaše varianta sestavení nebo název APK liší, cestu upravte. K prozkoumání pádů a protokolů aplikace použijte Logcat v Android Studiu nebo `adb logcat`.
Ladění přes USB je vývojové nastavení. Po laboratorním testování ho vypněte nebo ho spravujte v souladu se zásadami zabezpečení zařízení vaší organizace; na produkčních zařízeních ve flotile nenechávejte vývojářský přístup zapnutý.
Krok 4: Spusťte aplikaci na Navigatoru 520
1. V Android Studiu vyberte Navigator. V horním panelu nástrojů použijte výběr zařízení a zvolte připojené zařízení RealWear.
2. Klikněte na Run. Vyberte zelený trojúhelník Run nebo použijte Run > Run 'app'.
3. Počkejte na instalaci. Android Studio sestaví APK a nainstaluje ho do Navigatoru přes ADB.
4. Spusťte nainstalovanou aplikaci ze spouštěče aplikací v zařízení nebo ve vývojovém terminálu spusťte `adb shell monkey -p your.application.id 1`. Hodnotu `your.application.id` nahraďte hodnotou applicationId ze souboru sestavení Gradle modulu aplikace.
5. Ověřte, že je tlačítko CONTINUE viditelné a aktivní.
Krok 5: Otestujte WearHF bez přidání jakéhokoli SDK
WearHF už na Navigatoru 520 běží. Když je na obrazovce pouze tlačítko CONTINUE, otestujte nejprve tento ovládací prvek:
1. Řekněte CONTINUE a ověřte, že se běžný posluchač kliknutí aplikace spustí právě jednou.
2. Řekněte SHOW HELP a zkontrolujte, jaký příkaz WearHF pro tuto obrazovku zpřístupňuje. Ověřte, že se zobrazuje CONTINUE.
3. Zkontrolujte indikátory WearHF a otestujte číselný výběr, pokud je nabízen. Nespoléhejte na indikátor jako na jediný způsob, jak identifikovat akci kritickou z hlediska bezpečnosti.
Volitelné: Po testu tlačítka CONTINUE přidejte druhou akci
Jakmile první tlačítko funguje, můžete přidat REPORT ISSUE. V souboru activity_main.xml vložte toto tlačítko do LinearLayout, pod CONTINUE a před </LinearLayout>:
<Button android:id="@+id/reportIssueButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="REPORT ISSUE" />
V souboru MainActivity.java přidejte tento posluchač do metody onCreate(), za posluchač tlačítka CONTINUE:
Button reportIssueButton = findViewById(R.id.reportIssueButton); reportIssueButton.setOnClickListener(v -> openIssueReport());
Metodu openIssueReport() přidejte pod onCreate(), uvnitř třídy MainActivity. Komentář nahraďte pracovním postupem pro hlášení problémů ve vaší aplikaci:
private void openIssueReport() { // Otevřít formulář pro nahlášení problému se zařízením. }
Aplikaci znovu sestavte a nainstalujte a poté řekněte REPORT ISSUE. Ověřte, že se otevře postup pro nahlášení problému.
Závěr
Vývoj pro RealWear Navigator 520 bez specializovaného SDK dokazuje, že čistý, standardní kód pro Android je již připraven na hlasové ovládání – spoléhá přitom na vestavěnou službu WearHF, která z viditelných prvků a direktiv contentDescription vytváří intuitivní ovládání bez použití rukou. Technickým týmům tento přístup ušetří nadbytečné knihovny třetích stran i složité řečové enginy, přičemž hlavní obchodní logika zůstává ve standardní architektuře Androidu. Z obchodního hlediska tento přístup zkracuje dobu uvedení na trh a minimalizuje náklady na nasazení: podniky mohou přímo využít stávající aplikace pro Android a dovednosti interních vývojářů, vyhnout se závislosti na proprietárním SDK a hladce modernizovat pracovní postupy v první linii, aniž by narušily svůj softwarový stack.
Pro první podnikový prototyp vytvořte jednu obrazovku pro inspekci nebo údržbu, ověřte popisky prvků a popisy pro přístupnost a poté otestujte hlasovou aktivaci přesně na tom firmwaru Navigatoru 520, který používá pilotní flotila. Vložené direktivy přidávejte kvůli konkrétním potřebám uživatelského rozhraní a přepsání rozpoznávače jen tehdy, když pracovní postup vyžaduje plnou kontrolu nad příkazy.





















