archive-fi.com » FI » M » MOBIILIKEHITYS.FI

Total: 273

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • GLSL | Mobiilikehitys
    muutos Fixed pipeline hoiti käyttäjän puolesta geometrian transformoinnin ja pikselien piirtämisen programmable pipelinessä kaikki tehdään itse Tämä mahdollistaa valtavan paljon enemmän kontrollia siihen mitä ollaan tekemässä vanha OpenGL käytännössä vaan konfiguroitiin uploadattiin geometria ja tekstuurit asetettiin valot ja transformaatiot ja sen jälkeen OpenGL hoiti loput lopputulokseen ei voinut vaikuttaa kauheasti Kaikki tämä on nyt toisin ja ainakin ne joilla on softwarerenderöintitaustaa iloinnevat tästä Shaderin kirjoittajalla on täysi valta ja toisaalta myös vastuu piirtää geometria juuri sillä tavalla kuin huvittaa Shaderit ovat käytännössä pienia C kieltä muistuttavia OpenGL Shader Language GLSL ohjelmia joita ajetaan erittäin tehokkaissa shader prosessoreissa näytönohjaimella GLSL n eri versiot ovat keskenään hieman erilaisia versio 1 20 on yhteensopiva OpenGL ES 2 0 n kanssa OpenGL ES 2 0 ssa näitä shadereita on kahdenlaisia ns Vertex Shaderit sekä Fragment Shaderit Rutkasti tiivistäen shaderit toimivat seuraavasti vertex shader ohjelmaa kutsutaan ajurin raudan toimesta kerran per polygonin vertex Vertex shader hoitaa geometrian transformoinnin ja voi laskea lisää asioita kuten valaistuksia distance fogia jne Vertex shaderin laskutoimitusten lopputulokset outputit interpoloidaan yli piirrettävänä olevan polygonin ja tarjoillaan inputteina fragment shaderille varying muuttujina Fragment shader laskee näiden avulla lopullisen piirrettävän pikselin fragmentin väriarvon Tämä on fragment shaderin ainoa output Nyrkkisääntönä tee kaikki laskenta minkä voit vertex shaderissa ja säilytä fragment shader mahdollisimman yksinkertaisena Esimerkki Vertex Shaderista Attribuutteja jotka lähetetään shaderille OpenGL stä automaattisesti jahka ne on enabloitu attribute vec4 position transformoimaton object space koordinaatti attribute vec3 normal transformoimaton object space vertex normaali attribute vec2 tex coords tekstuurikoordinaatit u v Uniformeja OpenGL stä manuaalisesti lähetettyjä arvoja jotka ovat samat koko piirrettävälle geometrialle uniform mat4 modelViewProjectionMatrix uniform mat3 normalMatrix Fragment shaderin outputit varying lowp float ndotVarying varying mediump vec2 texCoordsVarying Vakio const vec3 lightPosition vec3 0 0 0 0 1 0 void main Lasketaan valaistusarvo pinnan normaalin ja valon suunnan välisestä kulmasta kosinilla dot joka rajataan väliin 0 1 vec3 eyeNormal normalize normalMatrix normal float ndot max 0 0 dot eyeNormal normalize lightPosition Valmistellaan outputit näiden interpoloidut arvot päätyvät fragment shaderille inputeiksi ndotVarying ndot texCoordsVarying tex coords Geometrian transformointi gl Position on varattu sana output muuttujalle johon tämä informaatio kirjoitetaan gl Position modelViewProjectionMatrix position Esimerkki Fragment Shaderista uniform lowp sampler2D texture OpenGL stä passattu handle tekstuuriin Shaderin inputit nämä laskettiin fragment shaderissa interpoloitiin raudan toimesta ja ovat nyt tarjolla lopullisen pikselin värin laskemiseksi varying lowp float ndotVarying varying mediump vec2 texCoordsVarying void main Tämän shaderin tapauksessa lopullinen pikselin väri lasketaan seuraavasti sampletaan tekstuurista oikealta kohdalta pikseli ja kerrotaan se valoisuusarvolla 0 1 Lopputulos on kauniisti Lambert flat shadeutuva pinta jossa valo paistaa katselusuunnasta highp vec4 color texture2D texture texCoordsVarying ndotVarying gl FragColor on kuten kaikki gl prefiksin GLSL nimet varattu sana muuttujalle johon lopullinen fragment shaderin output kirjoitetaan gl FragColor color Muut asiat Koska meillä on shaderit ja niiden myötä valta piirtää miten haluamme monia vanhan OpenGL n kutsuja ei tarvita enää mihinkaan Esimerkkeinä vaikkapa glEnableClientState ja glEnable GL TEXTURE 2D Lisäksi GLUT kirjastoa ei ole tarjolla suoraan matriisikirjaston onkin kyettävä tarjoaamaan toiminnallisuus paitsi rotaatioiden translaatioiden myös perspektiivimatriisien luomiseksi Ideaalinen tila tietysti on että kehittäjä

    Original URL path: http://mobiilikehitys.fi/tag/glsl/ (2016-04-30)
    Open archived version from archive


  • grafiikka | Mobiilikehitys
    2011 tommy Leave a comment Ensimmäinen asia mitä lähes jokainen aloitteleva ohjelmoija haluaa tehdä on oma peli Tämän toteuttamiseen tarvitaan lähes välttämättä liikkuvien grafiikkojen piirtämistä Tässä artikkelissa esitetään Androidin 2D grafiikkojen piirtäminen kankaalle Käymme myös läpi hiukan yksinkertaista säikeiden käyttöä ja säieturvallisuutta Androidille 2D grafiikkojen piirtämiseen tarvitaan näkymä jolle voi piirtää Toteutamme tässä esimerkissä oman versiomme SurfaceView stä jolle piirtäminen tapahtuu käytännössä antamalla SurfaceView lle kankaan onDraw metodissa Override protected void onCreate Bundle savedInstanceState super onCreate savedInstanceState starList new ArrayList StarFallActivity Star setContentView new StarSurface this class StarSurface extends SurfaceView implements SurfaceHolder Callback private GameThread gameThread private GraphicThread graphicThread public StarSurface Context context super context getHolder addCallback this gameThread new GameThread this graphicThread new GraphicThread getHolder this Override public void onDraw Canvas canvas canvas drawColor Color BLACK synchronized starList for Star star starList canvas drawBitmap star getImage star getX star getY null Pidämme kirjaa rajoittamattomasta määrästä putoavia objekteja ja piirrämme ne kankaalle niiden sisällään pitämän sijainnin muukaan onDraw metodissa Resursseissa olevan kuvan piirtäminen valmiista kuvaresurssista ei vaadi kuin resurssin bittikartaksi muuttamisen ja X ja Y koordinaatit mihin kuva pintanäkymässä tulee BitmapFactory decodeResource getResources R drawable icon Säikeet ja säieturvallisuus Pidämme objektien liikuttamisen ja ruudunpäivityksen erillisissä säikeissä ja laitamme säikeet odottamaan kun niitä ei tarvita Säikeiden käytössä täytyy myös ottaa huomioon samanaikaisten operaatioiden turvallisuus Koska pidämme liikuvat objektit yhdessä listassa täytyy lista asettaa synkronoiduksi niin että siihen voi kohdistua vain yksi operaatio kerrallaan Tämä täytyy tehdä jokaisessa paikassa missä listaa käsitellään Esimerkiksi pelin osia liikuttelevassa säikeessä synchronized starList for Iterator Star iterator starList iterator iterator hasNext Star star iterator next star move if star getY maxHeight iterator remove Koska poistamme listasta putoavan tähden jos se menee ruudun ulkopuolelle joudumme käyttämään iteraattoria koska listasta poistaminen sen läpikäynnin aikana ei suoraan ole mahdollista Säikeissä tarvitsee pääasiassa vain metodit säikeen käynnissä olon asettamiseen ja run metodin oma toteutus missä säikeen suoritusaikainen toiminta tapahtuu Sijettä ei tule tappaa stop metodilla sillä se voi jättää ohjelmistosi outoon tilaan Tämän sijasta tulisi käyttää run metodissa while lausetta joka toistuu niin kauan kuin säikeen sisäinen while ehto muuttuu epätodeksi ja run metodi pääsee suorittamaan loppuun Säikeet joiden run metodi on päässyt suoriutumaan kokonaan tapetaan automaattisesti järjestelmän toimesta Jos et halua säikeesi vievän kaikkea prosessointitehoa aseta säie jokaisen while luupin lopuksi odottamaan jonkin aikaa Piirtopintaa ei esimerkiksi kannata päivittää useampaa kuin 60 kertaa sekunnissa ja tämäkin on yleensä liikaa Säikeen voi myös pakottaa käynnistymään kutsumalla sille notify metodia Lataa esimerkki tästä Voit nyt tehdä esimerkiksi oman versiosi kitarasankarista ja pudottaa ruudun yläpäästä kuvia ja tarkastella osuuko käyttäjä niihin ennen kuin ne putoavat ulos ruudulta 2D Android Animaatio grafiikka Kuvat Suorituskyky Thread Android Resurssit Sovelluskehitys Nine patch Androidissa August 31 2011 tommy Leave a comment Graafinen käyttöliittymä vaatii paljon kuvaresursseja ja mikäli on tarkoitus tukea erilaisia Android laitteita joudutaan tekemään samoista kuvista eriresoluutioiset versiot Työ vähenee huomattavasti jos kuvat venyvät sopivaan kokoon Nine patch tarjoaa mahdollisuuden venyttää kuvia järkevästi eli se venyttää vain määriteltyjä osia kuvasta Muu osa kuvasta pysyy sellaisena kuin se on kuvassa eikä veny Venyviä alueita voi

    Original URL path: http://mobiilikehitys.fi/tag/grafiikka/ (2016-04-30)
    Open archived version from archive

  • OpenGL | Mobiilikehitys
    minkä voit vertex shaderissa ja säilytä fragment shader mahdollisimman yksinkertaisena Esimerkki Vertex Shaderista Attribuutteja jotka lähetetään shaderille OpenGL stä automaattisesti jahka ne on enabloitu attribute vec4 position transformoimaton object space koordinaatti attribute vec3 normal transformoimaton object space vertex normaali attribute vec2 tex coords tekstuurikoordinaatit u v Uniformeja OpenGL stä manuaalisesti lähetettyjä arvoja jotka ovat samat koko piirrettävälle geometrialle uniform mat4 modelViewProjectionMatrix uniform mat3 normalMatrix Fragment shaderin outputit varying lowp float ndotVarying varying mediump vec2 texCoordsVarying Vakio const vec3 lightPosition vec3 0 0 0 0 1 0 void main Lasketaan valaistusarvo pinnan normaalin ja valon suunnan välisestä kulmasta kosinilla dot joka rajataan väliin 0 1 vec3 eyeNormal normalize normalMatrix normal float ndot max 0 0 dot eyeNormal normalize lightPosition Valmistellaan outputit näiden interpoloidut arvot päätyvät fragment shaderille inputeiksi ndotVarying ndot texCoordsVarying tex coords Geometrian transformointi gl Position on varattu sana output muuttujalle johon tämä informaatio kirjoitetaan gl Position modelViewProjectionMatrix position Esimerkki Fragment Shaderista uniform lowp sampler2D texture OpenGL stä passattu handle tekstuuriin Shaderin inputit nämä laskettiin fragment shaderissa interpoloitiin raudan toimesta ja ovat nyt tarjolla lopullisen pikselin värin laskemiseksi varying lowp float ndotVarying varying mediump vec2 texCoordsVarying void main Tämän shaderin tapauksessa lopullinen pikselin väri lasketaan seuraavasti sampletaan tekstuurista oikealta kohdalta pikseli ja kerrotaan se valoisuusarvolla 0 1 Lopputulos on kauniisti Lambert flat shadeutuva pinta jossa valo paistaa katselusuunnasta highp vec4 color texture2D texture texCoordsVarying ndotVarying gl FragColor on kuten kaikki gl prefiksin GLSL nimet varattu sana muuttujalle johon lopullinen fragment shaderin output kirjoitetaan gl FragColor color Muut asiat Koska meillä on shaderit ja niiden myötä valta piirtää miten haluamme monia vanhan OpenGL n kutsuja ei tarvita enää mihinkaan Esimerkkeinä vaikkapa glEnableClientState ja glEnable GL TEXTURE 2D Lisäksi GLUT kirjastoa ei ole tarjolla suoraan matriisikirjaston onkin kyettävä tarjoaamaan toiminnallisuus paitsi rotaatioiden translaatioiden myös perspektiivimatriisien luomiseksi Ideaalinen tila tietysti on että kehittäjä tietää miten glFrustum toimii Shadereihin liittyvät attributet ja uniformit pähkinänkuoressa attributet ovat mekanismi tuoda geometriaan liittyvä data vertex shaderille Niitä hallitaan glBindAttribLocation glEnableVertexAttribArray glVertexAttribPointer kutsuilla Uniformit taas ovat kehittäjän shadereilleen syöttämää dataa jotka ovat yhtenäisiä tästä nimi läpi koko kappaleen tai sen osan tai usean kappaleen geometrian esimerkiksi transformaatiomatriisit tekstuurit jne Uniformeja hallitaan glGetUniformLocation glUniform kutsuilla Toteutus OpenGL ES 2 0 Hello World Uusi Xcode ja iOS 5 0 ovat tehneet tämän helpoksi Xcodesta löytyy projektinluontiwizard jolla syntyy toiminnallisuudeltaan täydellinen OpenGL ES 2 0 sovellus shadereineen kaikkineen Wizardin luoma toteutus piirtää sinisen ja punaisen laatikon jotka pyörivät toistensa sekä omien keskipisteidensä ympäri Toinen laatikko piirretään GLSL llä toinen GLKitin avulla GLKit on hyvin laaja ja ominaisuusrikas OpenGL apukirjasto joka esiteltiin iOS 5 0 päivityksen myötä Wizardin GLKitin käytössä on puolensa toisaalta pääsee nopeasti liikkeelle toimivalla rungolla mutta toisaalta se myös tarjoaa kehittäjälle mahdollisuuden olla oikeasti oppimatta mitä konepellin alla tapahtuu Tässä harjoituksessa luodaan wizardilla oletusprojekti ja muokataan sita siten että sininen kuutio piirretään tekstuurimapattynä väritetyn sijaan Valitaan Xcode sta File New New Project ja valitaan GLKit wizard templaatiksi Korvataksemme alkuperäisen kovakoodatun värityksen tekstuurilla on tehtävä jokunen asia Vertex attribuutteihin lisätään tekstuurikoordinaatit muuttuja gCubeVertexData sisältämään taulukkoon lisätään u v arvot ja

    Original URL path: http://mobiilikehitys.fi/tag/opengl/ (2016-04-30)
    Open archived version from archive

  • reaaliaikainen | Mobiilikehitys
    muutos Fixed pipeline hoiti käyttäjän puolesta geometrian transformoinnin ja pikselien piirtämisen programmable pipelinessä kaikki tehdään itse Tämä mahdollistaa valtavan paljon enemmän kontrollia siihen mitä ollaan tekemässä vanha OpenGL käytännössä vaan konfiguroitiin uploadattiin geometria ja tekstuurit asetettiin valot ja transformaatiot ja sen jälkeen OpenGL hoiti loput lopputulokseen ei voinut vaikuttaa kauheasti Kaikki tämä on nyt toisin ja ainakin ne joilla on softwarerenderöintitaustaa iloinnevat tästä Shaderin kirjoittajalla on täysi valta ja toisaalta myös vastuu piirtää geometria juuri sillä tavalla kuin huvittaa Shaderit ovat käytännössä pienia C kieltä muistuttavia OpenGL Shader Language GLSL ohjelmia joita ajetaan erittäin tehokkaissa shader prosessoreissa näytönohjaimella GLSL n eri versiot ovat keskenään hieman erilaisia versio 1 20 on yhteensopiva OpenGL ES 2 0 n kanssa OpenGL ES 2 0 ssa näitä shadereita on kahdenlaisia ns Vertex Shaderit sekä Fragment Shaderit Rutkasti tiivistäen shaderit toimivat seuraavasti vertex shader ohjelmaa kutsutaan ajurin raudan toimesta kerran per polygonin vertex Vertex shader hoitaa geometrian transformoinnin ja voi laskea lisää asioita kuten valaistuksia distance fogia jne Vertex shaderin laskutoimitusten lopputulokset outputit interpoloidaan yli piirrettävänä olevan polygonin ja tarjoillaan inputteina fragment shaderille varying muuttujina Fragment shader laskee näiden avulla lopullisen piirrettävän pikselin fragmentin väriarvon Tämä on fragment shaderin ainoa output Nyrkkisääntönä tee kaikki laskenta minkä voit vertex shaderissa ja säilytä fragment shader mahdollisimman yksinkertaisena Esimerkki Vertex Shaderista Attribuutteja jotka lähetetään shaderille OpenGL stä automaattisesti jahka ne on enabloitu attribute vec4 position transformoimaton object space koordinaatti attribute vec3 normal transformoimaton object space vertex normaali attribute vec2 tex coords tekstuurikoordinaatit u v Uniformeja OpenGL stä manuaalisesti lähetettyjä arvoja jotka ovat samat koko piirrettävälle geometrialle uniform mat4 modelViewProjectionMatrix uniform mat3 normalMatrix Fragment shaderin outputit varying lowp float ndotVarying varying mediump vec2 texCoordsVarying Vakio const vec3 lightPosition vec3 0 0 0 0 1 0 void main Lasketaan valaistusarvo pinnan normaalin ja valon suunnan välisestä kulmasta kosinilla dot joka rajataan väliin 0 1 vec3 eyeNormal normalize normalMatrix normal float ndot max 0 0 dot eyeNormal normalize lightPosition Valmistellaan outputit näiden interpoloidut arvot päätyvät fragment shaderille inputeiksi ndotVarying ndot texCoordsVarying tex coords Geometrian transformointi gl Position on varattu sana output muuttujalle johon tämä informaatio kirjoitetaan gl Position modelViewProjectionMatrix position Esimerkki Fragment Shaderista uniform lowp sampler2D texture OpenGL stä passattu handle tekstuuriin Shaderin inputit nämä laskettiin fragment shaderissa interpoloitiin raudan toimesta ja ovat nyt tarjolla lopullisen pikselin värin laskemiseksi varying lowp float ndotVarying varying mediump vec2 texCoordsVarying void main Tämän shaderin tapauksessa lopullinen pikselin väri lasketaan seuraavasti sampletaan tekstuurista oikealta kohdalta pikseli ja kerrotaan se valoisuusarvolla 0 1 Lopputulos on kauniisti Lambert flat shadeutuva pinta jossa valo paistaa katselusuunnasta highp vec4 color texture2D texture texCoordsVarying ndotVarying gl FragColor on kuten kaikki gl prefiksin GLSL nimet varattu sana muuttujalle johon lopullinen fragment shaderin output kirjoitetaan gl FragColor color Muut asiat Koska meillä on shaderit ja niiden myötä valta piirtää miten haluamme monia vanhan OpenGL n kutsuja ei tarvita enää mihinkaan Esimerkkeinä vaikkapa glEnableClientState ja glEnable GL TEXTURE 2D Lisäksi GLUT kirjastoa ei ole tarjolla suoraan matriisikirjaston onkin kyettävä tarjoaamaan toiminnallisuus paitsi rotaatioiden translaatioiden myös perspektiivimatriisien luomiseksi Ideaalinen tila tietysti on että kehittäjä

    Original URL path: http://mobiilikehitys.fi/tag/reaaliaikainen/ (2016-04-30)
    Open archived version from archive

  • UIPickerView UIScrollView:n sisällä | Mobiilikehitys
    CustomScrollView lle seuraavat ominaisuudet ja näille arvot CustomScrollView canCancelContentTouches YES CustomScrollView delaysContentTouches NO Sopiva paikka ominaisuuksien asettamisille on esimerkiksi CustomScrollView ta käyttävän luokan ViewDidLoad metodissa iPhone UIPickerView UIScollview Post navigation Previous Post Omat layout elementit Androidissa Next Post Koodin virheiden jäljitys Androidilla Leave a Reply Cancel reply Your email address will not be published Required fields are marked Name Email Website Comment You may use these HTML tags and attributes a href title abbr title acronym title b blockquote cite cite code del datetime em i q cite strike strong tarinoita mobiilikehityksen maailmasta Mobiilikehitys fi Mobiilikehitys fi on Qvik Oy n työntekijöiden ylläpitämä blogi jonka kirjoittajilla on vankka mobiilialan asiantuntijuus Blogissa käsitellään kaikkea mobiilikehitykseen liittyvää ja vähän siitä vierestäkin Seuraa Facebookissa Seuraa Twitterissä Blogin RSS syöte Onko yrityksesi vailla mobiiliosaajia Qvik Oy tekee suuret ja pienet mobiiliprojektit ota yhteyttä niin käynnistetään sinun yrityksesi mobiiliprojekti Recent Posts Sijaintipalvelut iOS applikaatioissa 2 Geokoodaus Sijaintipalvelut iOS applikaatioissa OUYA Android konsoli Windows Phone 8 ja parantunut HTML5 tuki Porttautuva koodi mobiilissa Archives November 2013 August 2013 June 2013 April 2013 February 2013 January 2013 December 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 March 2012 February 2012 January 2012

    Original URL path: http://mobiilikehitys.fi/uipickerview-uiscrollviewn-sisalla/ (2016-04-30)
    Open archived version from archive

  • UIPickerView | Mobiilikehitys
    touchesShouldCancelInContentView UIView view cancels touches to any UIPickerView UIPickerView has class description UIPickerTable if view class description isEqualToString UIPickerTable return NO return YES end Tämän lisäksi on CustomScorllView tä käyttävässä luokassa asettava CustomScrollView lle seuraavat ominaisuudet ja näille arvot CustomScrollView canCancelContentTouches YES CustomScrollView delaysContentTouches NO Sopiva paikka ominaisuuksien asettamisille on esimerkiksi CustomScrollView ta käyttävän luokan ViewDidLoad metodissa iPhone UIPickerView UIScollview tarinoita mobiilikehityksen maailmasta Mobiilikehitys fi Mobiilikehitys fi on Qvik Oy n työntekijöiden ylläpitämä blogi jonka kirjoittajilla on vankka mobiilialan asiantuntijuus Blogissa käsitellään kaikkea mobiilikehitykseen liittyvää ja vähän siitä vierestäkin Seuraa Facebookissa Seuraa Twitterissä Blogin RSS syöte Onko yrityksesi vailla mobiiliosaajia Qvik Oy tekee suuret ja pienet mobiiliprojektit ota yhteyttä niin käynnistetään sinun yrityksesi mobiiliprojekti Recent Posts Sijaintipalvelut iOS applikaatioissa 2 Geokoodaus Sijaintipalvelut iOS applikaatioissa OUYA Android konsoli Windows Phone 8 ja parantunut HTML5 tuki Porttautuva koodi mobiilissa Archives November 2013 August 2013 June 2013 April 2013 February 2013 January 2013 December 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 April 2011 March 2011 February 2011 January 2011 Categories Alustat 63 Android 24 HTML5 7 iOS 30 Windows

    Original URL path: http://mobiilikehitys.fi/tag/uipickerview/ (2016-04-30)
    Open archived version from archive

  • UIScollview | Mobiilikehitys
    touchesShouldCancelInContentView UIView view cancels touches to any UIPickerView UIPickerView has class description UIPickerTable if view class description isEqualToString UIPickerTable return NO return YES end Tämän lisäksi on CustomScorllView tä käyttävässä luokassa asettava CustomScrollView lle seuraavat ominaisuudet ja näille arvot CustomScrollView canCancelContentTouches YES CustomScrollView delaysContentTouches NO Sopiva paikka ominaisuuksien asettamisille on esimerkiksi CustomScrollView ta käyttävän luokan ViewDidLoad metodissa iPhone UIPickerView UIScollview tarinoita mobiilikehityksen maailmasta Mobiilikehitys fi Mobiilikehitys fi on Qvik Oy n työntekijöiden ylläpitämä blogi jonka kirjoittajilla on vankka mobiilialan asiantuntijuus Blogissa käsitellään kaikkea mobiilikehitykseen liittyvää ja vähän siitä vierestäkin Seuraa Facebookissa Seuraa Twitterissä Blogin RSS syöte Onko yrityksesi vailla mobiiliosaajia Qvik Oy tekee suuret ja pienet mobiiliprojektit ota yhteyttä niin käynnistetään sinun yrityksesi mobiiliprojekti Recent Posts Sijaintipalvelut iOS applikaatioissa 2 Geokoodaus Sijaintipalvelut iOS applikaatioissa OUYA Android konsoli Windows Phone 8 ja parantunut HTML5 tuki Porttautuva koodi mobiilissa Archives November 2013 August 2013 June 2013 April 2013 February 2013 January 2013 December 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 April 2011 March 2011 February 2011 January 2011 Categories Alustat 63 Android 24 HTML5 7 iOS 30 Windows

    Original URL path: http://mobiilikehitys.fi/tag/uiscollview/ (2016-04-30)
    Open archived version from archive

  • iPhone Hei Maailma tutoriaali | Mobiilikehitys
    heiMaailmaLabel release super dealloc end Lähdekoodit on nyt kirjoitettu ja voidaan siirtyä näkymän rakentamiseen Tupla klikkaa HellowWorldViewController xib tiedostoa ja Interface Builder aukeaa Alla olevaan näkymään Valitse Library ikkunasta Round Rect Button komponentti ja raahaa se harmaaseen View ikkunaan Liikuta nappi keskelle alas ja muuta komponentin asetuksista Title kenttään teksti Paina Tästä Button Attributes näkymän saa esille kun nappi on valittu ja painat 1 Kun nappi on aseteltu etsi Library näkymästä Label komponentti ja raahaa sekin harmaaseen näkymään Isonna Label komponenttia vetämällä sen reunoista tyhjennät Text kenttä ja valitse Layout keskitys Näkymäsi pitäisi nyt näyttää tältä Lisätään seuraavaksi nappiin aikaisemmin määrittelemmä IBAction Paina kerran näkymässä näkyvää Paina Tästä nappia ja tämän jälkeen 2 jolloin saat näkyviin Button Connections näkymän Paina ctrl nappi pohjaan ja vedä hiirellä Touch Up Inside pallurasta yhteys File s Owneriin ja valitse nappiaPainettu Alla oleva kuva havainnoillistanee asiaa Näin liitimme aiemmin lähdekoodissa määritelemmä IBAction tapahtuman tapahtuvaksi kun sormi nousee ylös Paina Tästä napista Huomaa että hiukan epäintuitiivesti napin painaminen tarkoittaa iOS laitteissa sitä että sormi nostetaan pois napilta Aiemmin lähdekoodissa määritelemmä IBOutlet yhdistetään nyt näkymään Valitse File s Owner paina ctrl nappi pohjaan vedä yhteys Label iin ja valitse heiMaailmaLabel Tallenna näkymä s palaa takaisin XCodeen ja paina Build Run Simulaattorin pitäisi nyt pyörähtää käyntiin ja näyttää tekemäsi sovellus Heipä vain maailma Ensi kerralla jotain vähän erikoisempaa IBAction IBOutlet Inteface Builder iPhone Xcode Post navigation Previous Post Näin pääset Android kehityksessä alkuun Next Post iOS 4 3 Xcode 4 ja iPad 2 Leave a Reply Cancel reply Your email address will not be published Required fields are marked Name Email Website Comment You may use these HTML tags and attributes a href title abbr title acronym title b blockquote cite cite code del datetime em i q cite strike strong tarinoita mobiilikehityksen maailmasta Mobiilikehitys fi Mobiilikehitys

    Original URL path: http://mobiilikehitys.fi/iphone-hei-maailma-tutoriaali/ (2016-04-30)
    Open archived version from archive