You are on page 1of 8

Cultură generală:

1.Modele și elemente ale structurii XML.


Extensible Markup Language (XML) este un meta-limbaj de marcare care defineste un set de reguli
pentru codificarea documentelor intr-un format care este atit human-readable cit si machine-readable.
Recomandat de Consortiul Web pentru crearea de alte limbaje de marcare, cum ar fi XHTML, RDF, RSS,
SVG etc. Aceste limbaje formează familia de limbaje XML.
modele - este o parte a declarației elementelor din DTD ( Document Type Definition , descrierea tipului de
document) , care descrie ordinea din containere , compoziția lor și tipurile de elemente din container .
Meta-limbajul XML este o simplificare a limbajului SGML (din care se trage și HTML) și a fost proiectat
în scopul transferului de date între aplicații pe internet, descriere structură date.
XML este acum și un model de stocare a datelor nestructurate și semi-structurate în cadrul bazelor de date
native XML.
Fișierele XML sunt secvențe de text create pentru a structura, depozita și transporta informație.
Un element XML este tot ce se contine de la inceputul unui tag pina la tagul de inchidere.
Un element poate contine:
- alte elemente
- text
- atribute
- sau o combinatie din cele enumerate mai sus
Documentul XML trebuie sa inceapa cu sintaxa:
<?xml version="1.0"?>
urmata de un element de baza (radacina) care va cuprinde toate celelalte elemente.
Exemplu:
<bookstore>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>

2.Utilizarea API-ului, Cerințe și aplicații.


Un API este o colecţie de funcţii conţinute în librării statice sau dinamice, ce pot fi folosite la un
moment dat într-o aplicaţie pentru a efectua diverse sarcini. Librăriile API conţin fişierele cu definiţiile
funcţiilor utilizate de producătorul respectiv, librăriile statice necesare în momentul compilării sau librăriile
dinamice necesare în monentul rulării. API-urile conţin de asemenea instrucţiuni necesare programatorilor
în ceea ce priveşte apelul funcţiilor sau compilarea codului sursă

3.Modele de moștenire și sincronizare.


Mostenirea se refera la posibilitatea de a crea o clasa – copil(subclasa, clasa derivata sau clasa
descendenta. ), care are la baza o alta clasa – parinte(clasa de baza sau superclasa), astfel incat clasa copil
„stie” sa faca tot ceea ce stie parintele, plus o serie de alte elemente care sunt proprii doar clasei copil.

In general, in programarea orientata pe obiecte, mostentirea poate fi simpla sau multipla. In cazul
mostenirii simple fiecare clasa are cel mult o superclasa.In cazul mostenirii multiple o clasa poate avea mai
multe superclase.
De exemplu, clasa Barbat si clasa Femeie au ambele toate atributele clasei Om, dar fiecare din acestea are si
atribute specifice.
Sincronizarea asigura siguranta datelor, adica prin sincronizare se previn situatile ca un fir de executie sa
modifice o variabila care este tocmai utilazata de catre un alt fir de executie.
Sincronizarea se bazeaza pe conceptul de monitor ,un monitor este de fapt un lacat atasat unei resurse pentru
a preveni utilizarea resursei in paralel. Daca un fir ocupa un monitor, un alt fir care incearca ocuparea
aceluiasi monitor, este blocat si asteapta pana la eliberarea monitorului.

4.Stările aplicației și proprietățile lor.


In timpul utilizarii aplicatiei ea poate crea ferestre noi, sau sa fie minimizata, din nou deschisa, etc.
Deci aplicatia trebuie sa aiba posibilitatea de a elibera resursele sau de a salvar date.
O aplicatie poate fi in 3 stari:
Resumed(Running) – Aplicatia se vede pe ecran, si este focusat pe el, utilizatorul poate interactiona cu ea.
Paused – utilizatorul nu poate interactiona cu aplicatia, sistemul de operare nu este focusat pe aplicatie, dar
el se vede(este acoperita partial cu alta fereastra).
Stopped – Aplicatia nu se vede(este acoperita complet cu alta aplicatie/fereastra), si desigur utilizatorul nu
poate interactiona cu ea.

5.Inițierea firelor de execuție și controlul asupra aplicației.


Firele de execuţie (threads) reprezintă porţiuni de cod ale aceluiaşi program care se pot executa
în paralel una faţă de alta. Programele de până acum au fost de tip single-threaded, adică au fost
compuse fiecare din câte un singur fir de execuţie. Firele de execuţie reprezintă modalitatea prin
care limbajul Java suportă programarea concurentă. Execuţia paralelă a firelor depinde practic de
suportul de execuţie al programelor, hardware şi software. În general, dacă se dispune de un
sistem cu mai multe procesoare firele vor fi distribuite pe acestea.
O aplicație care creează o instanță a thread trebuie să furnizeze codul care va rula în acel fir. Există
două moduri de a face acest lucru :
De a furniza un obiect Runnable. Interfața Runnable definește o singură metodă , menita să conțină codul
de executie în Thread .
public class HelloRunnable implements Runnable {
public void run() {
System.out.println("Hello from a thread!");
}

public static void main(String args[]) {


(new Thread(new HelloRunnable())).start();
}
}

Sub clasa Thread . Clasa Thread se implementeaza Runnable :


public class HelloThread extends Thread {
public void run() {
System.out.println("Hello from a thread!");
}
public static void main(String args[]) {
(new HelloThread()).start();
}
}
Observam că ambele exemple invoca Thread.start , în scopul de a începe noul fir .
Prima expresie , care are un obiect Runnable , este mai general , obiectul Runnable poate forma o sub clasa.
Cea de a doua expresie este mai ușor de utilizat în aplicații simple , dar este limitată de faptul că clasa de
sarcini trebuie să fie un descendent de fire de executie .
Android:
6.Instalarea și configurarea IDE Eclipse, SDK Tools si/sau alte produse pentru Android development.
Android a devenit una dintre platformele mobile importante, alaturi de Windows Mobile, Symbian, iPhone si
J2ME (Java Mobile Edition).
Pentru a invata si de a dezvolta aplicatii Android aveti nevoie de (solutia prezentata este pentru o platforma
de lucru Windows):
1. Descarca si instaleaza Java Development Kit (JDK), cel mai recent fiind versiunea 7, insa orice versiune
incepand cu JDK 6.0 este recomandata. Puteti descarca JDK-ul de pe java.oracle.com.NU instalati doar
JRE-ul (Java Runtime Environment), deoarece Eclipse si SDK-ul Android au nevoie de instrumente de
dezvoltare incluse in JDK (Java Development Kit). Chiar daca aveti un sistem pe 64 de biti este
recomandat sa instalati versiunea pe 32 de biti, deoarece exista inca unele probleme de compatibilitate in
ceea ce priveste JDK-ul, Eclipse IDE si Android SDK.
2. Instalati Eclipse IDE. Utilizarea unui mediu de dezvoltare vizual de tip IDE nu este necesara, dar este
recomandata, deoarece va salva o multime de timp si va permite sa va concentrati asupra solutiei, si mai
putin asupra modului in care se face compilarea, generarea solutiei si executia ei. Eclipse este disponibil
la adresa http://www.eclipse.org/ si ar trebui sa descarcatiEclipse pentru dezvoltatori Java sau versiunea
Classic Eclipse. La fel ca si in cazul JDK-ului, instalati versiunea pe 32 de biti.
3. Descarcati si instalati Android SDK Starter Package. Sunt doua distributii pentru pachetul Starter,
ambele disponibile la developer.android.com /SDK/index.html. Daca aveti Windows si ati ales
distributia cu installer (si nu arhiva), care este versiunea recomandata, puteti obtine o eroare pe Windows
7 deoarece programul de instalare nu detecteaza JDK-ul Java. Solutia (in unele cazuri) este de selecta
butonul Back si dupa care Next pentru a reveni la faza de detectie a JDK-ului. Instalati SDK-ul Android
intr-o locatie fixa, cum ar fi C:\Android.
4. Utilizand Android SDK Manager (instalat la pasul anterior) descarcati Android SDK Components,
care includ diferite instrumente de dezvoltare, documentatia, platforme Android, librarii externe, driver-
ul USB pentru Windows si exemple de aplicatii. Cand SDK Manager-ul porneste, va verifica automat
resursele disponibile de descarcat si update-uri pentru cele existente. Gestiunea componentelor de
descarcat se face selectand categoria Available packagesin fereastra Android SDK Manager-ului.

5. Instalati ADT (Android Development Toolkit) Pluginpentru Eclipse:


 in meniul aplcatiei Eclipse, selectati Help > Install New Software…;
 faceti clic pe butonul Add, aflat in coltul din dreapta-sus;

in formularul Add Repository, introduceti “Android ADT Plugin “(sau ce nume doriti) pentru Name si
urmatoarea adresa URL pentru Location:
 clic pe OK; daca aveti probleme la descarcarea plugin-ul, incercati sa utilizati protocolul “http” in adresa
URL, in loc de “https“;
 in fereastra de dialog Available Software, selectati checkbox-ul de langa Developer Toolssi faceti clic
pe Next;
 in urmatoarea fereastra (detalii instalare si revizuire componente selectate) faceti clic peNext;
 cititi si sa acceptati acordurile de licenta (bifati radio button-ul respectiv) si faceti clic peFinish;

6. Reporniti Eclipse.
7. Configurati plugin-ul ADT pentru Eclipse.
o in meniul din Eclipse selectati Window > Preferences… pentru a deschide
panoulPreferences;

 in fereastra Preferences selectati categoria Android in panoul din stanga;


 in panoul principal, clic pe Browse… si localizati directorul in care a fost instalat Android SDK-ul (in
acest tutorial, SDK-ul Android a fost instalat la pasul 3 in C:\Android).
 faceti clic pe Apply si apoi OK.

8. Testati SDK-ul Android si platforma Android pornind un emulator de dispozitiv mobil. Pentru a face
acest lucru trebuie sa definiti un Android Virtual Device (AVD) folosind SDK-ul Android si Managerul
AVD:
o deschideti Android SDK and AVD Manager direct din Windows cu Start > Programs >
Android SDK Tools sau din Eclipse, utilizand optiunea Window > Android SDK and AVD
Manager din meniu;
o in panoul din stanga, selectati categoria Virtual devices;
o in panoul principal faceti clic pe butonul New…;

 in fereastra Create new Android Virtual Device setati numele emulatorului (A), platforma Android
utilizata (B), dimensiunea cardului de memorie (C), imaginea emulatorului (D) si alte setari hardware
(E);
 selectati dispozitivul virtual nou creat si lansati emulatorul folosind butonul Start…;

7.Crearea AVD-ului. Prima aplicație Android - structuri bazate pe proiecte.


a) - Configurarea mediului de dezvoltare
Primul pas pentru a putea începe este să ne pregătim mediul de dezvoltare. Software Development Kit-ul
(SDK) Android este livrat sub forma unui utilitar prin intermediul căruia putem descărca versiunile necesare
de API, precum și diverse add-on-uri.
- Configurarea IDE-ului
Acum că avem instalat SDK-ul de Android, trebuie să pregatim editorul de cod. Pentru dezvoltare, vom
folosi un Integrated Development Environment (IDE) și recomand IntelliJ Idea 12, care poate fi descarcăt
gratuit, în varianta Community Edition, pentru Windows și UNIX . În continuare, trebuie să configurăm
editorul, iar primul pas îl reprezintă JDK-ul. Pentru a-l adăuga, va trebui să deschideți File ->
Project Structure și laPlatform Settings/SDKs să adaugați JDK-ul instalat în sistem. Tot aici, vom putea să
adăugăm și SDK-ul de Android, pentru versiunile dorite. Pentru a adăuga o versiune de SDK, trebuie să
alegem de pe disc directorul care conține versiunea respectivă. Acestea sunt situate în directorul unde a fost
instalat SDK-ul, în subdirectorul platforms. După cum spuneam, avem nevoie de cel puțin versiunea 2.2,
adică API level 8.
- Configurarea emulatorului
Pentru a crea un emulator, trebuie să folosim programul dedicat, care se poate porni din Idea de la Tools ->
Android -> AVD Manager. Odată ajunși acolo, putem configura oricâte device-uri dorim. Cei care au un
telefon sau o tabletă cu Android pot să le folosească pentru testarea aplicației prin intermediul USB. Este
necesar ca telefonul să accepte instalarea de aplicații din Unknown Sources (setare accesibilă în Settings ->
Applications) și USB Debugging (accesibilă în Settings -> Developer Options) să fie activat. Dacă totul a
decurs bine, atunci când e legat prin USB la calculator și rulăm în command line adb devices, telefonul
trebuie să apară în lista de device-uri disponibile.
b) - Crearea unui proiect
Începem de la File ->New Project. Aici trebuie să introducem câteva date. În primul rând, alegem tipul de
proiect din lista din stânga și apoi introducem numele proiectului, calea unde acesta va fi stocat și alegem
versiunea platformei. În secțiunea Target Device, putem alege cum dorim să rulăm aplicația pentru teste: în
emulator sau pe un telefon conectat prin USB. Vom alege emulatorul și din lista de AVD-uri,
NexusOne. După un click pe Finish, IDE-ul va crea proiectul.

8.Elementele de ecran și proprietățile lor.


un Activity este un ecran dintr-o aplicație ex: lista de playlist-uri din Google Music. Activity-ul se
concentrează deci asupra unei funcționalități specifice a aplicației și doar asupra ei, având un ciclu de viață
propriu și o stare ce poate fi persistentă.
Intent-urile sunt un mecanism universal în Android, ele fiind folosite pentru a porni Activity-uri, servicii și
pentru a emite broadcast-uri.
Există două moduri prin care putem crea un Intent:
 explicit- prin atribuirea unui identificator sub forma unui String unic
 implicit- prin specificarea instanței clasei care emite intenția și specificarea clasei de tipul căreia
dorim să fie instanța creată
login Activity
codul care face ca aplicația să funcționeze. Primul Activity este cel de login. Acesta va afișa un simplu ecran
de login cu 3 componente (denumite și Views). Două dintre ele sunt folosite pentru introducerea numelui de
utilizator și a unei parole, iar al treilea este un buton care, atunci când este atins, trimite utilizatorul la cel de-
al doilea Activity.
Layout-urile
ele au rolul de a descrie cum sunt așezate pe ecran componentele interfeței grafice..

9.Fișier Layout în Activity. Reprezentări XML. Modificarea orientării ecranului.


In fisierul layout se afla elementele pe care dorim sa le afisam la ecran.La startara aplicatiei Activity citeste
acest fisier si afiseaza ce este setat.
La creare fiecari Activity i se atribue un java class .La startarea aplicatiei se folosesc modelele prezentate
in aceasta clasa.Initial e creat automat acest fisier MainActivity.java .
Prin intermediul metodei SetContextview(R.layout.main); se preiau componentele din fisierul layout, insa
noi nu indicam directia spre acest fisier dar spre o constanta care este ID fisierului care se genereaza
automat cu numele R.java .
In fisierul main.xml este prezentat cum va arata ecranul in mod graphic Graphical Layout si in format xml
unde se afla descrierea elementelor View a fisierului layout.
Atributele xml sunt parametrii elementelor View aici se fac schimbarile pentru a le vedea pe ecran.\
Modificarea orientatiei ecranului
Pentru a permite aplicatiei de a folosi mod orizontal si vertical al ecranului este necesdar de a adauga
pozitionarea orizontala(ca vertical e implicit) creind directia res/layout-load in care se introduce copia
fisierului layout.

10.Tipuri de Layout. Diferențele cheie și proprietăți.


Principalelele tipuri de Layot: LinearLayout, TableLayout, RelativeLayout, AbsoluteLayout.
LinearLayout - elemente de vedere , expuse într-o singură linie ( dacă este orizontală ) sau coloane ( dacă
verticală ).
TableLayout - afișează elementele in forma de tabel, pe rânduri și coloane .
RelativeLayout - pentru fiecare element stabileste poziția sa în raport cu alte elemente .
AbsoluteLayout - pentru fiecare element se indică o poziție clară pe ecran in sistemul de coordonate(x,y).

LinearLayout
Acest tip de ViewGroup standart este propus la crearea noului fisier-layout. Este foarte ușor de utilizat
pentru a crea ecrane de complexitate diferita. LL are proprietatea Orientation, care definește modul în care
vor fi amplasate elemente copil -pe linia orizontală sau verticală.

TableLayout (TL)
TL consta din rânduri TableRow (TR). Fiecare TR, la rândul său contine View-elemente, care formează
coloane. Adica numarul de View-elemente in TR, este numărul de coloane. Dar numărul de coloane din
tabel trebuie să fie același pentru toate rândurile. Prin urmare, daca în diferite TR se afla numere diferite de
View-elemente(coloane), atunci numărul total se determina dupa TR cu numarul maximal.

RelativeLayout ( RL )
În acest tip de Layout fiecare View-element poate fi situat într- un anumit fel relativ la View-elementul
specificat.
Tipuri de relații :
1 ) din stânga , dreapta , sus , jos acestui element ( layout_toLeftOf , layout_toRightOf , layout_above ,
layout_below )
2 ) aliniat de coltul stang,drept,de sus, de jos a elementului ales( layout_alignLeft , layout_alignRight ,
layout_alignTop , layout_alignBottom )
3 ) aliniat de coltul stang,drept,de sus, de jos paruntesc ( layout_alignParentLeft , layout_alignParentRight ,
layout_alignParentTop , layout_alignParentBottom )
4 ) aliniat pe centrul vertical , pe centru orizontal, pe centru vertical și orizontal față de mamă (
layout_centerVertical , layout_centerHorizontal , layout_centerInParent )

AbsoluteLayout (AL)
Oferă poziționare absolută a elementelor de pe ecran. Se specifica coordonatele pentru colțul din stânga sus
al componentei.
La început, se pare că acesta este modul cel mai convenabil si cea mai clara varianta pentru pozitionarea
elementelor pe eccran- ele indata se aseaza acolo unde trebuie. Dar aceasta este doar in cazul in care
proiectam la o anumita rezolutie a ecranului. Dacă deschidem această aplicație pe un alt ecran, toate
elementele vor fi deplasate și nu vor, așa cum am plănuit.Prin urmare acest Layout nu este recomandat de
folosit. Și compatibilitatea cu viitoarele versiuni de Android nu este garantată.

11.Opțiuni de aspect (Layout) pentru elemente view.


Opțiunile de aspect pentru elementele view:
 Layout width și layout height
 Layout gravity
 Layout weight
 Layout margin
Layout width și layout height reprezintă lățimea și respectiv înalțimea elementului, ea poate fi indicată cu
valori absolute(dip, sp, px, in) sau cu constante(match_parent, wrap_content ).
Dip - Density-independent Pixels, valoare absolută care permite ca aplicația să arate la fel pe diferite
rezoluții.
sp - Scale-independent Pixels. La fel ca și dip numai că se folosește pentru marimea font-ului în elemente.
px – pixel, nu se recomanda din cauza că pe diferite rezoluții aplicația va arăta diferit.
In – inch, se reprezintă pe mărimea fizică a ecranului.
match_parent (fill_parent) – semnifică că elementul va ocupa tot spațiul accesibil de către elementul
părinte(lățimea/înălțimea).
wrap_content - lățimea/înălțimea elementului va fi indicat de către conținutul său.

Layout weight(greutatea) – spațiul liber între elemente va fi împărțit proporțional bazîndu-se pe weight-
valoarea. Cu alte cuvinte dacă avem mai multe view-uri și dorim ca ele să ocupe tot spațiul proporționl
atunci e nevoie să utilizăm parametrul Layout weight.

Layout gravity – parametrul dat este similar alinierii din Word sau Excel, el amplaseaza view-urile in
centru, sus stinga, sus dreapta, jos stinga, jos dreapta sau alte combinatii posibilite dintre valorile: top, left,
right, center, bottom, right.

Layout margin – indică marginea elementului. El poate fi din toate părțile sau numai din părțile necesare.
Pentru deplasarea obiectului dintr-o parte folosim Layout margin top, Layout margin bottom, Layout
margin, left, Layout margin right.

12.Gestionari de evenimente, privind de exemplu Button.


Daca dorim sa scriem aplicatii bazate pe evenimente in Java trebuie sa utilizam mecanismul de evenimente
al limbajul. Un eveniment este trimiterea unui mesaj.
De exemplu un buton informeaza aplicatia ca utilizatorul l-a apasat. Aceasta informare se realizeaza cu
ajutorul unui eveniment.
Mesajele sosesc de la surse de evenimente iar destinatarii acestor evenimente sunt receptionarii
evenimentelor.
La receptia evenimentului, in obiectul receptor se executa o metoda. Evenimentul insusi este un obiect care
contine informatii in legatura cu evenimentul produs.
De exemplu daca dorim sa cream evenimente noi atunci va trebui sa extindem clasa java.util.EventObject.
Toate tipurile de evenimente create de catre utilizatori trebuie sa fie subclasele acestei clase.
Evenimentele sunt trimise de la o singura sursa si pot fi receptionate de mai multi destinatari.
Destinatarul (obiectul receptor) trebuie sa implementeze metode de tratarea tuturor tipurilor de evenimente
ai caror receptor poate fi.
Exemple de tipuri de evenimnete:
ActionEvent se genereaza la apasarea butoanelor, selectia din meniuri, terminarea editarii unei casete text
(apasarea tastei Enter in caseta).
MouseEvent se genereaza la operarea cu mouseul pe suprafata componenetei. Un eveniment de tip
ActionEvenet contine numele actiunii,
iar un eveniment de tip MouseEvent descrie pozitia mousului respectiv starea butoanelor.

Windows Phone:
13.Aspectul aplicațiilor și tratarea evenimentelor.
Un eveniment este un mesaj trimis de un obiect pentru a semnala apariția unei acțiuni. Acțiunea ar
putea fi cauzate de interacțiunea cu utilizatorul, cum ar fi atingerea ecranului, sau ar putea fi declanșat de
logica internă a unei clase. Obiectul care ridică eveniment este numit expeditorului eveniment. Obiectul care
surprinde evenimentul și răspunde este numit receptor eveniment. Scopul evenimentelor este de a comunica
în timp-specific, informații relativ ușoare de la un obiect la momentul execuției, și potențial de a furniza
aceste informații altor obiecte în aplicatie.
Pentru obiectele grafice (UI) declarate in XAML, codul ce raspunde de evenimentele acestora trebuie
definit in clasa partiala care serveste ca cod in background-ul paginii XAML. Tratarea evenimentelor in
clase partiale sunt scrise ca metode, bazate pe delegatii CLR care sunt folosite in evenimete
special. Metodele de tratare a evenimentului poate fi publică, sau pot avea un nivel de acces privat.
Recomandarea generală este de a nu face metodele de tratare a evenimentelor publice in clasa.

14.Accesul aplicației și stocarea datelor local.


Depozitare izolat permite aplicațiilor reușit să creeze și să mențină stocare locală. Arhitectura mobil este
similar cu Silverlight aplicații bazate pe Windows. Toate operațiunile de I / O sunt limitate la depozitare izolate
și nu au acces direct la sistemul de operare care stau la baza sistemului de fișiere, care ajută la asigurarea
securității și previne accesul neautorizat și a corupției de date de la alte aplicații.
NOTĂ: Dacă aveți două aplicații care funcționează cu aceleași date, apoi că datele nu pot fi local, fie la
cerere. Aveți nevoie pentru a utiliza un serviciu web.
NOTĂ : aplicații pentru Windows Phone nu au o dimensiune cota impusă întrucât cerințele pentru scenariu
fiecare aplicare sunt diferite. Deci, resursele de stocare de pe un telefon sunt limitate, astfel ca aplicațiile să
stocheze numai datele necesare. Atunci când un Windows Phone are doar 10% din spațiu de stocare rămas,
utilizatorul va primi o notificare de acest statut și chiar întreaga aplicație poate opri de lucru, care nu este o
opțiune favorabilă din perspectiva utilizatorului!
Puteți efectua diferite manipularea în stocare izolate cum ar fi scrierea unui fișier, crearea de foldere și fișiere,
citirea datelor, eliminând fișier, etc
Practic în Silverlight pentru Windows Phone 7 se pot stoca date în:
 IsolatedStorageSettings
 Foldere și fișiere în spațiul de stocare izolate
 Baza de date

15.Crearea interfeței aplicației utilizând XAML.


XAML este un limbaj folosit pentru a crea elemente de interfata vizuala (UI – User Interface). In XAML se
pot initializa obiecte si seta proprietatile lor, folosind un limbaj care prezinta structura relatiilor ierarhice
dintre obiecte.Windows Phone XAML defineste aspectul vizual al interfetei, pe cand codul sursa din spate
defineste logica aplicatiei. Design-ul interfetei poate fi ajustat fara a afecta neaparat logica aplicatiei. In
acest mod, XAML permite separarea design-ului de logica, simplificand dezvoltarea aplicatiilor prin
separarea rolurilor.

16.Navigarea și trasări de pagină. Colectarea și transmiterea de parametri locali.


aplicații pentru Windows Phone 8 folosind pagina XAML. Acest lucru înseamnă că ele pot fi percepute ca
pagina de web aproape normală. Doar în fiecare aplicație are propriul său de navigare. De exemplu, într-o
aplicație de știri are o pagina de start, care afișează categoria știri. După selectarea unei categorii, te duci la o
pagină care afișează toate știrile referitoare la subiect. Ei bine, atunci alegeți deja ce fel de știri pe care doriți
să citiți în întregime.
cache-ul este menținut și alte setări ale paramerilor locali ai dispozitivului , cum ar fi data și ora de la ultima
culoare canal de știri cache-ul a fost actualizat ultima și ultimul accident de aplicare SharePoint Newsfeed ,
precum și informații cu privire la starea dispozitivului .
Driverele Miniport obține parametrii locali NDIS QoS în următoarele moduri:
Printr-un identificator de obiect (OID) cerere de metodă de OID_QOS_PARAMETERS care este emis de
către Data Center Bridging (DCB) component (Msdcb.sys).
Prin setările de proprietate, care sunt stocate în registri de sistem și definită de furnizor independent de
componente hardware (IHV) pentru adaptorul de rețea.
Prin setările de proprietate emise de conducătorul auto miniport prin intermediul unei aplicatii de gestiune
dezvoltat de IHV.

17.Ce este Silverlight, analogii de utilizare.


Silverlight este un framework facut de Microsoft pentru a putea realiza aplicatii bogate care sunt gazduite in
browser si care ruleaza pe o varietate de sisteme de operare. Silverlight este doar un plug-in pentru browser
cu ajutorului caruia se pot realiza o serie de aplicatii grafice interactive, animatii vectorizare,cu includere de
fisiere audio si video in interioruli unui website.
Silverlight ofera posibilitatea de a scrie codul din spatele interfetei grafice in C#.
Pentru a define o interfata cu utilizatorul Silverlight foloseste XAML markup.
Exista in 3 versiuni:
Silverlight 1. -Silverlight2, -Silverlight3