Android pamokos: Activity, Intent, Intent-filter – kas tai ir kam tai reikalinga?
|
|
|
Praėjusiame įraše „Pirmoji Android programa” aptariau kaip pasiruošti Android OS skirtų programų kūrimui ir kaip sukurti pirmąją programą. Norėdami sukurti sudėtingesnę programą, mes turime susipažinti su keliais pagrindiniais dalykais. Šiame įraše apžvelgsiu tris, kurie mano nuomone yra vieni svarbiausių pradedant.
Svarbu: įraše naudojami terminai – Activity, Intent, Intent-filter nėra išversti į Lietuvių kalbą, tam kad būtų labiau suprantama.
Activity
Trumpai sakant, tai paprasčiausias veiksmas jūsų programoje. Keleto „Activity“ bendradarbiavimas jau sukuria Android programą. „Activity“ netik atvaizduoja tai, ką mato vartotojas (UI), bet tuo pačiu bendrauja su vartotoju ir atlieka tam tikras užduotis. Pavyzdžiui, viena „Activity“ gali rodyti elektroninių laiškų sąrašą.
Pirmame įraše sukurtoje programoje buvo tik viena „Activity“ klasė – „SveikasPasauli“. Ši klasė paveldi (extends) klasę android.app.Activity ir perrašo (override) metodą onCreate. onCreate metodas yra iškviečiamas, kai „Activity“ yra sukuriama. Android programuotojų dokumentacijoje yra pateikiamas „Activity“ gyvavimo ciklas, kuris yra labai svarbus, todėl siūlau būtinai su juo susipažinti.
Manifest
AndroidManifest.xml byla yra pagrindinė programos konfigūracijos vieta. Šios bylos pagalba mes nurodome įvairiausias mūsų programos galimybes ir ryšius joje.
Pažvelkime į pirmosios mūsų programos sukurtą AndroidManifest.xml ir jį panagrinėkime:
- package=„fwd.gedzis.pirmojiprograma“ – tai unikalus programos identifikatorius. Jo pagalba programos yra identifikuojamos Android Market svetainėje.
- <application … > – savyje turi atributus, kurių pagalba yra aprašoma, kaip programa atrodys telefone (logo, pavadinimas)
- <activity … > – aprašoma programoje naudojama „Activity“ (klasė ir jos pavadinimas programoje)
- <intent filter> – šios žymos pagalba aprašoma kokius veiksmus atlieka mūsų sukurtoji programa
Intent
Android programos yra kuriamos taip, kad viena programa galėtų kviesti kitą, nežinodama kitos programos specifikos. Visai tai yra pasiekiama naudojant Intent ir Intent filters. Trumpai tariant, „Intent” yra tam tikras abstraktus veiksmo apibūdinimas, kurį reikia atlikti su duomenų rinkiniu. Pavyzdžiui, pateikiami veiksmai peržiūrėti, redaguoti ar siųsti kažkurį kontaktą adresų knygelėje.
Kieviena „Activity“ klasė gali turėti kreipinį į „Intent”, taip iškviesdama kitą „Activity“ klasę, su jai reikalingais duomenimis. Visai tai gali būti atliekama toje pačioje programoje (pvz. Iš „Activity“ atvaizduojančios visą kontaktų sąrašą, patenkame į kitą, atvaizduojančią tik pasirinktąjį kontaktą) arba kviečiama klasė naudojama visai kitoje programoje (pvz. Norit atidaryti URL iš programos, kviečiama programa, kuri leidžia peržiūrėti internetinius puslapius).
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);
Intent-filter
„Activity“ galimybes parodomos naudojant „Intent-filter”. Naudojant „Intent-filter” yra aprašomi „Activity“ veiksmai, bei duomenų filtrai. Pavyzdžiui PDF bylų peržiūrėjimui skirta programa skelbia, kad ji gali atvaizduoti PDF tipo duomenis. Jei yra dvi programos galinčios atlikti tuos pačius veiksmus, Android OS automatiškai paprašys vartotojo pasirinkti programą, kurią jis nori naudoti.
Kaip ir buvo minėta anksčiau, visi šie nustatymai ir galimybių aprašymas yra nurodomi „AndroidManifest.xml” byloje. Pavyzdžiui, žemiau pateiktas kodas nurodo, kad „Activity“ yra skirta paleisti programai.
|
|
|
|
|
Gediminas Ubartas http://www.gedzis.net || @Gedzis || Facebook profilis || Google+ profilis
Jaunas programuotojas kilęs iš Telšių, o dabar gyvenantis ir dirbantis Vilniuje. Besidomintis programavimu, Android OS. Dabar studijuoja Verslo informatikos specialybę, Mykolo Romerio Universitete. Laisvalaikį dažniausiai praleidžia krepšinio aikštelėje, būdamas su draugais arba tiesiog kurdamas įvairiausius projektus. |
| Panašūs įrašai | Kiti autoriaus įrašai | Kiti kategorijos įrašai |




2011-07-29 12:34