1.modele I Elemente Ale Structurii XML
1.modele I Elemente Ale Structurii XML
PD PD
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
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.
F 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>
F -X C h a n ge F -X C h a n ge
PD PD
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
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.
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
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.
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;
F -X C h a n ge F -X C h a n ge
PD PD
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
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 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…;
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
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.
F -X C h a n ge F -X C h a n ge
PD PD
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
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 .
F -X C h a n ge F -X C h a n ge
PD PD
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
Layout weight(greutatea) – spa iul liber între elemente va fi împ 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 ile sau numai din p ile
necesare. Pentru deplasarea obiectului dintr-o parte folosim Layout margin top, Layout margin
bottom, Layout margin, left, Layout margin right.
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
IOS
Ce este iOS? Ce este iOS SDK?
iOS este sistemul de operare pentru dispozitive mobile oferite de compania Apple pentru
dispozitive precum iPod, iPhone, iPad.
iOS SDK - este software development kit pentru iOS care contine componentele necesare
pentru dezvoltarea aplicatiilor pentru iOS precum Cocoa Touch framework, iOS simulator...
Arhitectura iOS?
Ce este Objective-c?
Objective-C este limbajul oferit de compania Apple pentru dezvoltarea aplicatiilor Mac OS,
iOS.
Este o evolutie a limbajului C cu schimbari de sintaxa si concepte pentru a putea oferi si
programarea orientata pe obiecte.
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
F -X C h a n ge F -X C h a n ge
PD PD
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
Ce este Xcode?
Xcode este un mediu interactiv de dezvoltare care ofera toate instrumentele necesare pentru
dezvoltarea aplicatiilor Mac OSsi iOS.
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a
Care sunt diferentele intre drain, release, dealloc si retain pentru Objective-C?
- retain: incrementeaza contorul de referentiere (reference count) pentru un obiect
- release: decrementeaza contorul de referentiere (reference count) pentru un obiect
- drain: este folosit in locul lui release numai pentru obiectele NSAutoreleasePool
- dealloc: este chemat de system sau garbage colector in cazul in care retainCount al unui obiect a
ajuns la 0
Ce este Automatic Reference Counting (ARC) ?
Este o functionalitate oferita de iOS, care se ocupa de managementul memoriei si anume, daca
inainte programatorul trebiua sa foloseasca mereu release, retain ..., acum compilatorul se ocupa de
asta si incrementeaza sau decrementeaza reference count pentru fiecare obiect, iar cind reference
count este 0, obiectele sunt deallocate automat.
Diferenta intre UIView si UIViewController
Acestea se explica prin arhitectura utilizata in iOS, si anume MVC. UIViewController este clasa in care
se vor prelucra toate evenimentele, pe cind UIView este o clasa ce reprezinta un element grafic.
Care este diferenta intre frame si bounds?
frame contine date despre originea si dimensiunea view-ului fata de view-ul parinte (super view), pe
cind bounds contine dimensiunile interne ale view-ului si se foloseste cel mai des la lucrul cu grafica.
Ce este "push notification"?
Este un serviciu cread de Apple si lansat impreuna cu versiunea iOS3.0, care are ca scop
transmiterea notificarilor de catre aplicatiile tertze catre dispozitivele Apple printro conexiune IP.
Notificari precum insigne, sunete sau alerte text.
Diferenta intre method si selector?
selector reprezinta numele unei metode cu tot cu doua puncte la chemare (ex: setObject:forKey:),
pe cind o metoda este o combinare dintre selector si implementare (cu alte cuvinte e ca o functie).
Ce este “ lazy loading” ?
Lazy loading este un pattern des utilizat in programare care amina initializarea obiectului pina acesta
nu este incarcat complet cu informatia necesara. (de exemplu incarcarea unor imagini, nu se face tat
odata ca sa gruzeasca compu, da se face cite o leaca sh astfel se amina initializarea obiectului, pina
nu se incarca tot)
!
W
W
O
O
N
N
y
y
bu
bu
to
to
ww
ww
om
om
k
k
lic
lic
C
C
.c
.c
w
w
tr re tr re
ac ac
.
.
k e r- s o ft w a k e r- s o ft w a