PrevodPantelic

**Deklarisanje komponenti**
Primarni zadatak manifesta je da obavesti sistem o komponentama aplikacije. Na primer, datoteka manifesta može da deklariše aktivnost na sledeći način:

U elementu <application> element android: icon, ukazuje na resurse za ikonicu koja identifikuje aplikaciju.

U elementu <activity>, android: name atribut precizira potpuno kvalifikovano ime klase od Activity podklase i, android:label atribut precizira string koji se koristi
kao korisniku vidljiva labela za neku aktivnost.

Morate delkarisati sve komponente aplikacije koristeći sledeće elemente:
<activity> elementi za aktivnosti;
<service> elementi za servise;
<receiver> elemnti za prijemnike;
<provider> elementi za provajdere sadržaja.

Aktivnosti, servisi i provajderi sadržaja koje uključite u svoj izvor, ali ih ne deklarišete u manifestu nisu vidljivi sistemu
i stoga nikada se ne mogu pokrenuti. Kako god prijemnici mogu biti deklarisani u manifestu ili biti dinamički kreirani u kodu
kao BroadcastReceiver objekti i registrovani u sistemu pozivom registerReceiver().

Za više o strukturi manifest datoteke vaše aplikacije pogledati The AndroidManifest.xml File dokumentaciju.

**Deklarisanje sposobnosti komponenata**

Kao što je gore rešeno, u aktivirajućim komponentama, može se koristiti Intent da se pokrenu aktivnosti, servisi, i prijemnici.
Intent se može eksplicitno koristiti imenujući ciljnu komponentu (koristeći ime klase čija je komponenta) u Intent.
Takođe se može koristiti implicintno intent, što opisuje tip akcije koja će se desiti, i opcionalno podaci sa kojima
bi se izvršila akcija. Implicitno korišćenje intent dozvoljava sistemu da nađe komponentu na uređaju koja će izvšiti
akciju i započeti je. Ako se nalazi više komponenata koje će izvršiti akciju opisanih pomoću itent, korisnik će izabrati
koju da koristi.

Oprez: Ako se intent koristi da se pokrene servis, osigurati da vaša aplikacija koristi intent eksplicitno. ukoliko itent koristimo
implicitno kako bi pokrenuli servis, to može dovesti do problema u bezbednosti, jer ne možemo biti sigurni da li će se servis odazvati
na itent, a korisnik ne može videti koji se servis pokreće. Sa Androidom 5.0 (API nivo 21), sistem daje izuzetak ukoliko se bindService()
zove implicitno sa itent.

Sistem identifikuje koje komponente se mogu odazvati na itent upoređujući itent primljen od itent filtera osiguranim u manifest fajlu
drugih aplikacija na uređaju.

Kada se aktivnost deklariše u manifestu aplikacije, može se opcionalno uključiti intent filter koji deklariše sposobnosti aktivnosti, pa to može
odgovoriti sa intent ostalih aplikacija. Može se deklarisati intent filter za komponentu dodajući <intent-filter> element kao dete od deklarisanog elementa
komponente.

Na primer, napravite aplikaciju za elekteronsku poštu sa aktivnošću za sastavljanje novih mejlova, možemo deklarisati intent filter koji će primiti "poslate" inters
(u slučaju slanja novih mejlova), kao što je pokazano u pratećem primeru:

Ukoliko druga aplikacija kreira intent sa ACTION\_SEND akcijom i prosledije do startActivity(), sistem će pokrenuti aktivnost stoga korisnik može da sastavi i pošalje mail.

Za više o kreiranju intent filtera, posetiti Intents and Intent Filters dokument.