socialgekon.com
  • Tärkein
  • Tuotteen Elinkaari
  • Vinkkejä Ja Työkaluja
  • Projektinhallinta
  • iOS-vinkkejä
Matkapuhelin

Opetusohjelma pyrkiville Google Glass -kehittäjille: Rakenna ensimmäinen Glass-sovelluksesi

Google Glass on futuristinen tekniikka, joka lupaa mullistaa sen, miten käytämme laitteitamme vuorovaikutuksessa maailman kanssa. Mutta mitä kehittäjän näkökulmasta on niin erikoista lasin kehittämisessä? Vastaus on 'Ei mitään!' Itse asiassa kokenut Android-kehittäjä , Google Glass on vain yksi Android-laite, jolla on hyvin pieni näyttö ja rajoitetut ominaisuudet!

Google-lasikehitys on hyvin samanlainen kuin kaikki eri laitteita kattava Android-kehitys.

Se, että kuka tahansa, jolla on Android-kehitystietoa, voi liittyä tämän futurististen puettavien teknologioiden evankelistien eliittiyhteisön jäseneksi, on osa sitä, mikä tekee Google Glassista niin mahtavan. Toki sinun on opittava muutama uusi asia, kuten ero upottamisen ja aktiivisen kortin välillä, mutta kuten näette, oppimiskäyrä ei ole jyrkkä.

Tämän Google Glass -opetusohjelman tarkoituksena on luoda perusta minkä tahansa Glass-sovelluksen kehittämiselle luomalla yksinkertainen sovellus, joka sisältää kaikki yleiset vaiheet. Tavoitteenani on säästää aikaa tutkimuksessa ja erehdyksissä ja antaa sinun suorittaa ensimmäinen Glass-sovelluksesi mahdollisimman pian.

Tässä opetusohjelmassa käymme ensin läpi, miten voit määrittää kehitysympäristön ja liittää Google Glassin tietokoneeseesi. Sitten luomme yksinkertaisen “Hello World” Glass -sovelluksen, joka sisältää mukautetut äänikomennot ja integroinnin Glass start -valikkoon. Kun ensimmäinen sovelluksesi on kehitetty ja käynnissä Glass-laitteellasi, opit navigoinnin perusteet Glass-sovelluksissa, ääniohjattujen valikoiden ja dynaamisen sisällön luomisen.

Kuinka päästä alukseen

Glass on edelleen eräänlaisessa 'beetatestaus' -vaiheessa, jolle Google on keksinyt termin 'Explorer-ohjelma'. Kuitenkin nimität sen, Glass ei ole vielä jotain, jonka voit saada myymälästä kuin älypuhelin. Valitettavasti Android-kehitystyökaluissa ei vieläkään ole emulaattoria, jonka avulla voit kehittää sovellustasi ilman todellista laitteistoa.

Siten sovelluksesi ajamiseksi ja virheenkorjaamiseksi sinun on saatava kätesi todelliseen Google Glassiin Explorer-ohjelman kautta. Liittyäksesi ohjelman vierailuun rekisteröintisivu ja kirjaudu sisään. Kun olet hyväksynyt, valmistele luottokorttisi ja odota, että lasisi toimitetaan. Glassin Explorer-versio maksaa tällä hetkellä 1500 dollaria USD, mutta hinnan odotetaan laskevan huomattavasti ennen laitteen saapumista myymälöihin.

Lasittomille

Emulaattorin puuttumisen vuoksi on välttämätöntä, että sinulla on todellinen Google Glass -laitteisto sovelluksen kehittämiseksi tässä opetusohjelmassa (tai missä tahansa Glass-sovelluksessa), mutta jos sellaisen hankkiminen on budjettisi ulkopuolella, älä lannistu - se on joka tapauksessa syytä seurata. Opetusohjelmassa käy ilmi, että Glassin kehittäminen on melkein sama kuin minkä tahansa muun Android-alustan kehittäminen!

Jos et ole vielä käyttänyt Google Glassia, mutta olet siitä yhtä innoissani kuin minä, katso nämä kaksi videota, koska niiden pitäisi antaa sinulle tarpeeksi tietoa ymmärtääksesi käyttöliittymän perusteet.

  • Johdatus Google Glassiin
  • Google Glass -ohjeet: Aloittaminen

Asennuksessa ja navigoinnissa on vielä enemmän hyödyllisiä videoita tässä ja monia muita tietoja käyttöliittymästä tässä .

Sitoutumissäännöt

Tämä Google Glass -kehittäjät opetusohjelma tekee seuraavat oletukset:

  • Oletan, että ymmärrät Glassin navigoinnin ja asennuksen perusteet. Jos et ole koskaan käyttänyt Glassia, katso yllä linkitetyt videot.
  • Oletan, että ymmärrät Android-kehityksen perusteet : projektitiedostojen rakenne, Android-sovellusten kokoonpano jne.
  • Käytän Android Studiota, mutta ohjeiden tulisi kääntyä melkein mihin tahansa Android-kehitysympäristöön. Android Studio on edelleen beta-versiossa, mutta niin on myös Glass. Älä pelkää käyttää sitä - se on todella hieno tuote. Android Studio on ladattavissa tässä .

Google Glass -sovelluksen määrittäminen

Selvä, aloitetaan!

Ensimmäinen asia, joka sinun on tehtävä, on ottaa virheenkorjaustila käyttöön Glass-laitteellasi. Sinun on tehtävä jotain tällaista jokaisella Android-laitteella, jota käytät sovellusten kehittämiseen, joten tämä saattaa olla tuttua. Ota virheenkorjaus käyttöön pyyhkäisemällä kohtaan ' asetukset '->' Laitetieto ”Ja napauta sitten avataksesi laitevalikon. Valitse “ Ota virheenkorjaus käyttöön ”Ja se otetaan käyttöön.

Seuraavaksi sinun on saatava kehitysympäristösi valmiiksi. Google Glassin nykyinen versio edellyttää, että käytät API-versiota 19, joten varmista, että se on asennettu. Lisäksi sinun on asennettava Glass Development Kit. Asenna nämä kaksi pakettia Android SDK Managerin avulla, ellet ole vielä tehnyt niin.

Käytä Android SDK Manageria varmistaaksesi, että Glass Development Kit on asennettu.

Hei maailma!

Tehdään siis ensimmäinen lasitavaramme. (Kyllä, Google on keksinyt toisen termin! 'Lasitavara' on nimi kaikille Google Glassissa toimiville sovelluksille.) Aloitamme kehittämällä vanhan hyvän 'Hello World!' sovellus. Kuten useimmat tärkeimmät Android-kehitysympäristöt, Android Studio täyttää uudet sovellukset automaattisesti mallilla tämän kuuluisan lauseen esittämiseksi. Tämän seurauksena 'Hello World!' käyttöönotto on vain harjoituksen perustavanlaatuista sovelluksen käyttöönottoa.

Napsauta Android Studiossa Uusi projekti ”Ja täytä projektilomake. Voit käyttää jotain vastaavaa tähän:

Nämä ovat Google Glass -kehityksen ensimmäiset määritysvaiheet.

Kun valitset lomakekertoimia ja sovellusliittymää, muista valita Lasi ”Ja API 19

Nämä ovat joitain Glass-sovelluksen lisäasetuksia.

Valitse “ Upotusaktiviteetti ”Aloitustoiminnallesi.

Immersion Activity on ensisijainen Glass-sovelluskehityksen käynnistystoiminto.

Muistatko, että mainitsin, että sinun on opittava ero upottamisen ja live-kortin välillä? Googlen Käyttöliittymäartikkeli selittää erityyppiset lasiseulat. Tässä on lyhyt yhteenveto:

  • Live-kortit lisätään Glass-aikajanalle ja näyttävät reaaliaikaisia ​​tietoja jostakin suurtaajuisten päivitysten avulla. Ne juoksevat jatkuvasti taustalla, vaikka käyttäjät olisivat vuorovaikutuksessa eri korttien kanssa. Tämän avulla käyttäjät voivat suorittaa useita tehtäviä ja saada jatkuvasti reaaliaikaisia ​​tietoja.

  • Upotukset ovat täysin muokattavia näyttöjä, jotka näkyvät aikajanakokemuksen ulkopuolella. Näiden avulla voit suunnitella oman käyttöliittymän ja käsitellä käyttäjän syötteitä niin kuin haluat. Tätä käytämme!

Jätä ohjatun toiminnon seuraavaan näyttöön oletusarvot Nimi 'Ja' Otsikko Ja napsauta Viedä loppuun ”.

Jälkeen Gradle huolehtii riippuvuuksistasi ja saa projektisi valmiiksi, on aika laittaa Glass-pistoke pistorasiaan. Nyt tämä on futuristista kehitystä!

Olettaen, että kaikki Android ADB -ohjaimesi ovat paikallaan ja järjestelmä tunnistaa Glassisi, sinun pitäisi saada Glass laitteesi luetteloon.

Laiteluettelon tulee näyttää Google Glass Android-laitteena.

Jos kytket laitteen ensimmäistä kertaa tietokoneeseen, Glass pyytää hyväksynnän / luottamuksen vahvistamista. Napauta vain lasiasi yhteyden muodostamiseksi ja sinun pitäisi olla valmis.

Klikkaus ' Juosta ”Ja asenna” Oletus-APK ”ja” MainActivity ”käynnistystapana” USB ”-laitteella käynnistämistä varten.

Muutaman sekunnin kuluttua sinun pitäisi nähdä jotain tällaista Glass-näytölläsi:

Tämä on esimerkki siitä, mitä saatat nähdä Google Glassin kautta, jos seuraat tätä opetusohjelmaa tarkasti.

Hurraa! Hakemuksesi toimii Glass! Ja sinun tarvitsi vain täyttää muutama oletusarvo sovellusta luodessasi!

Koska emme määrittäneet toisin, Glass näyttää sovelluksesi nimellä Näytä esittely. Jos pyyhkäiset takaisin aloitusnäyttöön ja napautat sitten avataksesi sovellusvalikon, näet sen luettelossa seuraavasti:

Tämä on esimerkki Glassin Näytä demo -valikkokohdasta.

Hieman puolalainen

Ok, sait sen toimimaan, mutta tämä ei näytä todelliselta Glass-sovellukselta, etkä halua sovelluksen käynnistävän 'Näytä esittely' -toiminnolla.

Tässä opetusohjelmassa me vain säätää sitä hieman saadaksemme todellisen tunteen.

Teeman asettaminen

Ensinnäkin, et halua ottaa mitään pienestä lasinäytöstäsi tällä ruma 'Hello World Immersion' -otsikon otsikkorivillä, etkä todellakaan halua näytön olevan harmaa mustalla kirjasimella. Tämän korjaamiseksi meidän on vain vaihdettava teema Androidissamme ja annettava Glass OS: n hoitaa se.

Avaa res/values/styles.xml muokkausta varten. Sen pitäisi olla seuraava sisältö:

android:Theme.Holo.Light

Muuta vain android:Theme.DeviceDefault kohteeseen AndroidManifest.xml Tämän pitäisi huolehtia sovelluksen ulkoasusta ja väreistä automaattisesti Lasin oletusteeman avulla.

Valikon ulkoasun määrittäminen

Ok, seuraava asia, jonka haluamme tehdä tässä Glass-kehityksen opetusohjelmassa, on perustaa sovelluksellemme oikea nimi ja mukava ääniohjattu käynnistys. Avaa Android-manifestisi ( ) ja lisää seuraava DEVELOPMENT tag:

DEVELOPMENT

Syy, jota haluat käyttää voice_trigger.xml käyttöoikeuksien avulla voit pelata mukautetuilla ääniohjaimilla. Google on melko tiukka siitä, mitkä äänikomennot ovat sallittuja hyväksytyissä Glass-sovelluksissa, ja kaikki uudet komennot on hyväksyttävä. Koska tämä opetusohjelma on tarkoitettu oppimistarkoituksiin, etkä lähetä tätä hakemusta viralliselle lasitavarakaupalle, sinun ei pitäisi huolehtia siitä. Käynnistä vain res/xml/ käyttöoikeudet ja sinulla on pääsy 'piilotettuihin äänikomentoihin'. Lisätietoja tästä lue tällä GDK-sivulla .

Avaa android:label='@string/app_name' muokkausta varten. Tässä määritetään äänikomento sovelluksen käynnistämiseksi. Sen tulisi sijaita @string/app_name kansio. Sinun pitäisi hankkia tämän kaltaista sisältöä:

Hello Glass

Sen sijaan, että sanot 'Näytä minulle esittely' aloittaessamme sovelluksen, sanotaan vain sovelluksen nimi. Muuta tiedoston sisältö:

android:label='@string/app_name'

Jos palaat luettelotiedostoon, saatat huomata, että res/values/strings.xml on päivitetty automaattisesti käyttämään myös resurssimerkkijonoa app_name kovakoodatun Hello Glass sijasta arvo kuin se oli aiemmin. Jos tätä asetusta ei päivitetty, muista asettaa arvoksi voice_trigger.xml.

Mikä on sovelluksesi nimi, tarkalleen? Jos avaat network='true', FEATURE_VOICE_COMMANDS tulisi luetella seuraavasti:

onCreate

Tämän pitäisi kerätä asioita ensimmäiselle Hello Glass -sovelluksellesi. Katsotaanpa, miten se toimii nyt!

Aloitusnäytössä voit sanoa 'Ok lasi' esiin äänivalikko. Sovelluksesi on nyt ääniohjattujen komentojen luettelossa.

Tämän opastusohjeen avulla Glass Glass -sovelluksen aloitusnäyttö näyttää tältä.

Jos sanot ' Hei lasi ”Hakemuksesi pitäisi alkaa ja sinun pitäisi saada standardoitu Glass-kokemus:

Äänikomennot tuottavat tämän Google Glass -vastauksen.

Jos et halua käyttää ääntäsi sovelluksen aktivoimiseksi, voit vain napauttaa aloitusnäyttöäsi ja näet, että sovelluksesi on käytettävissä valikossa:

Kehittämäsi Google Glass -sovellus on nyt saatavilla.

Ääni vai kosketus? Käytä molempia!

On erittäin tärkeää, että kiinnität tarkkaa huomiota sovelluksesi käyttöliittymään ja käyttäjien vuorovaikutukseen sen kanssa. Muista, että käyttäjät eivät aina pysty käyttämään ääntään esimerkiksi katsellessaan luentoa tai esitystä. Vaihtoehtoisesti heillä voi olla kätensä täynnä ja he eivät voi käyttää kosketusta. Ehdotan, että tarjoat sekä kosketus- että ääni-valikon vuorovaikutuksen aina kun mahdollista, jolloin käyttäjät voivat navigoida sovelluksessasi samanaikaisesti äänen ja kosketuslevyn avulla.

Todellinen sovellus - ApeeScape Finder

Tässä oppaassa hahmoteltu Google Glass -kehitysesimerkki on ApeeScape Finder.

Nyt kun olet tyytyväinen Glass-kehitykseen ja olet luonut Hello Glassin, on aika luoda todellinen sovellus, joka tuo uudet Glass-ominaisuudet toimimaan. Rakennetaan sovellus, jonka avulla voit selata parhaiden ApeeScape-kehittäjien profiileja kehitysympäristön perusteella.

Esimerkkilasisovelluksen rakenne on yksinkertainen:

  1. Haluamme, että aloitusnäytössämme on ApeeScape logo ääni- ja napautusvalikossa, jonka avulla voimme valita kehitysalustan, jolle tarvitsemme kehittäjän.
  2. Alustan valitsemisen jälkeen haluamme saada luettelon kehittäjistä, joilla on kuva ja nimi. Kehittäjäprofiilit esitetään vieritettävän luettelon muodossa henkilökohtaisista korteista.
  3. Tarkastellessamme kehittäjäprofiilia haluamme pystyä lisäämään ne suosikkeihin tai lähettämään vuokrauspyynnön.

Perusteet

Kerrataan nopeasti, mitä olet jo lisännyt Android-tietosi päälle:

  1. Kehitysympäristön määrittäminen lasiesineiden rakentamiseksi.
  2. Kuinka määrität sovelluksesi käyttämään tavallista Glassware GUI -teemaa.
  3. Sovelluksen käynnistäminen mukautetuilla äänikomennoilla ja valikkojen nimillä.

Tämän tiedon avulla saat uuden sovelluksesi käyttöön. Voit joko päivittää Hello Glass -sovelluksen ylhäältä tai käynnistää uuden sovelluksen noudattamalla samoja vaiheita. Nimeä tämä sovellus Top Finder ”Ja tee MainActivity tiedosto näyttää tältä.

getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS);

res/menu rajoitus käskee lasin tarkistamaan verkkoyhteydet aloitettaessa tätä sovellusta, joka meidän on yhdistettävä ApeeScape-kehittäjien luetteloihin. Jos yhteyttä ei ole, Glass näyttää varoitusviestin.

Aloitusnäyttö

Tehdään sovelluksemme aloitusnäyttö näyttämään tältä:

Tämän mallin valitsimme Glass-sovelluksen aloitusnäytölle.

Kun näet 'Ok lasi' viesti näytöllä tarkoittaa, että sovelluksella on ääniohjattu valikko kyseisessä paikassa. Lausun lausuminen 'Ok lasi' tässä aktivoidaan äänivalikko tälle sijainnille. Glass on määrittänyt tämän lauseen etkä voi muuttaa sitä.

Voit ajatella 'Ok lasi' 'sovellusvalikkona', aivan kuten olet käyttänyt älypuhelimesi / tablet-laitteesi kehityksessä, ja sillä on täsmälleen sama rooli. Kuten 'napautat' näytöllä olevaa 'Sovellusvalikkokuvaketta' (usein 3 pistettä tai viivaa) avataksesi Android-sovellusvalikon, sinun on sanottava 'Ok lasi' avataksesi ääniohjatun valikon Glassware-sovelluksessa.

Jotta 'Ok lasi' valikko, jota sinun on pyydettävä main.xml sovellusliittymästä. Voit tehdä tämän lisäämällä seuraavan rivin onCreatePanelMenu -kenttään käsittelijä MainActivity:

@Override public boolean onCreatePanelMenu(int featureId, Menu menu){ if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS || featureId == Window.FEATURE_OPTIONS_PANEL) { getMenuInflater().inflate(R.menu.main, menu); return true; } return super.onCreatePanelMenu(featureId, menu); }

Jokainen toiminto, johon tämä ominaisuus sisältyy, renderoidaan 'Ok lasi' teksti keskellä alareunaa.

Seuraava asia, mitä sinun tarvitsee tehdä, on luoda valikko päänäytölle. Omassa findDevelopers kansio luo uusi XML-valikkomääritelmä nimeltä public void findDevelopers(String platform){ } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS || featureId == Window.FEATURE_OPTIONS_PANEL) { switch (item.getItemId()) { case R.id.find_android: findDevelopers('Android'); break; case R.id.find_javascript: findDevelopers('Java Script'); break; case R.id.find_ios: findDevelopers('iOS'); break; } return true; } return super.onMenuItemSelected(featureId, item); } . Yksinkertaisuuden lisäämiseksi otamme käyttöön vain kolme ApeeScape-kehittäjäalustaa, mutta voit tehdä muutokset haluamallasi tavalla.

Sen pitäisi olla seuraava sisältö:

res/drawable/logo.png

Saatat ihmetellä, miksi valitsin melko pitkät valikkotiedot yksinkertaisen Androidin, JavaScriptin ja iOS: n sijaan. No, syy on hyvin yksinkertainen. Glass-kehitystiimin kaverit parantavat edelleen äänentunnistusta. Valikoissa on suositeltavaa käyttää kahta tai kolmea sanaa, jotta Glass tunnistaa ne helpommin.

Mainitsin jo, että 'Ok lasi' -valikko ei eroa tavallisesta Android-sovellusvalikosta. Valikon liittäminen aktiviteettiin on käytännössä sama. Ohita vain MainActivity käsittelijä private CardScrollView mCardScroller; private View mView; private GestureDetector mGestureDetector; ja täytä juuri luomasi päävalikko:

buildView

Nyt meidän on lisättävä valikkokäsittelijä. Ennen kuin teet sen, luo yksi tyhjä menetelmä nimeltä private View buildView() { Card card = new Card(this); card.setText(R.string.app_name); card.setImageLayout(Card.ImageLayout.LEFT); card.addImage(R.drawable.logo); return card.getView(); } . Palaamme asiaan myöhemmin aloittaaksemme haun ja näyttääksemme tuloksia. Tämän jälkeen voit ohittaa valikkokäsittelijän.

onCreate

Nyt on aika tehdä esimerkkinä oleva Google Glass -sovelluksen aloitusnäyttö kauniiksi. Tuo ApeeScape-logo sovellukseesi muodossa protected void onCreate(Bundle bundle) { super.onCreate(bundle); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS); mView = buildView(); mCardScroller = new CardScrollView(this); mCardScroller.setAdapter(new CardScrollAdapter() { @Override public int getCount() { return 1; } @Override public Object getItem(int position) { return mView; } @Override public View getView(int position, View convertView, ViewGroup parent) { return mView; } @Override public int getPosition(Object item) { if (mView.equals(item)) { return 0; } return AdapterView.INVALID_POSITION; } }); // Handle the TAP event. mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { openOptionsMenu(); } }); mGestureDetector = createGestureDetector(this); setContentView(mCardScroller); } . Käytin tätä kuvaa:

ApeeScape-logo käytettäväksi Glass-sovelluksessamme.

Omassa MainActivity luokassa, tee seuraavat muutokset.

Varmista, että seuraavat yksityiset muuttujat ilmoitetaan luokan alussa:

private GestureDetector createGestureDetector(Context context) { GestureDetector gestureDetector = new GestureDetector(context); //Create a base listener for generic gestures gestureDetector.setBaseListener( new GestureDetector.BaseListener() { @Override public boolean onGesture(Gesture gesture) { if (gesture == Gesture.TAP) { openOptionsMenu(); return true; } else if (gesture == Gesture.TWO_TAP) { // do something on two finger tap return true; } else if (gesture == Gesture.SWIPE_RIGHT) { // do something on right (forward) swipe return true; } else if (gesture == Gesture.SWIPE_LEFT) { // do something on left (backwards) swipe return true; } else if (gesture == Gesture.SWIPE_DOWN){ finish(); } return false; } }); gestureDetector.setFingerListener(new GestureDetector.FingerListener() { @Override public void onFingerCountChanged(int previousCount, int currentCount) { // do something on finger count changes } }); gestureDetector.setScrollListener(new GestureDetector.ScrollListener() { @Override public boolean onScroll(float displacement, float delta, float velocity) { // do something on scrolling return true; } }); return gestureDetector; } @Override public boolean onGenericMotionEvent(MotionEvent event) { if (mGestureDetector != null) { return mGestureDetector.onMotionEvent(event); } return false; }

Muuta findDevelopers tapa mukauttaa kortin asettelua:

DeveloperModel.java

Ja vaihda java/models käsittelijä olla tällainen:

public class DeveloperModel implements Serializable { private String name; public String getName(){ return name; } public void setName(String name){ this.name=name; } private String platform; public String getPlatform(){ return platform; } public void setPlatform(String platform){ this.platform=platform; } private String image; public String getImage(){ return image; } public void setImage(String image){ this.image=image; } }

Kuten sanoin aiemmin, haluamme sisällyttää napautuksella aktivoidun valikon yhdessä 'Ok lasi' , joten ota vain eleet käyttöön kuten Android-sovelluksessasi. Lisää seuraavat menetelmät CardScrollAdapter -kansioon luokka:

DeveloperAdapter.java

Sen pitäisi olla se! Voit nyt käynnistää sovelluksesi ja kokeilla molempia valikon aktivointimenetelmiä. Jos sanot 'Ok lasi' saat kolme valikkokohtaa näytöllä, ja jos napautat lasia, vieritettävä valikko avautuu. Voit selata valikkokohteita pyyhkäisemällä taaksepäin ja eteenpäin.

Äänivalikko näyttää tältä:

Tässä ovat äänikomennot, joilla pääset kehittäjiin Glass-näytöllä.

Ja tässä on elevalikko:

Tässä ovat äänikomennot, joilla pääset kehittäjiin Glass-näytöllä.

Jos valitset valikkokohdan, mitään ei tapahdu, kun java/adapters menetelmä on vielä toteutettava.

Kehittäjän näytöt

Jatkamme lasikortin oletusasettelun käyttöä, kuvan vasemmalla puolella, tekstin oikealla puolella ja alatunnistetietoja. Lisätietoja korttien suunnittelun parhaista käytännöistä on Google Glassissa tyyliopas .

Kehittäjäprofiilimme on määritelty yksinkertaisilla ominaisuuksilla:

  1. Nimi
  2. Kuva
  3. Kehitysalusta

Joten, varmistetaan, että sovelluksessamme on oikea luokkarakenne. Luo uusi luokka nimeltä public class DeveloperAdapter extends CardScrollAdapter { private List mCards; private List mData; public DeveloperAdapter(List cards){ this.mCards = cards; } @Override public int getCount() { return mCards.size(); } @Override public Object getItem(int i) { return mCards.get(i); } @Override public View getView(int i, View view, ViewGroup viewGroup) { return mCards.get(i).getView(); } @Override public int getPosition(Object o) { return this.mCards.indexOf(o); } } omassa ResultsActivity kansio. Haluamme tämän luokan olevan sarjoitettavissa, koska se sisältää profiileja, jotka ovat luettelossa.

MainActivity

Haluamme, että korttimme on tiukasti sidottu kehittäjäprofiilidataan. Koska oletus java/com.helloglass on hieman yleinen tietomallinsa suhteen, meidän on laajennettava sitä ja tehtävä siitä oma. Luo extends Activity omassa developer.xml kansio:

ResultsActivity

Emme halua, että hakutuloksemme lisätään sovelluksen aloitusnäyttöön, joten luomme uuden toiminnan, joka tekee haun ja näyttää tulokset. Luo uusi toiminto, MainActivity , ResultsActivity -viestin vieressä (todennäköisesti public static final String SEARCH = 'search'; private String mPlatform='Android'; ).

Varmista, että se ResultsActivity.

Seuraavaksi meidän on määritettävä valikko kehittäjäprofiilikortillemme. Luo uusi valikko MainActivity, jonka sisältö on seuraava:

private CardScrollView mCardScroller; private List mCards; private GestureDetector mGestureDetector;

Parametrien välittämisen findDevelopers välillä salliminen ja ResultsActivity lisää seuraavat rivit private void findDevelopers(String platform){ for (int i=1; i<=10; i++){ Card card = new Card(this); card.setText(platform+' '+Integer.toString(i)); card.setTimestamp(platform); card.setImageLayout(Card.ImageLayout.LEFT); card.addImage(R.drawable.ic_person_50); mCards.add(card); } mCardScroller.setSelection(0); } : n alkuun luokka:

MainActivity

Muista lisätä uusi toiminto luettelotiedostoon:

findDevelopers

ResultsActivity: N aloitusnäytön määrittäminen ja korttien määrittäminen on hyvin samanlainen kuin mitä teimme platform Tarkista ensin, että sinulla on alussa määritetyt korttisi ja rullasi:

public void findDevelopers(String platform){ Intent resultsIntent = new Intent(this, ResultsActivity.class); resultsIntent.putExtra(ResultsActivity.SEARCH, platform); startActivity(resultsIntent); }

Luo väliaikainen hakumenetelmä, jota palataan myöhemmin toteuttamaan. Uusien korttien lisääminen profiililuetteloon on yhtä helppoa kuin kohteiden lisääminen ryhmään. Nimeämme tämän menetelmän ResultsActivity myös, mutta tämä kuuluu @Override public boolean onCreatePanelMenu(int featureId, Menu menu){ if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS || featureId == Window.FEATURE_OPTIONS_PANEL) { getMenuInflater().inflate(R.menu.developer, menu); return true; } return super.onCreatePanelMenu(featureId, menu); } :

ResultsActivity

Palaa nyt takaisin openOptionsMenu() ja päivitä onGesture(Gesture gesture) siellä aloittaaksesi private GestureDetector createGestureDetector(Context context) { // … @Override public boolean onGesture(Gesture gesture) { if (gesture == Gesture.TAP) { openOptionsMenu(); return true; } else if // … ja välitä @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS || featureId == Window.FEATURE_OPTIONS_PANEL) { switch (item.getItemId()) { case R.id.developer_fav: Toast.makeText(getApplicationContext(), 'Favorite', Toast.LENGTH_LONG).show(); break; case R.id.developer_hire: Toast.makeText(getApplicationContext(), 'Message', Toast.LENGTH_LONG).show(); break; case R.id.go_back: break; } return true; } return super.onMenuItemSelected(featureId, item); } omaisuus:

ic_person_50.png

Liitä kehittäjävalikkosi kohtaan resdrawable. Voit avata valikon millä tahansa profiilikortilla.

onCreate

Aivan kuten aiemmin, ota eleet käyttöön lasin kosketuslevyn käsittelemiseksi, kun ResultsActivity näytetään. Voit tehdä sen vain soittamalla MainActivity omassa @Override protected void onCreate(Bundle bundle) { super.onCreate(bundle); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS); mCardScroller = new CardScrollView(this); mCards = new ArrayList(); if(getIntent().hasExtra(SEARCH)){ mPlatform = getIntent().getStringExtra(SEARCH); } findDevelopers(mPlatform); mCardScroller.setAdapter(new DeveloperAdapter(mCards)); // Handle the TAP event. mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { openOptionsMenu(); } }); mGestureDetector = createGestureDetector(this); setContentView(mCardScroller); } menetelmä:

onResume

Lisää myös valikkokäsittelijä kehittäjään liittyviin toimintoihin. Jätämme toistaiseksi yksinkertaiset Toast-viestit.

onPause

Jokaisessa sovelluksessa tulisi käyttää hienoja visuaalisia elementtejä, kuvakkeita jne. Google Glass -tiimi on toimittanut erittäin suuren joukon yleisiä standardoituja kuvakkeita, joita Glass-kehittäjät voivat käyttää ilmaiseksi sovelluksissaan. Löydät täyden sarjan tavallisia Glass-kuvakkeita ja fontteja heidän kirjastossaan

Toistaiseksi tarvitset vain yhden kuvakkeen MainActivity, joten lataa se MainActivity -kansioon kansio. Käytämme tätä kuvaketta sen sijaan, että lataamme kuvan kehittäjältä.

Viimeinen asia, joka on jäljellä Glass-sovelluskehitysoppaastamme, on

 -säätimen ohittaminen käsittelijä 
 -palvelussa, jossa tarkistamme, mistä kehitysympäristöstä edelleen välitettiin 
 ja täytä luettelomme.

Voit lähteä

|_+_|
ja
 menetelmät samat kuin 
|_+_|

Jos käynnistät sovelluksesi nyt, voit tarkistaa, miten kehittäjäprofiilit luodaan lennossa,

 -valikossa valitun valikon perusteella. Jälleen sinulla on mahdollisuus näyttää valikkosi käyttämällä 'Ok lasi' tai napauttamalla kosketuslevyä tai käyttämällä ääniaktivointia. Kymmenes Android-kehittäjäprofiili näyttää tällä hetkellä tältä:

Lasissovelluksessamme 10. Android-kehittäjän näyttö näyttää tältä.

Napauttaminen tuo esiin kosketusvalikon:

Napauttamalla Google Glass -näyttöä avautuu Lisää suosikkeihin.

Ja sanomalla 'Ok lasi' tuo esiin äänivalikon:

”OK Glass” -äänikomento tuo tämän esiin.

Pyyhkäise alaspäin luettelosta palataksesi sovelluksesi aloitusnäyttöön.

Profiilien saaminen Internetistä

Täydennämme asiat täyttämällä valikko todellisilla tiedoilla 10 parhaimmalle ApeeScape-kehittäjälle JavaScript , Android ja iOS .

Sinun on ladattava heidän profiilikuvansa ja asetettava ne saataville HTTP: n kautta tai vain käytettävä URL-osoitteita suoraan osoitteesta toptal.com .

Koska web-indeksoijan rakentaminen vain ApeeScape-sovelluksen huippukehittäjien nimien saamiseksi saattaa olla liian kiertotie tälle artikkelille, olen luonut JSON-tiedostot, joita voit käyttää Android , JavaScript ja ios .

Ensinnäkin sinun on sovelluksessasi pyydettävä Internet-yhteyttä Android-käyttöjärjestelmältäsi. Lisää seuraava rivi Manifest-tiedostoon

|_+_|

Huomaa, että Glass ei salli sinun estää pääketjua käyttämällä HTTP-pyyntöjä suoraan. Sinun on käsiteltävä JSON-latauksia ja yksittäisiä kuvia asynkronisella tavalla. Voit käyttää asynkronointitehtävää, luoda oman latauspalvelun tai aikomuksen tai mitä haluat päivittäisessä työssäsi.

Tämän toiminnon luominen ei ole vain Google Glassille, joten ohitan koodinpätkät. Jos etsit eteenpäin ja saat tämän viimeisen toiminnallisuuden toimimaan, profiilikorttisi pitäisi näyttää tältä:

Tämä on ApeeScape-kehittäjän Anna Chiara Bellinin Google Glass -profiili.

Tämä on ApeeScape-kehittäjän Samuel Edwardsin Google Glass -työ.

Opetusohjelma kääri

Toivon, että sinulla oli hauskaa seurata tätä Google Glass -kehitysopasta ja rakentaa ensimmäistä lasituotesovellustasi. Tähän mennessä sinun pitäisi olla tyytyväinen ajatukseen siitä, että Glass-sovellusten kirjoittaminen ei ole paljon erilainen kuin mikään muu Android-alusta.

Tässä vaiheessa olet oppinut laajentamaan Google Glass -ääniaktivoitua aloitusnäyttöä, luomaan omat ääniohjatut valikot ja yhdistämään ääniohjaimet kosketuseleisiin. Sinun tulisi myös ymmärtää Glass-käyttöliittymän käsitteet ja peruselementit, kuten kortit, asettelut ja elementit. Olet nähnyt, kuinka voit luoda kortteja dynaamisesti ja kuinka liikkua eri toimintojen välillä.

Sukella syvemmälle siirtymällä Googlen kehittäjäresursseihin osoitteessa developers.google.com/glass . Kun aloitat monimutkaisempien sovellusten rakentamisen, se osoittautuu erittäin hyödylliseksi resurssiksi.

Muistathan, että Glass on edelleen kehitysvaiheessa ja todennäköisesti on vielä paljon muita parannuksia ennen kuin se saapuu kuluttajamarkkinoille. Tässä mielessä minulla on yksi tärkeä huomautus sinulle:

Äänentunnistuksessa on jäljellä melko paljon työtä, ja saatat huomata itsesi huutavan kuvitteellista ystävääsi yrittäessäsi aloittaa toimintasi tai täyttää joitain tietoja. Ei hätää - kaikki, jotka kokeilevat Google Glass -kehitystä, tuntevat saman, joten et ole yksin.

Teknologia paranee, ja lasi on valmis vähittäiskauppaan hetkessä. Se varmasti tuottaa isoja aaltoja, kun se tulee kauppoihin, joten toivon, että olet yhtä innoissaan kuin minäkin ensimmäisistä, jotka ovat tämän jännittävän tekniikan eturintamassa!


Huutaa : Tämän artikkelin näyttökuvat tehdään käyttämällä [sähköposti suojattu] .

Mikä aiheuttaa kohinaa iPhone-kuvauksessa ja kuinka korjata se

Ammunta

Mikä aiheuttaa kohinaa iPhone-kuvauksessa ja kuinka korjata se
Kattava opas ilmoitusten suunnittelusta

Kattava opas ilmoitusten suunnittelusta

Mobiilisuunnittelu

Suosittu Viestiä
Opas: Kuinka tehdä tehokasta UX-tutkimusta
Opas: Kuinka tehdä tehokasta UX-tutkimusta
Geneettiset algoritmit: haku ja optimointi luonnollisella valinnalla
Geneettiset algoritmit: haku ja optimointi luonnollisella valinnalla
Apple M1 -suorittimen yleiskatsaus ja yhteensopivuus
Apple M1 -suorittimen yleiskatsaus ja yhteensopivuus
Kuinka aloittaa menestyvä valokuvaus YouTube-kanava
Kuinka aloittaa menestyvä valokuvaus YouTube-kanava
Laadunvarmistustestaus on täydellistä - käyttäjävirtausopastus
Laadunvarmistustestaus on täydellistä - käyttäjävirtausopastus
 
Täydellinen opas reaktiokoukkujen testaamiseen
Täydellinen opas reaktiokoukkujen testaamiseen
Rant melkoisia sovellussuunnitelmia vastaan
Rant melkoisia sovellussuunnitelmia vastaan
ApeeScapen suosituimpien ilmaisten ohjelmointikirjojen luettelo
ApeeScapen suosituimpien ilmaisten ohjelmointikirjojen luettelo
Ansaintojen laatu: taloudellisen due diligence -järjestelmän keskeinen pilari
Ansaintojen laatu: taloudellisen due diligence -järjestelmän keskeinen pilari
Ovatko yritysvastuun ponnistelut kannattavia?
Ovatko yritysvastuun ponnistelut kannattavia?
Luokat
KetteräLiikevaihdon KasvuMuokkausTuotteen ElinkaariKpi: T Ja AnalyticsSuunnitteluprosessiTuotemerkin SuunnitteluProjektinhallintaiOS-vinkkejäVinkkejä Ja Työkaluja

© 2023 | Kaikki Oikeudet Pidätetään

socialgekon.com