AndroidManifest.xml - oferă informații detaliate despre aplicație. În fiecare aplicație Android ar trebui să vedeți acest fișier, deoarece este obligatoriu pentru crearea unei aplicații în sistemul de operare Android.
destinații
În AndroidManifest.xml, puteți configura următoarele opțiuni:
1. Specificați numele pachetului de aplicații Java care servește drept identificator unic;
2. Descrieți componentele aplicației, serviciului;
3. Specificați lista permisiunilor necesare pentru a accesa părțile protejate ale API și pentru a interacționa cu alte aplicații;
4. Permiteți accesul la resurse pe care aplicațiile terțelor părți trebuie să le interacționeze cu componentele acestei aplicații;
5. Specificați nivelul minim și maxim al API-ului Android necesar pentru ca aplicația să funcționeze;
Structura "AndroidManifest.xml"
Când mergeți la scrierea unui proiect complex bosley, veți observa că deseori mergeți la acest fișier pentru a configura unele dintre componentele de care aveți nevoie.
Dar pentru a configura ceva acolo, nu ar fi o idee proastă de a ști ce și ce este, acest lucru va fi discutat mai jos.
Iată toate principalele caracteristici ale AndroidManifest.xml, acestea fiind prezentate sub formă de etichete xml.
Se pare că acesta este un fișier manifest, în care fiecare etichetă poate stoca unele configurații.
Și acum, la rândul său, ce și pentru ce.
etichetă
Aceasta este cea mai importantă etichetă în care este încorporată întreaga configurație a proiectului.
În mod implicit, acesta este creat cu fișierul AndroidManifest și are inițial setul inițial de parametri:
Ce înseamnă acești parametri?
xmins: android - definește spațiul de nume Android;
pachet - specifică numele unic al pachetului de aplicații pe care l-ați specificat la crearea proiectului.
De ce trebuie să specific un pachet? Dacă doriți să descărcați aplicația pe Google Play, acesta verifică unicitatea la primirea cererii, se recomandă să se folosească numele pentru a se evita conflictele cu alți dezvoltatori.
android: versionCode este în esență o versiune a aplicației dvs. Când lansați o versiune nouă, o specificați în acest câmp, trebuie să fie un număr întreg.
Prin modificarea acestei opțiuni și descărcarea aplicației pe Google Play, toți utilizatorii aplicației dvs. vor fi rugați să se actualizeze la noua versiune a aplicației.
android: versionName - indică numărul versiunii utilizatorului. Dacă găsiți unele defecte în aplicația dvs. și le reparați, atunci în acest caz puteți specifica o nouă versiune pentru acest câmp, care va indica Google Play că nu este o versiune nouă a aplicației, ci o versiune îmbunătățită. Puteți utiliza o șir sau o resursă de șir pentru a numi versiunea.
Prin modificarea acestei setări și descărcarea aplicației pe Google Play, toți utilizatorii aplicației dvs. vor fi rugați să actualizeze versiunea modificată a aplicației.
etichetă
etichetă
Permisele sunt acordate în timpul instalării aplicației, și nu în timpul funcționării acesteia.
android: name - vă permite să acordați permisiunea de a utiliza resursele sistemului. De exemplu:
Cele mai comune permisiuni
- INTERNET - acces la Internet;
- RECEIVE_SMS - procesarea SMS-urilor primite;
- ACCESS_COARSE_LOCATION - utilizarea determinării aproximative a locației utilizând turnuri de celule sau puncte de acces Wi-Fi;
- ACCESS_FINE_LOCATION - locație precisă cu GPS.
etichetă
android: nume - permisiune titlu
android: label - numele permisiunii afișate utilizatorului
android: descriere - descrierea rezoluției
android: pictograma - permisiune
android: permissionGroup - definește calitatea de membru al grupului de permisiuni
android: protectionLevel - nivel de protecție
etichetă
Acest element nu declară permisiunea însăși, ci doar spațiul de nume, în care pot fi plasate alte permisiuni.
etichetă
Permisiunea poate fi plasată într-un grup prin atribuirea unui nume de grup în atributul GroupGroup
etichetă
Acesta este de obicei utilizat pentru depanarea și testarea aplicațiilor și este eliminat din versiunea de lansare a aplicației.
etichetă
Nivelul API declarat de aplicație este comparat cu nivelul API al sistemului dispozitivelor mobile pe care este instalată aplicația.
Această etichetă are următoarele atribute:
android: minSdkVersion - specifică nivelul minim al API necesar pentru a rula aplicația.
Sistemul Android va împiedica utilizatorul să instaleze aplicația dacă nivelul API-ului sistemului este mai mic decât valoarea specificată în acest atribut. Ar trebui să declarați întotdeauna acest atribut, de exemplu:
android: maxSDKVersion - vă permite să determinați cea mai recentă versiune pe care aplicația dvs. este pregătită să o susțină.
Aplicația dvs. va fi invizibilă pe Google Play pentru dispozitivele cu o versiune mai recentă.
targetSDKVersion - vă permite să specificați platforma pentru care ați dezvoltat și testat aplicația.
Prin setarea valorii pentru acest atribut, spuneți sistemului că nu sunt necesare modificări pentru a susține această versiune.
etichetă
De exemplu, o aplicație trebuie să aibă o cameră frontală sau un port USB pentru operare. Specificația este utilizată pentru a evita instalarea aplicației pe dispozitive care nu acceptă configurația necesară.
Dacă aplicația poate funcționa cu diferite configurații de dispozitive, trebuie să includeți elemente individuale în manifest
- reqHardKeyboard - folosiți valoarea adevărată. Dacă aplicația are nevoie de o tastatură hardware;
- reqKeyboardType - vă permite să specificați tipul de tastatură: nokeys. qwerty. twelvekey. nedefinit;
- reqNavigation - specificați una dintre următoarele valori: nonav. dpad. trackball. roată sau nedefinită. dacă aveți nevoie de un dispozitiv pentru navigare;
Aplicația nu va fi instalată pe un dispozitiv care nu se potrivește cu configurația dvs.
În mod ideal, ar trebui să dezvoltați o aplicație care să funcționeze cu orice combinație de dispozitive de intrare. În acest caz
etichetă
Astfel, aplicația nu va fi instalată pe dispozitive care nu au funcționalitatea necesară. De exemplu, o aplicație ar putea determina necesitatea unei camere frontale cu autofocus. Dacă dispozitivul nu are o cameră frontală încorporată cu autofocus, aplicația nu va fi instalată.
android.hardware.camera.front - necesită o cameră video hardware
android.hardware.camera.autofocus - necesită o cameră cu focalizare automată
Puteți înlocui cerința implicită prin adăugarea atributului obligatoriu la false.
De exemplu, dacă programul dvs. nu are nevoie de aparatul foto pentru a susține focalizarea automată:
etichetă
Această etichetă vă permite să specificați dimensiunea ecranului pentru care a fost creată aplicația. Sistemul va scala aplicația dvs. pe baza layout-urilor dvs. pe dispozitivele care suportă rezoluția ecranului pe care ați specificat-o.
Pentru alte cazuri, sistemul va întinde aspectul în măsura posibilului.
ecranele mici - Ecran QVGA
normalScreen - ecrane standard HVGA și WQVGA
largeScreen - ecrane mari
xlargeScreen - ecrane foarte mari care depășesc dimensiunea tabletelor
anyDensity - setați la true. Dacă aplicația dvs. este capabilă să scalare pentru a fi afișată pe ecran cu orice rezoluție.
În mod implicit, fiecare atribut este setat la true. Puteți specifica dimensiunile ecranului pe care aplicația dvs. nu le acceptă.
Începând cu API 13 - Android 3. eticheta are atribute noi:
requiresSmallestWidthDp - specificați lățimea minimă acceptată a ecranului în pixeli independenți de hardware. Cu ajutorul acestuia puteți filtra dispozitivele atunci când plasați o aplicație pe Google Play
compatibleWidthLimitDp - stabilește limita superioară a scalei pentru aplicația dvs. Dacă ecranul dispozitivului depășește limita specificată, sistemul va activa modul de compatibilitate.
largestWidthLimitDp - stabilește limita superioară absolută dincolo de care aplicația dvs. nu poate fi redusă cu exactitate. În acest caz, aplicația rulează în modul de compatibilitate, care nu poate fi dezactivat.
Ar trebui să evitați astfel de situații și să dezvoltați machete pentru orice ecrane.
etichetă
Fiecare element
Acest element este o informație și servicii externe (de exemplu, Google Play), pentru a înțelege mai bine compatibilitatea configurații de afișare specifice aplicației pot fi folosite pentru a permite filtrarea pentru utilizatori.
Acesta are două atribute:
android: screenSize - indică dimensiunea ecranului.
mici - mici;
normal - mediu;
mare - mare;
xlarge - foarte mare;
android: ecran - specificați dpi