Anatomia Androidului
Anatomia Androidului
• Activitate
• Recepț ioner de intenț ii
• Service
• Furnizor de conț inut
Nu fiecare aplicaț ie trebuie să aibă toate cele patru, dar aplicaț ia ta va fi scrisă cu unele
combinaț ia acestor.
Activity:
Activităț ile sunt cele mai comune dintre cele patru blocuri de construcț ie Android. O activitate este de obicei o
ecran unic în aplicaț ia ta. Fiecare activitate este implementată ca o clasă unică care extinde
clasa de bază Activitate. Clasa ta va afiș a o interfaț ă utilizator formată din Vederi ș i va răspunde
la evenimente. Cele mai multe aplica ț ii constau în mai multe ecrane. De exemplu, o aplica ț ie de mesagerie text
aplicaț ia ar putea avea un ecran care afiș ează o listă de contacte la care să trimită mesaje, un al doilea
ecran pentru a scrie mesajul către contactul ales ș i alte ecrane pentru a revizui mesajele vechi sau
schimbă setările. Fiecare dintre aceste ecrane ar fi implementat ca o activitate.
Când o nouă ecran se deschide, ecranul anterior este suspendat ș i pus pe un stivă de istorie. Utilizatorul
poate naviga înapoi prin ecranele deschise anterior în istoric. Ecranele pot de asemenea
alegeț i să fiț i eliminaț i din stiva de istorie atunci când ar fi inadecvat să rămână.
Android păstrează istoricul stivelor pentru fiecare aplicaț ie lansată de pe ecranul de start.
Android foloseș te o clasă specială numită Intent pentru a se deplasa de la un ecran la altul. Intent descrie ce
o aplicaț ie doreș te să fie finalizată. Cele două părț i cele mai importante ale structurii de date de intenț ie sunt
acț iune ș i datele pe care să acț ioneze. Valorile tipice pentru acț iune sunt MAIN (uș a principală a
aplicaț ie), VIZUALIZARE, ALEGERE, EDITARE, etc. Datele sunt exprimate ca un Indicator de Resursă Uniform
(URI). De exemplu, pentru a vizualiza un site web în browser, ai crea un Intent cu
Acț iunea VIEW ș i setul de date către un URI de site web.
Există o clasă corespunzătoare numită IntentFilter. În timp ce un intent este în esenț ă o cerere de a face
ceva, un filtru de intenț ii este o descriere a ceea ce intenț ionează o activitate (sau un receptor de intenț ii, vezi
în jos) este capabil să gestioneze. Activităț ile publică IntentFilters în [Link]
fiș ier.
Receiver de intenț ie :
Puteț i utiliza un IntentReceiver atunci când doriț i ca codul din aplicaț ia dvs. să se execute ca reacț ie
la un eveniment extern, de exemplu, atunci când sună telefonul sau când reț eaua de date este disponibilă,
sau când este miezul nop ț ii. Recep ț ionerii de inten ț ii nu afi ș ează o interfa ț ă utilizator, de ș i pot afi ș a
Notificări pentru a alerta utilizatorul dacă s-a întâmplat ceva interesant. Receptorii de intenț ie sunt de asemenea
înregistrat în [Link], dar le po ț i înregistra ș i din cod folosind
[Link]()
Service :
Un serviciu este un cod care are o durată lungă de viaț ă ș i rulează fără o interfaț ă grafică. Un bun exemplu în acest sens este un media
un player care redă melodii dintr-o listă de redare. Într-o aplicaț ie de redare multimedia, ar fi probabil
una sau mai multe activităț i care permit utilizatorului să aleagă melodii ș i să înceapă să le redea. Cu toate acestea,
redarea muzicii în sine nu ar trebui să fie gestionată de o activitate deoarece utilizatorul se va aș tepta la
muzică care să continue să cânte chiar ș i după navigarea către un nou ecran. În acest caz, playerul media
activitatea ar putea porni un serviciu folosind [Link]() pentru a rula în fundal pentru a menț ine
muzica merge. Sistemul va menț ine apoi serviciul de redare a muzicii activ până când acesta se termină.
(Puteț i învăț a mai multe despre prioritatea acordată serviciilor în sistem citind Ciclu de Viaț ă
o aplicaț ie Android.) Reț ineț i că puteț i să vă conectaț i la un serviciu (ș i să îl porniț i dacă nu este deja
rulând) cu metoda [Link](). Când e ș ti conectat la un serviciu, po ț i
comunicaț i cu acesta printr-o interfaț ă expusă de serviciu. Pentru serviciul de muzică, aceasta
s-ar putea să vă permită să pauzaț i, să derulaț i înapoi etc.
Content Provider :
Aplica ț iile pot stoca datele lor în fi ș iere, o bază de date SQLite, preferin ț e sau orice altceva
mechanism that makes sense. A content provider, however, is useful if you want your
datele aplicaț iei să fie partajate cu alte aplicaț ii. Un furnizor de conț inut este o clasă care
implementează un set standard de metode pentru a permite altor aplicaț ii să stocheze ș i să recupereze tipul de
datele care sunt gestionate de acel furnizor de conț inut.