Ce este Activitatea?
Termenul Activitate nu sa stabilit încă în limba rusă printre dezvoltatori. Unii folosesc cuvântul Activitate, alții folosesc Activitatea. Pentru a nu deveni confuz în nume, voi folosi termenul Activity (vezi nota).
Dezvoltatorii cu experiență pot percepe activitatea ca formă. Aplicațiile simple constau într-o singură activitate. Aplicațiile mai complexe pot avea mai multe ferestre, adică acestea constau în mai multe activități pe care trebuie să le puteți gestiona și care pot interacționa între ele.
Activitatea care este lansată prima este considerată principala activitate. Puteți începe o altă activitate din acesta. Și nu numai cea care se aplică aplicației noastre, ci și o altă aplicație. Utilizatorul va simți că toate activitățile pe care le lansează sunt părți ale aceleiași aplicații, deși în fapt pot fi definite în aplicații diferite și lucrează în diferite procese. Încercați să percepeți activitățile ca pagini de site-uri diferite care sunt deschise în browsere prin referință.
Notă: dacă activitatea de cuvinte are primele trei caractere și se amestecă, obținem pisică. dar din activitatea de cuvinte, puteți obține, de asemenea, o pisică.
De obicei, activitatea ocupă întregul ecran al dispozitivului, dar aceasta nu este o cerință. Puteți crea ferestre de activitate semi-transparente și plutitoare. Și odată cu dezvoltarea Android, această abordare câștigă impuls.
Pentru a crea o activitate, trebuie să moșteniți din clasa Activitate și să apelați metoda onCreate (). Rezultatul este un ecran gol. Nu are sens din acest ecran. Prin urmare, componentele sunt adăugate la activitate, fragmentele utilizând markup.
Ciclul de viață al activității
Activitatea are un ciclu de viață - începutul, când Android creează o instanță de activitate, o stare intermediară și un sfârșit, atunci când instanța este distrusă de sistem și eliberează resurse. Activitatea poate fi în trei state:
- Activ (activ sau în desfășurare) - activitatea se află în prim-planul ecranului. Utilizatorul poate interacționa cu fereastra activă;
- întrerupt - activitatea sa pierdut, dar este încă vizibilă pentru utilizator. Adică, activitatea se află în partea de sus și blochează parțial această activitate. Activitatea suspendată poate fi distrusă de sistem în situații critice, cu o lipsă de memorie;
- Oprit (oprit) - dacă această activitate este complet închisă de o altă activitate. Nu mai este vizibil pentru utilizator și poate fi distrus de sistem dacă memoria este necesară pentru un proces mai important.
Dacă activitatea care a fost distrusă de sistem trebuie să fie afișată din nou pe ecran, aceasta trebuie să fie complet reluată și restaurată în starea anterioară.
Activitate ca casetă de dialog
Amintiți-vă, atunci când studiați subiecte. am creat oa doua activitate sub forma unei casete de dialog. Cu același succes, puteți crea o fereastră pentru activitatea principală. Adăugăm o linie în manifestarea pentru activitate:
Să scriem codul pentru a rula:
Rețineți că, în acest exemplu nu folosim markup, și programatic a crea o instanță a clasei TextView cu proprietățile cerute (text, marjele) și trece-l în setContentView) metoda (.
Crearea activității programate
În general, folosim marcajul XML pentru a forma apariția activității. Aceasta este metoda recomandată și în 99% o veți folosi. În unele cazuri, poate fi necesar să creați activități software. Nu este nimic complicat, pentru dezvoltarea generală va fi util.
Dacă în cazul standard conectăm un fișier XML în metoda setContentView (R.layout.activity_main). atunci nu avem nevoie de această metodă pentru crearea de software. Îl ștergem și scriem codul:
Principiul formării următorului este de a crea un obiect LinearLayout (sau alt container) și de a stabili proprietățile necesare. Apoi, vom crea elementele copilului necesar și, de asemenea, vom configura proprietățile acestora. Nu uitați să conectați elementul copil la părinte prin metoda addView ().
În acest exemplu, atribuim identificatorii componenților prin intermediul metodei setId (). deși acest lucru nu era necesar. În exemplu, această caracteristică este afișată pentru demonstrație. Dacă utilizați identificatori, atunci în fișierul res / values / stings.xml adăugați liniile:
În mod obișnuit, programatorii experimentați creează un fișier separat pentru identificatori, de exemplu, res / values / ids.xml.
Clase de activități pe Android
Android SDK include un set de clase moștenite de la Activitate. Acestea sunt concepute pentru a simplifica munca cu widget-uri, care se găsesc adesea în interfața obișnuită a utilizatorului. Să enumerăm câteva dintre ele (cele mai utile).
- MapActivity. Încorporează procesarea resurselor necesare pentru a sprijini elementul MapView în cadrul activității.
- ListActivity. Un wrapper pentru clasa de activitate, principala caracteristică a căruia este widgetul ListView care este legat la sursa de date și cei care declanșează atunci când un element este selectat din listă.
- ExpandableListActivity. La fel ca ListActivity, dar în loc de ListView suportă ExpandableListView.
- TabActivity. Vă permite să plasați mai multe activități sau vizualizări într-un singur ecran, utilizând filele pentru a comuta între ele.