Documente Academic
Documente Profesional
Documente Cultură
Aproape toate activitile interacioneaz cu utilizatorul, astfel nct clasa de activitate se ocup
de crearea unei ferestre pentru tine n care v putei crea interfata cu setContentView (View). n
timp ce activitile sunt adesea prezentate utilizatorului ca ferestrele full-screen, ele pot fi
folosite i n alte moduri: ca ferestre plutitoare (printr-o tem cu windowIsFloating set) sau
ncorporat n interiorul unei alte activiti (folosind ActivityGroup). Exist dou metode,
aproape toate subclasele de activitate vor pune n aplicare:
onCreate (Bundle) este n cazul n care va iniializa activitatea. Cel mai important,
aici te va intreba de setContentView (int), cu care definete o resurs de aspect UI dvs. i
folosind findViewById (int) pentru a prelua widget-urile din acea interfa care avei
nevoie pentru a interaciona cu programa.
onPause () este n cazul n care va face fa cu utilizatorul lsnd activitatea
dumneavoastr. Cel mai important, modificrile fcute de ctre utilizator ar trebui, n
acest moment s se angajeze (de obicei, la ContentProvider care deine datele).
Pentru a va fi de folos Context.startActivity (), toate clasele de activitate trebuie s aib o
<activitate> - declaraie corespunztoare din AndroidManifest.xml pachetul lor.
- Activity Lifecycle
Activitile desfurate n sistem sunt gestionate ca o stiv de activitate. Cnd se ncepe o
nou activitate, acesta este plasat pe partea de sus a stivei i devine activitatea de rulare activitatea anterioar rmne ntotdeauna sub ea n stiv, i nu va veni n prim-plan din nou
pn la noile ieiri de activitate.
su. Atunci cnd este afiat din nou pentru utilizator, acesta trebuie s fie complet
repornit i readus la starea sa anterioar.
Urmtoarea diagram prezint importante ci de stat ale unei activiti. Dreptunghiurile
ptrate reprezint metode de apelare invers v pot pune n aplicare pentru a efectua operaiuni
n cazul n care activitatea se mic ntre state. Cele mai colorate ovalurile sunt state majore
Activitatea poate fi n.
- Process Lifecycle
Sistemul Android ncearc s menin procesul de aplicare n jurul valorii de atta timp
ct este posibil, dar n cele din urm va trebui s eliminai procesele vechi atunci cnd memoria
ruleaz sczut. Aa cum s-a descris n activitatea durata ciclului de via, decizia cu privire la
procesul de a elimina este intim legat de starea de interaciune a utilizatorului cu ea. n
general, exist patru stri un proces poate s se bazeze n activitile pe care ruleaz n ea,
enumerate aici, n ordinea importanei. Sistemul va ucide procese mai puin importante (cele de
ultima) nainte de a recurge la uciderea unor procese mai importante (cele mai nti).
Activitatea de prim-plan (activitatea n partea de sus a ecranului, pe care utilizatorul este
n prezent care interacioneaz cu acesta) este considerat cel mai important. Procesul su va fi
ucis doar n ultim instan, n cazul n care folosete mai mult memorie dect este disponibil
pe dispozitiv. n general, n acest moment dispozitivul a ajuns la o stare de paginare de
memorie, astfel nct acest lucru este necesar pentru a menine interfaa cu utilizatorul receptiv.
O activitate vizibila (o activitate care este vizibil pentru utilizator, dar nu i n prim-plan,
cum ar fi o stnd n spatele unui dialog de prim-plan) este considerat extrem de important i nu
vor fi ucise cu excepia cazului n care este necesar pentru a menine activitatea de prim-plan
de funcionare.
O activitate de fond (o activitate care nu este vizibil pentru utilizator i a fost ntrerupt),
nu mai este critic, astfel nct sistemul poate omor n siguran procesul su de a recupera
memoria pentru alte informaii generate sau procese vizibile. n cazul n care procesul su
trebuie s fie ucis, atunci cnd utilizatorul navigheaz napoi la activitatea (fcndu-l vizibil din
nou pe ecran), metoda onCreate (Bundle) va fi numit cu savedInstanceState a furnizat anterior
n onSaveInstanceState (Bundle), astfel nct se poate reporni n aceeai stare ca utilizatorul
ultimul care a prsit.
Un proces gol este una ce gazduieste activitati sau alte componente de aplicaii (cum ar fi
clasele de servicii sau BroadcastReceiver). Acestea sunt ucii foarte repede de sistem ca
memorie devine mai redus. Din acest motiv, orice operaiune de fundal ce faci n afara unei
activiti trebuie s fie executat n contextul unei BroadcastReceiver activitii sau a
Serviciului pentru a se asigura c sistemul tie c trebuie s menin procesul n jurul valorii.
Uneori, o activitate ar putea avea nevoie s fac o operaie de funcionare lung care
exist independent de ciclul de via al activitii n sine. Un exemplu poate fi o aplicaie pentru
camer care v permite s ncrcai o imagine la un site web. ncrcarea poate dura o lung
perioad de timp, iar cererea ar trebui s permit utilizatorului s prseasc aplicaia n timp ce
se execut. Pentru a realiza acest lucru, activitatea dvs. ar trebui s nceap un Serviciu n care
are loc ncrcarea. Acest lucru permite sistemului s acorde prioritate n mod corespunztor
procesul (considernd-o s fie mai important dect alte aplicaii de baz non-vizibile) pe toat
durata ncrcrii, indiferent dac activitatea iniial este ntrerupt, oprit sau terminat.
- Structura Intent-lui
O intenie este un obiect de mesaje putei utiliza pentru a solicita o aciune dintr-o alt
component a aplicaiei. Cu toate c inteniile faciliteaz comunicarea ntre componente n mai
multe moduri, exist trei fundamentale de ntrebuinare cazuri:
Pentru a ncepe o activitate:
O activitate reprezint un singur ecran ntr-o aplicaie. Putei ncepe s o nou instan a
unei activiti prin care trece o intenie de startActivity (). Intent descrie activitatea pentru a
ncepe i poart toate datele necesare.
n cazul n care dorii s primii un rezultat din activitatea cnd se termin, numesc
startActivityForResult (). Activitatea dumneavoastr primete rezultatul ca un obiect de intenie
separat n onActivityResult () apel invers activitatea dumneavoastr. Pentru mai multe
informaii, consultai ghidul de activiti.
Pentru a porni un serviciu:
3
- Android Manifest
Fiecare aplicaie trebuie s aib un fiier AndroidManifest.xml (cu exact acest nume) n
directorul rdcin. Fiierul manifest ofer informaii eseniale despre aplicaia pentru sistemul
Android, pe care sistemul trebuie s aib nainte de a putea rula orice cod al aplicaiei.
Printre altele, fiierul manifest face urmtoarele:
5
nume ale pachetului Java pentru aplicaie. Numele pachetului servete ca un identificator
unic pentru aplicaie.
Acesta descrie componentele aplicaiei, care includ activitile, serviciile, Receptoare de
radiodifuziune i furnizorii de coninut care compun aplicaia. Ea numete, de asemenea clase
care pun n aplicare fiecare dintre componentele i public capacitile lor, cum ar fi mesajele
pe care le Intent pot ocupa. Aceste declaraii informeaz sistemul Android al componentelor i
condiiile n care acestea pot fi lansate.
Ea determin procesele care gzduiesc componente ale aplicaiei.
Ea declar permisiunile pe care cererea trebuie s le aib pentru a avea acces la pri
protejate ale API-ului i de a interaciona cu alte aplicaii. Ea declar, de asemenea,
permisiunile pe care alii trebuie s le aib pentru a interaciona cu componentele aplicaiei.
Aceasta enumer clasele de instrumentaie care ofer profilare i alte informaii ruleaz
aplicaii. Aceste declaraii sunt prezente n manifest numai n timp ce aplicaia este n curs de
elaborare i sunt eliminate nainte de publicarea cererii.
Ea declar nivelul minim al API Android pe care aplicaia necesit.
Acesta enumer bibliotecile care cererea trebuie s fie conectate mpotriva.
- Noiunea de Context
Windows Phone
- Noiunea de View/Interfa
Aceast clas reprezint blocul de baz pentru componentele de interfa de utilizator. O
View ocup o zon dreptunghiular de pe ecran i este responsabil pentru desen i de
manipulare eveniment. Vedere este clasa de baza pentru widget-uri, care sunt utilizate pentru a
6
crea componente UI interactive (butoane, cmpuri de text, etc.). ViewGroup subclasa este clasa
de baza pentru machete, care sunt containere invizibile care dein alte puncte de vedere (sau alte
ViewGroups) i definesc proprietile lor de aspect.
Toate punctele de vedere ntr-o fereastr sunt aranjate ntr-un singur arbore. Putei
aduga, vederi, fie de la codul sau prin specificarea unui arbore de vedere n unul sau mai multe
fiiere XML aspect. Exist mai multe subclase specializate de opinii, care acioneaz ca
element de control sau sunt capabile s afieze text, imagini, sau alte tipuri de coninut.
Odat ce ai creat un copac de opinii, exist de obicei cteva tipuri de operaiuni comune
pe care ar dori s le ndeplineasc:
Proprieti Set: de exemplu, stabilirea textului unui TextView. Proprietile disponibile i
metodele pe care le-stabilite vor varia ntre diferitele subclase de opinii. Reinei c proprietile
care sunt cunoscute n timp construi pot fi setate n fiierele cu aspect XML.
Set de focalizare: Cadrul se va ocupa de focalizare se deplaseaz ca rspuns la datele
introduse de utilizator. Pentru a fora se concentreze la o anumit vizualizare, apel requestFocus
().
Create de asculttori: Vizualizare permite clienilor s stabileasc asculttorii care vor fi
notificai atunci cnd se ntmpl ceva interesant la punctul de vedere. De exemplu, toate
punctele de vedere v va permite s setai un asculttor s fie notificat atunci cnd vedere din
ctigurile sau pierderile se concentreze. Avei posibilitatea s nregistrai un astfel de asculttor
folosind setOnFocusChangeListener (android.view.View.OnFocusChangeListener). Alte
subclase vedere ofer asculttorilor mai specializate. De exemplu, un buton expune un
asculttor de a notifica clienii atunci cnd butonul este apsat.
Setai vizibilitatea: Putei ascunde sau afia vederi folosind setVisibility (int).
- XAML (mod de utilizare / componente)
- UI Obj Events (tipuri si caracteristici)
Un asculttor eveniment este o interfa n clasa View, care conine o singur metod de
apel invers. Aceste metode vor fi numite de cadrul Android atunci cnd imaginea la care a fost
nregistrat asculttor este declanat de interaciunea utilizatorului cu elementul n interfaa de
utilizare.
Incluse n interfeele eveniment asculttor sunt urmtoarele metode de apel invers:
pe click()
De la View.OnClickListener. Aceasta se numete atunci cnd utilizatorul atinge fie
elementul (cnd este n modul tactil), sau se concentreaz asupra elementului cu navigare
tastele sau trackball i apas adecvat "Enter" sau preseaz n jos pe trackball.
7
onLongClick ()
De la View.OnLongClickListener. Aceasta se numete, atunci cnd utilizatorul fie atinge
i deine elementul (n modul tactil), sau se concentreaz asupra elementului cu navigare tastele
sau trackball i prese i deine adecvat "Enter" sau prese i deine n jos pe trackball ( pentru o
secund).
onFocusChange ()
De la View.OnFocusChangeListener. Aceasta se numete atunci cnd utilizatorul
navigheaz pe sau departe de elementul, folosind navigare tastele sau trackball.
onKey ()
De la View.OnKeyListener. Aceasta se numete atunci cnd utilizatorul este axat pe
elementul i preseaz sau elibereaz o cheie hardware de pe dispozitiv.
onTouch ()
De la View.OnTouchListener. Aceasta se numete atunci cnd utilizatorul efectueaz o
aciune calificat drept un eveniment de atingere, inclusiv o pres, o eliberare, sau orice gest
micare pe ecran (n limitele elementului).
onCreateContextMenu ()
De la View.OnCreateContextMenuListener. Aceasta se numete atunci cnd un meniu
contextual este construit (ca rezultat al unui susinut "clic lung"). A se vedea discuia cu privire
la meniuri contextuale n ghidul de dezvoltator meniuri.
Aceste metode sunt singurii locuitori ai interfeei lor respective. Pentru a defini una dintre
aceste metode i manipula evenimentele, punerea n aplicare a interfeei cuibrit n activitatea
dumneavoastr sau defini ca o clas anonim. Apoi, trece un exemplu de punere n aplicare
pentru a utiliza metoda View.set ... Asculttor (). (De exemplu, suna setOnClickListener () i sl implementarea a OnClickListener.)
- Layout i Evenimente
Un aspect definete structura vizual pentru o interfa de utilizator, cum ar fi interfaa de
utilizare pentru un widget activitate sau o aplicaie. V poate declara un aspect n dou moduri
Declare elementele UI n XML. Android ofer un vocabular XML simplu, care
corespunde vizualizrii claselor i subclaselor, cum ar fi cele pentru widget-uri i machete.
Instaniai elemente de aspect n timpul rulrii. aplicaia dumneavoastr poate crea View
i ViewGroup obiecte (i manipula proprietile lor) programatic.
Cadrul Android v ofer flexibilitatea de a utiliza una sau ambele metode de declarare i
de gestionare a UI aplicaiei. De exemplu, ai putea declara aspecte implicite ale aplicaiei dvs.
8
n XML, inclusiv elementele de pe ecran, care vor aprea n ele i proprietile lor. Ai putea
aduga apoi codul n aplicaia dumneavoastr, care ar modifica starea obiectelor de ecran,
inclusiv cele declarate n XML, n timpul rulrii.
Ar trebui s ncercai, de asemenea, instrumentul Ierarhie Viewer, pentru depanare layout
- dezvaluie valorile de proprietate de aspect, atrage wireframes cu umplutur / indicatori de
marj, i vederi complete oferite n timp ce depana pe emulator sau dispozitiv.
Instrumentul de layoutopt v permite s analizai rapid aspecte i ierarhii dvs. pentru
ineficienei sau alte probleme.
Avantajul de a UI de declarare n XML este c v permite s se separe mai bine
prezentarea cererii dumneavoastr de cod care controleaz comportamentul su. descrierile UI
sunt externe codul aplicaiei, ceea ce nseamn c putei modifica sau adapta fr a fi nevoie s
modificai codul surs i recompilai. De exemplu, putei crea machete XML pentru diferite
orientri de ecran, diferite dimensiuni ale ecranului dispozitivului, i limbi diferite. n plus,
declararea layout-ul in XML face mai uor de a vizualiza structura UI, deci este mai uor
probleme de depanare. Ca atare, acest document se concentreaz asupra nva cum s declare
aspectul lor in XML. n cazul n care suntei interesat n instantiind Vizualizai obiecte n timpul
rulrii, se refer la ViewGroup i referine Vizualizare clas.
n general, vocabularul XML pentru a declara elementele UI urmrete ndeaproape
structura i denumirea claselor i metodelor, n cazul n care nume de elemente corespund nume
de clase i nume de atribute corespund metodelor. De fapt, corespondena este adesea att de
direct nct s putei ghici ce atribut XML corespunde unei metode de clas, sau ghici ce clas
corespunde unui element XML dat. Cu toate acestea, reinei c nu toate vocabularul este
identic. n unele cazuri, exist diferene de denumire uoare. De exemplu, elementul EditText
are un atribut de text care corespunde EditText.setText ().
Evenimente: Scrierea in XML,Incarcarea in XML resurse, Atribute, Pozitie layout,
Dimensiunea, Padding i Margine, Aspecte comune
General
- Metode Asynchrone (async/await)
- Task and Threads
Threads -Atunci cnd o aplicaie ncepe componente i aplicaia nu are alte componente
care ruleaz, sistemul Android ncepe un nou proces Linux pentru aplicaia cu un singur fir de
executie. n mod implicit, toate componentele aceleiai aplicaii ruleaz n acelai proces i fir
(numit firul "principal"). n cazul n care o component de aplicaie ncepe i exist deja un
proces pentru aceast cerere (deoarece exist o alt component din cererea introductiv),
atunci componenta este pornit n cadrul acestui proces i utilizeaz acelai fir de execuie. Cu
toate acestea, putei aranja pentru diferite componente n aplicaia dumneavoastr pentru a rula
n procese separate, i putei crea fire suplimentare pentru orice proces.
Task -AsyncTask permite utilizarea corect i uoar a firului UI. Aceast clas v
permite s efectuai operaii de fond i s publice rezultatele pe firul UI, fr a fi nevoie s
manipuleze fire i / sau manipulare.
O sarcin asincron este definit printr-un calcul care ruleaza pe un fir de fond i al crui
rezultat este publicat pe firul UI. O sarcin asincron este definit de 3 tipuri generice, numite
Params, progres i rezultate, i 4 etape, numite onPreExecute, doInBackground,
onProgressUpdate i onPostExecute.
- Protocolul HTTP
10
Forma generala a unui mesaj de cerere este conforma schemei de mai sus:
Metoda
resursa
versiune_protocol
CRLF
Versiunea de protocol trebuie specificata deoarece nu toate serverele au implementat ultima versiune sau nu toti
clientii o cunosc. Deci, pentru ca totusi un server "destept" sa se poata ntelege si cu un client mai putin dotat, sau
invers, si fara a renunta la posibilitatile introduse de versiunile (mereu mai) noi ale protocolului, trebuie sa se realizeze
11
mai nti o negociere ntre server si client, relativ la ce stie fiecare si abia apoi sa se desfasoare transferul propriu-zis
de date.
12
O metod de meciuri este definit de aceast clas ca o comoditate atunci cnd o expresie
regulat este folosit doar o dat. Aceast metod compileaz o expresie i se potrivete cu o
secven de intrare mpotriva lui ntr-o singur invocare. Declaratia
13
este echivalent cu cele trei declaraii de mai sus, dei pentru repetate se potrivete este
mai puin eficient, deoarece nu permite modelul compilat s fie reutilizat.
Instane din aceast clas sunt imuabile i sunt sigure pentru a fi utilizate de ctre mai
multe fire de executie concurente. Instane ale clasei Matcher nu sunt sigure pentru o astfel de
utilizare.
- HTML Parsing/xPath
14