RealWear Navigator 520 -kehitys ilman SDK:ta: näin WearHF toimii

RealWear Navigator 520 -kehitys ilman SDK:ta: näin WearHF toimii

Tiivistelmä

RealWear Navigator 520 -kehitys ei vaadi erillistä puhe-SDK:ta perustason puhevuorovaikutukseen. WearHF on osa laitteen ohjelmistoa. Se pystyy tarkastelemaan Android-näyttöä, tunnistamaan tuetut vuorovaikutteiset näkymät ja tarjoamaan niille puhekomennot. Tavallisen Android-painikkeen, jonka nimikkeenä on CONTINUE, voi siis aktivoida sanomalla ”CONTINUE” tuomatta sovellukseen RealWear-kirjastoa.

Aloita tavallisella Android-sovelluksella ja testaa sitä kohteena olevalla Navigator-laiteohjelmistolla. WearHF tunnistaa tuetut näytön ohjaimet ilman sovelluspuolen puhekoodia. Lisää näkymädirektiivi android:contentDescription-määritteeseen, kun ohjain tarvitsee vaihtoehtoisia fraaseja tai erityistä toimintaa. Käytä OVERRIDE_COMMANDS-toimintoa vain, kun sovelluksen on otettava puheentunnistin hallintaansa ja käsiteltävä komennot itse. Näillä tavoilla on erilaiset vaikutukset, jotka kuvataan alla.

Tärkeää: ”Ei SDK:ta” ei tarkoita ”ei koodia”. Rakennat edelleen Android-käyttöliittymän ja liiketoimintalogiikan. Sovellus ei tarvitse erillistä RealWear-puhe-SDK:ta perustason puheohjaukseen, koska WearHF tarjoaa tämän ominaisuuden laitetasolla.

Keskeinen periaate: Perustason puheohjausta varten WearHF:ää ei avata eikä asenneta, eikä WearHF-SDK:ta tuoda projektiin. WearHF toimii taustalla osana RealWearin käyttöjärjestelmää.

Mikä RealWear Navigator 520 on?

RealWear Navigator 520 on kestävä, yksisilmäinen avustetun todellisuuden (assisted reality) tietokone, joka on suunniteltu etulinjan työhön, kuten kunnossapitoon, tarkastuksiin ja kenttähuoltoon. RealWearin Navigator 500/520 -laiteohjelmisto 2.x perustuu Android 13:een, ja 17.9.2026 julkaistu Ari OS 2.0 -ylläpitoversio (laiteohjelmisto 3.0, koontiversio 3.0.3-15, jota tarjotaan laitteille, joissa on koontiversio 2.2.3-33) siirtää laitteen Android 16:een. Laiteohjelmistojen tiekartat voivat muuttua, joten käsittele laitteen käyttöjärjestelmää käyttöönoton rajoitteena: kirjaa julkaisumatriisiin testattu laiteohjelmiston koontiversio, Android API -taso, sovelluksen minSdk/targetSdk sekä laitemalli. Älä päättele minSdk- tai targetSdk-arvoa pelkästään laitteen Android-version perusteella.

Kehittäjälle tämä tarkoittaa, että rakennat ja paketoit tavallisen Android-sovelluksen. WearHF toimii laitteessa ja voi tuoda tuetut ohjaimet puheohjauksen piiriin; se ei toteuta työnkulkuasi, valtuuta liiketoimintatoimintoa eikä korvaa sovelluspuolen validointia.

Mikä WearHF on?

WearHF on RealWearin sisäänrakennettu puhe- ja handsfree-vuorovaikutuspalvelu. Se tulkitsee tuettuja Android-näkymiä ja näyttödirektiivejä ja aktivoi sitten näkymän tai lähettää puhetapahtuman valitun integrointitavan mukaisesti. Perustason näkymävuorovaikutus ei vaadi erillistä RealWear-puhekirjastoa. Upotetut direktiivit jäsennetään android:contentDescription-määritteestä; ohjelmalliset komennot käyttävät dokumentoituja Androidin broadcast-intentejä. Älä sekoita näkymän napsautusta ja tunnistimen ohitusta toisiinsa: ohitus ottaa tunnistimen hallintaansa ja voi estää upotetut/skriptatut komennot, kunnes ne palautetaan.

Mitä tarvitset ennen ensimmäisen sovelluksen rakentamista

· Navigator 520, jossa on se laiteohjelmiston koontiversio, jota aiot tukea; kirjaa sen tarkka koontiversio ja Android-versio.

· Windows-, macOS- tai Linux-tietokone.

· Android Studio sekä Android SDK ja Platform Tools (ADB). Käytä sovelluksesi edellyttämää Android API -tasoa ja varmista yhteensopivuus RealWearin tukemien laiteohjelmistojen kanssa.

· USB-C-datakaapeli.

· Ensimmäiseen sovellukseen ei tarvita RealWear-SDK:ta.

· Testattava liiketoiminnan työnkulku, esimerkiksi siirtyminen seuraavaan tarkastusvaiheeseen tai laitevian ilmoittaminen.

Näin rakennat puheohjattavan Android-sovelluksen ilman RealWear-SDK:ta

Vaihe 1: Luo tavallinen Android-projekti

Aloita tässä läpikäynnissä Android Views -projektilla. Valitse Android Studiossa Views-pohjainen Empty Activity (ei pelkkää Compose-mallipohjaa) ja valitse sitten Java tai Kotlin. Alla olevissa esimerkeissä käytetään Javaa. Myös Compose voi toimia WearHF:n kanssa tuetuissa ohjelmistoversioissa, mutta sen semantiikka ja saavutettavuuspuu kannattaa testata kohdekoontiversiolla.

1. Avaa Android Studio ja valitse New Project.

2. Valitse Views-pohjainen Empty Activity. Jos ohjattu toiminto tarjoaa kentät kielelle ja vähimmäis-SDK:lle, valitse Java ja aseta minSdk alimpaan Android API -tasoon, jota sovelluksesi todella tukee; älä kopioi arvoa tästä esimerkistä tarkistamatta riippuvuuksiasi ja laitekantaasi.

3. Anna sovelluksen tiedot. Määritä sovelluksen nimi, pakkauksen nimi ja tallennussijainti ja luo sitten projekti.

4. Odota, että projekti avautuu. Android Studio suorittaa Gradle-synkronoinnin ja avaa projektin.

Älä lisää vielä mitään: Et etsi RealWear-projektimallia. Ensimmäisen koontiversion tarkoitus on osoittaa, että tavallinen Android-sovellus toimii Navigator 520:ssä.

Vaihe 2: Lisää yksi Android-painike ja yhdistä se Javaan

Luo ensin yksi painike. Lisäät sille Android-asettelun, yhdistät sen napsautustoiminnon Javassa ja testaat sitä sitten laitteella.

1. Avaa Android Studion Project-paneelissa app > res > layout > activity_main.xml. Tiedoston koko polku on app/src/main/res/layout/activity_main.xml.

2. Valitse asettelueditorissa Code-näkymä. Korvaa tiedoston sisältö alla näytettävällä täydellisellä XML:llä.

XML: Yksi painike ja WearHF-komento

Liitä koko asettelu tiedostoon activity_main.xml ja tallenna tiedosto:

<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>

Lyhyt selitys: `LinearLayout` pinoaa sisältönsä pystysuunnassa. `android:text` on painikkeen näkyvä nimike. `android:contentDescription` sisältää WearHF-direktiivin; myös Androidin saavutettavuuspalvelut lukevat tämän kentän, joten testaa, että ohjain pysyy käyttäjillesi ymmärrettävänä.

Avaa seuraavaksi Project-paneelissa app > java > oma pakkauksesi > MainActivity.java. Koko polku on app/src/main/java/<your.package.name>/MainActivity.java. Säilytä luotu Activity-luokka ja `onCreate()`-metodi.

Jos se puuttuu, lisää `import android.widget.Button;` muiden import-lauseiden joukkoon MainActivity.java-tiedoston alkuun. Liitä nämä rivit olemassa olevan `onCreate()`-metodin sisään heti rivin `setContentView(R.layout.activity_main);` jälkeen:

Button continueButton = findViewById(R.id.continueButton); continueButton.setOnClickListener(v -> openNextStep());

Lisää tämä metodi `onCreate()`-metodin alapuolelle mutta ennen MainActivity-luokan viimeistä sulkevaa aaltosuljetta:

private void openNextStep() { // Siirry seuraavaan tarkastus- tai työtilausvaiheeseen. }

Näin muokkaat sitä: vaihda `android:text` työnkulkuusi sopivaksi nimikkeeksi. Vaihda `hf_commands:CONTINUE` fraasiksi, joka työntekijöiden pitää sanoa, esimerkiksi `hf_commands:Continue Work, Next Step`. XML-tunnuksen `continueButton` on vastattava Javan `R.id.continueButton`-viittausta; jos nimeät sen uudelleen, päivitä molemmat. Korvaa `openNextStep()`-metodin kommentti sovelluksesi tarvitsemalla siirtymällä tai liiketoimintatoiminnolla. Perustason puheohjaus ei vaadi erillistä WearHF-SDK:ta eikä `RECORD_AUDIO`-käyttöoikeutta.

Vaihe 3: Valmistele Navigator 520 Android-kehitystä varten

Kehitystietokone tarvitsee ADB-valtuutuksen sovelluksen asentamiseen ja virheenkorjaukseen. Käytä tiedonsiirtoa tukevaa USB-C-kaapelia; pelkät latauskaapelit eivät tunnistu ADB-laitteeksi.

1. Avaa Advanced Settings. Sano Navigatorin aloitusnäytössä MY SETTINGS, niin pääset Androidin asetusluetteloon.

2. Avaa About Device. Sano ABOUT DEVICE ja sitten PAGE DOWN, kunnes Build Number tulee näkyviin.

3. Ota Developer Options käyttöön. Sano BUILD NUMBER toistuvasti, noin seitsemän kertaa, kunnes laite vahvistaa, että kehittäjätila on otettu käyttöön.

4. Avaa Developer Options. Sano NAVIGATE BACK, sitten SYSTEM ja sitten DEVELOPER OPTIONS.

5. Ota USB-virheenkorjaus käyttöön. Kytke Developer Options -valikossa USB debugging -asetus päälle.

6. Kytke USB-C-kaapeli ja hyväksy laitteella näkyvä RSA-virheenkorjauskehote. Vahvista yhteys komennolla `adb devices`; laitteen pitäisi näkyä tilassa `device`, ei `unauthorized`.

Jos Android Studio ei näytä laitetta luettelossa, suorita `adb devices`. Jos tilana näkyy `unauthorized`, avaa laitteen lukitus ja hyväksy RSA-kehote. Kun asennat sovelluksen uudelleen projektin juurikansiosta, käytä komentoa `adb install -r app/build/outputs/apk/debug/app-debug.apk`; vaihda polku, jos koontivarianttisi tai APK:n nimi on eri. Käytä Android Studion Logcatia tai `adb logcat` -komentoa kaatumisten ja sovelluslokien tarkasteluun.

USB-virheenkorjaus on kehitysasetus. Poista se käytöstä laboratoriotestauksen jälkeen tai hallitse sitä organisaation laiteturvallisuuskäytännön mukaisesti; älä jätä kehityskäyttöoikeutta päälle tuotantokäytössä olevan laitekannan laitteisiin.

Vaihe 4: Suorita sovellus Navigator 520:ssä

1. Valitse Navigator Android Studiossa. Valitse yhdistetty RealWear-laite yläreunan työkalupalkin laitevalitsimesta.

2. Napsauta Run. Valitse vihreä Run-kolmio tai käytä valintaa Run > Run 'app'.

3. Odota asennusta. Android Studio rakentaa APK:n ja asentaa sen Navigatoriin ADB:n kautta.

4. Käynnistä asennettu sovellus laitteen sovelluskäynnistimestä tai suorita kehitysterminaalissa `adb shell monkey -p your.application.id 1`. Korvaa `your.application.id` sovellusmoduulin Gradle-koontitiedostossa määritetyllä applicationId-arvolla.

5. Varmista, että CONTINUE-painike näkyy ja on käytettävissä.

Vaihe 5: Testaa WearHF:ää lisäämättä mitään SDK:ta

WearHF on jo käynnissä Navigator 520:ssä. Kun näytöllä on vain CONTINUE-painike, testaa ensin tämä ohjain:

1. Sano CONTINUE ja varmista, että sovelluksen tavallinen napsautuskuuntelija suoritetaan täsmälleen kerran.

2. Sano SHOW HELP tarkastellaksesi komentoa, jonka WearHF tarjoaa tälle näytölle. Varmista, että siinä näkyy CONTINUE.

3. Tarkista WearHF-ilmaisimet ja testaa numerovalinta, jos sitä tarjotaan. Älä luota ilmaisimeen ainoana keinona tunnistaa turvallisuuskriittinen toiminto.

Valinnainen: Lisää toinen toiminto CONTINUE-testin jälkeen

Kun ensimmäinen painike toimii, voit lisätä REPORT ISSUE -painikkeen. Sijoita tämä Button tiedostossa activity_main.xml LinearLayoutin sisään, CONTINUE-painikkeen alle ja ennen tagia </LinearLayout>:

<Button android:id="@+id/reportIssueButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="REPORT ISSUE" />

Lisää MainActivity.java-tiedostossa tämä kuuntelija onCreate()-metodin sisään CONTINUE-kuuntelijan jälkeen:

Button reportIssueButton = findViewById(R.id.reportIssueButton); reportIssueButton.setOnClickListener(v -> openIssueReport());

Lisää openIssueReport() onCreate()-metodin alapuolelle MainActivity-luokan sisään. Korvaa kommentti sovelluksesi vikailmoitustyönkululla:

private void openIssueReport() { // Avaa laitevian ilmoituslomake. }

Rakenna ja asenna sovellus uudelleen ja sano sitten REPORT ISSUE. Varmista, että vikailmoitustyönkulku avautuu.

Yhteenveto

Kehittäminen RealWear Navigator 520 -laitteelle ilman erillistä SDK:ta osoittaa, että siisti, tavallinen Android-koodi on jo valmiiksi puheohjattavaa, sillä sisäänrakennettu WearHF-palvelu muuntaa näkyvät näkymät ja contentDescription-direktiivit intuitiivisiksi handsfree-ohjaimiksi. Teknisille tiimeille tämä tarkoittaa, että kolmannen osapuolen kirjastojen aiheuttamaa paisumista ja monimutkaisia puhemoottoreita voidaan välttää ja keskeinen liiketoimintalogiikka pysyy tavallisessa Android-arkkitehtuurissa. Liiketoiminnan näkökulmasta lähestymistapa nopeuttaa markkinoille tuloa ja minimoi käyttöönoton kustannukset: yritykset voivat hyödyntää suoraan olemassa olevia Android-sovelluksiaan ja oman kehittäjäkuntansa osaamista, välttää sitoutumisen suljettuun SDK:hon ja uudistaa etulinjan työnkulkuja sujuvasti häiritsemättä ohjelmistopinoaan.

Rakenna ensimmäiseksi yritysprototyypiksi yksi tarkastus- tai kunnossapitonäkymä, tarkista näkymien nimikkeet ja saavutettavat kuvaukset ja testaa sitten puheaktivointi täsmälleen sillä Navigator 520 -laiteohjelmistolla, jota pilottilaitekanta käyttää. Lisää upotettuja direktiivejä tiettyjä käyttöliittymätarpeita varten ja tunnistimen ohituksia vain silloin, kun työnkulku edellyttää komentojen täyttä hallintaa.

Usein kysytyt kysymykset

Tämä artikkeli

Kyllä. Sovellus on edelleen Android-sovellus, joten kehittäjät kirjoittavat käyttöliittymän ja liiketoimintalogiikan Javalla, Kotlinilla, XML Views -näkymillä tai muulla tuetulla Android-käyttöliittymätyökalulla. Perustason WearHF-näkymävuorovaikutus ei vaadi erillistä RealWear-puhe-SDK:ta.

Et perustason näkymäkomentoihin. WearHF on sisäänrakennettu RealWearin ohjelmistoon, ja se voi johtaa komennot tuetuista Android-näkymistä. Käytä mukautettuun toimintaan dokumentoituja direktiivejä tai intentejä.

Sitä ei avata erillisenä sovelluksena. WearHF toimii taustalla osana Navigator 520:n ohjelmistoa.

Tuettujen napsautettavien näkymien kohdalla WearHF voi johtaa komennon näkymän tekstistä tai sisällön kuvauksesta (content description) direktiivistä ja näkymähierarkiasta riippuen. Testaa varsinaisessa näytössä tarjottava komento; näkyvä nimike ei ole tae jokaisen mukautetun näkymän kohdalla.

Sano Navigator 520:ssä SHOW HELP. RealWear näyttää kyseiseen näyttöön liittyvät komennot.

Avaa Views-pohjaisessa sovelluksessa asettelun XML-tiedosto (esimerkiksi app/src/main/res/layout/activity_main.xml) ja määritä näkymälle `android:contentDescription`. Käytä useille fraaseille muotoa `hf_commands:Phrase One, Phrase Two` ja useiden direktiivien välissä merkkiä `-`.

`hf_commands` on näkymätason WearHF-direktiivi. Sijoita se näkymän contentDescription-kenttään ja sen perään pilkuilla erotetut fraasit; jokainen tunnistettu fraasi napsauttaa kyseistä näkymää.

Upotettuja direktiivejä varten ei tarvita erillistä WearHF-kirjastoa. Ne ovat Androidin contentDescription-kentän merkkijonoja, jotka laitteen palvelu tulkitsee. Koska myös saavutettavuuspalvelut käyttävät contentDescription-kenttää, säilytä hyödyllinen saavutettava nimike ja testaa molemmat toiminnot.

Käytä OVERRIDE_COMMANDS-toimintoa, kun tunnistimen komentoluettelo on korvattava ajon aikana. Näkymiä täydentäviin näyttötason komentoihin kannattaa harkita `hf_add_commands`-direktiiviä. Muista, että ohitustila estää tilapäisesti upotetut/skriptatut komennot, ja tila on palautettava tai rekisteröitävä uudelleen dokumentoiduissa elinkaaren kohdissa.

RealWearin toukokuun 2026 Collaborate-julkaisutiedotteiden mukaan WearHF tukee Jetpack Composea natiivisti. Tämä on näyttöä alustan Compose-tuesta, mutta se ei korvaa semantiikan, mukautettujen composable-komponenttien, saavutettavuusnimikkeiden ja komentopeittokuvien testaamista omassa sovelluksessasi. Tässä opetusohjelmassa käytetään XML Views -näkymiä, jotta näkymien ja komentojen välinen vastaavuus on selkeä. Lähde: Collaborate 2.5.1 -julkaisutiedotteessa todetaan, että WearHF tukee Composea natiivisti (julkaistu 7.5.2026). Sovella tätä väitettä vain laiteohjelmistoon, joka sisältää vastaavan tuen, ja varmista toiminta kohdekoontiversiollasi.

Julkaistu Navigator 500/520 -laiteohjelmistoversio 2.2 perustuu Android 13:een. RealWearin laiteohjelmistokäytännössä kerrotaan suunnitelmasta siirtää tuetut laitteet Android 16 -pohjaiseen käyttöjärjestelmään vuoden 2026 aikana; suunnitelma ei ole takuu julkaisusta. Tarkista ajantasaiset GA-julkaisutiedotteet ja testaa laitekannan tarkka koontiversio ennen kuin valitset compileSdk-, targetSdk- ja minSdk-arvot, käyttöoikeudet tai julkaisukäyttäytymisen.