2013/11/26

Zerrenda sinpleak - Listview widget-a

Androiden zerrenda bat erakutsi nahi bada ListView izeneko widget bat erabili beharko da. Hala eta guztiz ere widget horrekin ez da nahikoa izango zerrenda bat osatzeko, honako elementu hauek ere programatu beharko dira:
  • Array-a: zerrendan agertu behar duten datuen edukiontzia izango da. String (testuak), int (zenbakiak),...motatakoa izan daiteke.
  • ListAdapter-a: datuak listview-ari egokitzeko erabiltzen den elementu edo objektua da.
  • Listview-a: interfaze grafikoan, hau da, xml fitxategian kokatu behar dugun widget edo objektu grafikoa da. Zerrendak GUI-an izango duen itxura definituko du (zabalera, altuera, background-a,...).
Azter dezagun adibide batekin zerrenda sinple baten erabilera. Jarraian azalduko den kodearekin I. Ilustrazioan ikus daitekeen app-a lortuko da, bertan zerrendako elementu bakoitzean klikatzen denean, posizio horretako edukia edota testua bidaliko da pantailara Toast baten bitartez.

I. Ilustrazioa: Zerrenda sinple baten App-a

2013/11/21

Pantaila anitzeko App-ak - Intent-ak

Garatu nahi den App-ak interfaze edo pantaila bat baino gehiago baditu Intent-ak erabili behar dira.

Intent-a App bat osatzen duten osagai ezberdinen arteko komunikazio elementua edo objektua da. Kasu honetan helburua beste pantaila bat irekitzea denez Intent baten bitartez beste activity bati deituko zaio: lehenengoan testu bat, izen bat, idatziko da EditText kontrolean eta Ireki Button-ari klikatzerakoan 2. activity-aren interfazea zabalduko da EditText-ean sartutako testua erakutsiz. I. Ilustrazioan ikus daiteke lortu nahi dena.

I. Ilustrazioa: 2 pantailako App-a

Widget-ek sortzen dituzten ebentuen kudeaketa

Erabiltzaileak interfazearekin elkarreragiten duen momentuan, adibidez pantailako botoi bat pultsatzean, ebentuak deitzen diren gertaerak sortzen dira. App-ek ebentu horien aurrean erreakzionatzeko gaitasuna dute Listener izeneko objektuak kudeatuz.

Listener ak View class-eak eskeintzen dituen interfazeak dira eta mota ezberdinak existitzen dira, hala nola jarraian azaltzen diren hauek:

  • View.OnClickListener: klik ebentuaren aurrean erantzuten duten horiek dira.
  • View.OnLongClickListener:  klik luzearen ebentuaren aurrean erantzuten duten horiek dira.
  • View.OnFocusChangeListener: fokua hartzearen edota galtzearen prozesuari erantzuten duten horiek dira.
  • View.OnKeyListener: elementuak fokua badu teklatuaren pultsazioen aurrean erreakzionatuko duten horiek dira.
  • View.OnTouchListener: erabiltzaileak elementu bat ukitzean edo soltatzean sortzen den ebentua da.
  • View.OnCreateContextMenuListener: pultsazio luze baten ondoren agertzen den laster-menuari erantzuten diona da.

2013/11/19

Jakinarazpen iragankorrak - Toast mezuak

Androiden modu ugari daude erabiltzaileari abixu edota jakinarazpen bat pasatzeko. Horien artean oso erabilgarriak dira bistaratzen den activity-ari fokua guztiz kendu gabe segundu batzuetan pantailan mantentzen diren mezuak (Ikus I. Ilustrazioa): Toast-ak.

I. Ilustrazioa: Toast mezu bat

Tamainu ezberdinetako gailuen interfazeak diseinatzea

Telefono mugikor eta tablet-en ekoizle kopurua dela eta Android gailu ezberdin ugari daude merkatuan forma eta tamainuei dagokionez. Hau arazo bihurtzen da programatzailearentzat, erabiltzailearen interfazeak egokitu egin beharko baititu horietako bakoitzarentzat.

Lehenengo eta behin honako kontzeptu hauek jakitea komeni da:

  • Androiden 4 tamainu ezberdin existitzen dira: txikia (small), ertaina (medium), handia (large) eta oso handia (extra-large).
  • Androiden 4 dentsitate (hazbete bakoitzeko pixel kopurua) ezberdin existitzen dira: low (ldpi), medium (mdpi), high (hdpi) y extra high (xhdpi).
Horiez gain azpimarratzekoa da pantaila bertikalean (portrait) edota horizontalean(landscape) jartzeak ere eragina izango duela interfazean.

Baldintza guzti horiek kontuan hartuz programatzaileak tamainu guztietarako eta bi orientaziotarako interfaze edo layout bana diseinatu beharko du. Horretarako, I. Ilustrazioan ikus daitekeen moduan formato ezberdinetarako diseinaturiko xml fitxategiak, res karpetaren barruan tamainuarekin eta orientazioarekin lotzen diren izen espezifikodun karpetetan sartuko ditugu.

I. Ilustrazioa: res karpeta barruko tamainu ezberdinetarako karpetak

2013/11/14

Erabiltzailearen interfaze grafikoa - Layout-ak eta Widget-ak

Erabiltzailearen interfazea edo GUI-a XML lengoaian definitzen den App-aren elementu grafikoa da. Aurretik aipatu bezala, azpimarratzekoa da eclipsek bi aukera eskeintzen dituela GUI-ak diseinatzeko (Ikus I. Ilustrazioa):
  • Zuzenean xml kodea idatziz.
  • Ikuspegi eta ingurune grafiko batean elementu ezberdinak gehituz, kenduz eta euren propietateak editatuz.
I. Ilustrazioa: GUI-ak diseinatzeko lehioa


2013/11/12

App bat araztatzen - Eclipseren Logcat-a

App-en araztatzea edota depurazioa burutzeko eclipsek logcat izeneko erreminta eskeintzen du. Programazio bitartez log ezberdinak bidal daitezke logcat consolara eta ondorioz App-aren exekuazioaren jarraipena modu bisualean burutu daiteke (Ikus I. Ilustrazioa).

I. Ilustrazioa: Eclipseren logcat-a


2013/11/07

String fitxategia eta App hizkuntza eleanitzak sortzeko aukera

Eclipsen Android proiektu bat sortzen den aldiro Hello world! testua erakusten duen interfaze grafikoa gehitzen du automatikoki I. Ilustrazioan ikus daitekeen moduan.

I. Ilustrazioa: Hello word!