Miten android ohjelmoinnissa "cleanataan" view?

Javaa on tullut koodattua vuosia, mutta android ohjelmoinnista ei mitään kokemuksia. Nyt lyhyellä perehtymisellä 2d pyöritykset ja piirrot oli ilahduttavan selkeitä, mutta itse toimintamalli ajatusmalli käyttöliittymän "sivutuksesta" on hakusessa. Olen yrittänyt päästä eteenpäin esimerkkien avulla, mutta en mistään löydä esimerkkiä, missä ruudulle lisätään elementtejä, ja kun valinnat on tehty, ruudulle piirrettäisiin uudet elementit.

Täällä esimerkkipaikka mistä löysin kymmeniä selkeitä ohjelmia:
http://www.edumobile.org/android/
ja tässä suomeksi peruslogiikasta
http://www.mit.jyu.fi/opiskelu/seminaarit/tiesem2011/Andoidsovelluskehitys.html
mutta kummastakaan ei aukea niin yksinkertainen toimintamalli, kuin

Ruudulla näkyisi nappi, ja kun siitä painaa, kyseinen nappi katoaa, ja ilmestyy uusia valintoja, vaikka radio buttoneita ja uusi erilainen nappi. Ja kun uudesta napista painaa, vaihtuu ruutu vaikka 2d piirtotilaan pois textview tai radiobuttonview tilasta.
Tuo logiikka tuntuisi olevan aivan kaikkien ohjelmien perusta, mutta missään esimerkissä ei tuota tehdä?
Jos kärsivällisyys riittää, voi selittää logiikkaa, tai jos löytyy sivu, jossa tämä selitetään ja esimerkein näytetään, tai edes esimerkein näytetään, niin olisi aika loistava juttu.
2264
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Uskoisin että sinun pitää xml-tiedostossa ensin määritellä joku isäntä layout näille elementeille ja antaa sille uniikki id. Sitten koodissa kutsut kyseistä elementtiä ja luot sitten napit yms dynaamisesti koodin puolella ja lisäät ne tähän layouttiin lapsiksi. Sitten kun sinun pitää vaihtaa elementtejä niin kutsut taas tätä layouttia ja poistat kaikki sen lapset (eli painikkeet ja muut), ja sitten lisäät uudet radiobuttonit yms. LinearLayoutilla ainakin näyttää olevan metodi removeAllViews, joka varmaan sopii tähän. En ole varma toimiiko, mutta uskoisin niin.

Äänestä
  • Jos muuten tarkoitit ihan vaan että miten käyttöliittymä jaetaan eri näkymiin, niin aktiviteetit ovat omia näkymiään (tavallaan omia sivuja), ja jokaiselle on oma layout (jonka sinä teet itse). Sinun pitää määritellä aktiviteetit android manifestissa, ja koodin puolella kun vaihdat aktiviteettia niin vaan kutsut seuraavaa. Tähän tarkoitukseen käytetään Intent-luokkaa. Katso Android API:sta tai googlaa.

    Äänestä

Kommentoi aloitusta


ei vaan onnistu kirjoitti:

Javaa on tullut koodattua vuosia, mutta android ohjelmoinnista ei mitään kokemuksia. Nyt lyhyellä perehtymisellä 2d pyöritykset ja piirrot oli ilahduttavan selkeitä, mutta itse toimintamalli ajatusmalli käyttöliittymän "sivutuksesta" on hakusessa. Olen yrittänyt päästä eteenpäin esimerkkien avulla, mutta en mistään löydä esimerkkiä, missä ruudulle lisätään elementtejä, ja kun valinnat on tehty, ruudulle piirrettäisiin uudet elementit.

Täällä esimerkkipaikka mistä löysin kymmeniä selkeitä ohjelmia:
http://www.edumobile.org/android/
ja tässä suomeksi peruslogiikasta
http://www.mit.jyu.fi/opiskelu/seminaarit/tiesem2011/Andoidsovelluskehitys.html
mutta kummastakaan ei aukea niin yksinkertainen toimintamalli, kuin

Ruudulla näkyisi nappi, ja kun siitä painaa, kyseinen nappi katoaa, ja ilmestyy uusia valintoja, vaikka radio buttoneita ja uusi erilainen nappi. Ja kun uudesta napista painaa, vaihtuu ruutu vaikka 2d piirtotilaan pois textview tai radiobuttonview tilasta.
Tuo logiikka tuntuisi olevan aivan kaikkien ohjelmien perusta, mutta missään esimerkissä ei tuota tehdä?
Jos kärsivällisyys riittää, voi selittää logiikkaa, tai jos löytyy sivu, jossa tämä selitetään ja esimerkein näytetään, tai edes esimerkein näytetään, niin olisi aika loistava juttu.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu