Pages From Miha V3 P1 10 [619568]
1
1. Introducere
1.1. Contextul proiectului
Dacă ne gândim la toate lucrurile pe care noi oamenii le facem într -o zi obișnuită, ne
dăm seama că smartphone -urile fac parte din viața noastră de zi cu zi, iar Android este de
departe cel mai popular sistem de operare smartphone . După raportul făcut de NetM arket
share [15] privind cota de piață a sistemelor de operare mobile, în mai 2018 statistica arată că
versiunile sistemul ui de operare Android ajung la 69.87% .
Progresul dezvoltării în domeniul dispozitivelor mobile a crescut foarte rapid.
Aplicațiile de pe telefoanele mobile au devenit o parte a vieții noastre, ră spândindu -se peste
tot pentru a acoperi activitățile noastre zilnice. În acest scop mi -am propus prin intermediul
acestei lucrări să realizez o aplicați e pentru platforma mobilă Android.
Aplicați a pe care am dezvoltat -o este destinată utilizatorilor Android care doresc să
folosească cât mai eficient timpul pentru a -și gestiona cumpărăturile, oferind posibilitatea să
țină cont și de bugetul alocat acestora. Am dorit să fac acest lucru posibil prin intermediul
unei aplicații ușor de folosit oferind informațiile potrivite la momentul potrivit.
1.2. Ideea și scopul alegerii temei
Aplicația MetaList, așa cum am decis să o numesc , este o aplicație intuitivă și de
actualitate, fiind de o importantă util itate în via ța de zi cu zi. Mai exact, aplicația dezvoltată
de mine permite utilizatorului să își creeze listele de cumpărături dorite și în același timp să și
le gestioneze. Acestea se vor salva local într -o bază de date stocată în memoria sistemului,
astfel utilizatorul poate accesa în orice moment datele fără a fi necesară o conexiune la
internet. Pe lângă gestionarea listei de produse, aplicația oferă posibilitatea de a încărca rețete
salvate local și de a genera lista de cumpărături necesară rețetei al ese. Lista de cumpărături va
fi creată după lista de ingrediente necesare în prepararea unei rețete. Utilizator ul care
utilizează aplicația va economisi timp în căutarea rețetelor și a ingredi entelor acestora atunci
cand nu are acces la internet .
Am ales a ceastă temă de licență din curiozitatea și dorința de a dezvolta o aplicație
interactivă și eficientă pentru dispozitivele mobile și în același timp pentru a ajuta utilizatorul
să își țină o evidență a bugetului alocat cump ărăturilor prin păstrarea unui is toric a listelor
create.
1.3. Structura aplicației
2
Aplicația MetaList pe care am realizat -o poate fi rulată pe dispozitivele pe care
rulează sistemul de operare Android cu versiunea minimă 6.0 (Android API 23), iar versiunea
maximă fiind cea mai nouă, de oarece odată cu apariția acestora se va putea face o actualizare
a versiunii maxime pe care va putea rula aplicația.
Grafic, interfața aplicației este simplă și intuitivă, având cât mai multe pictograme
sugestive și gesturile utilizatorului sunt cât mai na turale pentru a face navigarea cât mai
simplă și cursivă. Astfel, aplicația dispune de următoarele funcționalit ăți:
Crearea unei liste de cumpărături, urmând introducerea produselor în
listă prin selectarea produselor sugerate din baza de date și în acelaș i timp alegerea
cantităților acestora;
Salvarea/ștergerea produselor din lista de cumpărături;
Vizualizarea listei de cumpărături în funcție de categoriile produselor ;
Editarea listei de cumpărături, precum și a produselor cumpărate prin
selectarea opțiuni i Cumpărat ;
Trimiterea pe mail a listelor de cumpărături;
Pagina cu rețete permite vizualizarea ingredientelor rețetei, precum și a
modului de preparare și pune la dispoziție opțiunea de generare a listei de cumpărături
specifice rețetei ;
Vizualizarea unui istoric cu toate listele de cumpărături .
1.4. Structura lucr ării
Lucrarea de față este alcătuită din cinci capitole . În prima parte a lucrării se găsește
introducere a. Al doilea capitol prezintă considerații teoretice asupra tehnologiil or utilizate
pentru realizarea aplicați ei dezvoltate. Tot în acest capitol se prezintă succint platforma
Android . În al treilea capitol se prezintă o analiz ă și o comparare a modului de funcționare a
unor aplicații asemănătoare . În capitolul patru se găsește proiectarea propriei aplicații
împreună cu detaliile de implementare a celor mai importante funcționalități evidențiate
printr -un scenariu de utilizare. În final, sunt prezentate concluziile acestei lucrări și modul în
care această aplicație poate fi extinsă în viitor .
3
2. Tehnologii și tehnici de programare utilizat e
Potrivit președintelui Google Eric Schmidt, din aprilie 2013, există mai mult de 1,5
milioane de utilizatori noi de Android în fiecare zi. [1]
Începând cu al doilea trimestru din 2017, Android condu ce piața mondială cu o cotă
de piață de 87,9%, în timp ce iOS -ul Apple este al doilea . [2]
Android a avut un început lent cu HTC Dream (cunoscut și ca T -Mobile G1). De
atunci, Android a câștigat popularitate cu lansarea fiecărei versiuni noi. Este import ant să ne
documentăm despre versiuni le noi atunci când începem să dezvo ltăm aplicații Android,
deoarece versiunile mai noi conțin mai multe caracteristici decât cele anterioare.
Figura 2.1. Iconiță Android
2.1 Android API
Aplicațiile destinate platforme i Android sunt create cu ajutorul API -ului Android,
acestea rulând pe mașina virtuală Dalvik. API -ul Android este scris în limbajul de programare
Java de către dezvoltatorii platformei Android, acesta fiind public. Există mai multe versiuni
de Android API întrucât acestea se actualizează la fiecare versiune nouă de Android.
4
Figura 2.2. Diagrama popularității versiunilor de Android [2]
2.2 Android Studio
Mediul de dezvoltare recomandat de Google pentru platforma Android este Android
Studio.
Android Studi o este un mediu de dezvoltare integrat (IDE) oficial pentru sistemul de
operare Google Android, construit pe software -ul IntelliJ IDEA al lui JetBrains și proiectat
special pentru dezvoltarea Android -ului. Este disponibil pentru descărcare pe sistemele de
operare Windows, MacOS și Linux. Este un înlocuitor pentru Eclipse Android Development
Tools (ADT) ca IDE primar pentru dezvoltarea aplicațiilor Android native. Android Studio a
fost anunțat la 16 mai 2013 la conferința Google I / O. Acesta a fost în etapa de
previzualizare a accesului timpuriu pornind de la versiunea 0.1 în mai 2013, apoi a intrat în
etapa beta pornind de la versiunea 0.8, care a fost lansată în iunie 2014. Prima construcție
stabilă a fost lansată în decembrie 2014, începând cu versiunea 1 .0. Versiunea actuală stabilă
este 3.1.3 lansată în iunie 2018. [3]
Dezvoltarea software -ului Android este procesul prin care se creează noi aplicații
pentru dispozitive le care rulează sistemul de operare Android. Oficial, aplicațiile pot fi scrise
utilizâ nd Java, C ++ sau Kotlin utilizând kitul de dezvoltare software (SDK) Android . [4]
Arhitectura sistemului de operare Android cuprinde cinci secțiuni, având patru nivele:
Kernelul Linux, biblioteci, motorul Android și cadrul pentru aplicații, după cum se poa te
observ a și în figura următoare:
5
Figura 2.3. Arhitectura sistemului de operare Android [16]
Principalele funcționalități pe care sistemul de operare Android le oferă sunt:
Stocare, care folosește SQLite, bază de date relațională ce permite
utilizarea eficientă a resurselor;
Conectivitatea prin diverse modalități, precum: 3G, WiFi, Bluetooth,
WiMAX, GPRS, EDGE;
Apel video și suport media pentru formate video, captur ă de ecran;
Android Beam, prin care utilizatorii partajează conținut instant prin
apropierea dispozitivelor respective;
Navigarea pe Internet bazată pe motorul open source pentru navigare
WebKit împreună cu motorul JavaScript de la Chrome V8 suportând HTML5 și
CSS3.
Conectivitate: GSM / EDGE, IDEN, CDMA, Bluetooth, EDGE, 3G,
NFC, LTE, GPS, WiFi direct (care permite interconectarea între diverse dispozitive
având o lățime de bandă mare);
Multimedia admite mai multe formate precum: H.263, M -peg-4,
AMR -WEB, AAC, JPEG;
Suport multilanguage
Multi -touch, care suportă posibilitatea de contact în mai multe puncte
concomitent;
Grafic ă optimizată
Multi -tasking; GCM (Google Cloud Messaging) permițând
dezvoltatorilor expedierea de date de dimensiuni reduse, SMS, MMS, C2DM (pentru
mesaje la dispozitive).
6
Browser integrat bazat pe motorul WebKit Open Source
2.3 Componentele unei aplicații Android
Aplicațiile Android sunt alcătuite din componete cuplate în mod liber care sunt legate
prin intermediul fișierului manifest al programului din care fac parte.
În continuare vor fi descri se component ele și mod ul în care acestea interacționează pe
platforma Android .
2.3.1 Clasele de bază
Scheletul pe baza căruia este construită o aplicație este dat de următoarele șase
elemente prezentate pe scurt mai jos.
1) Activities (Activități)
Fiecare ecran din program este o extensie a clasei Activity. Activitatea reprezintă o
componentă a aplicației Android ce oferă o interfață grafică, utilizând elemente de vizualizare
(Views), afișează informații și răspunde la acțiunile utilizatorului. O aplicație Android este
formată din una sau mai multe activități (slab cuplate între ele), una fiind tot timpul
principala, iar o activitate poate invocă o altă activitate pentru a realiza diferite sarcini, prin
intermediul unei intenți.
O activitate poate fi utilizată numai dacă este defin ită în fișierul
AndroidManifest.xml, în cadrul elementului de tip <application>. Componentele definitorii
ale unei activități sunt: clasa în care este implementat comportamentul în urma interacțiunii
cu utilizatorul și fișierul .xml care descrie modelul st atic al interfeței grafice.
Din momentul în care activitatea este creată și până la momentul în care este distrusă,
ea trece printr -o serie de etape, cunoscute sub denumirea de ciclul de viață al activității [5]
ilustrate în urmă toarea figur ă:
7
Figura 2. 4. Ciclul de viață al unei activit ăți [6]
2) Services (Servicii)
Un serviciu este o componentă de aplicație care poate efectua operații de lungă durată
în fundal și nu oferă o interfață pentru utilizator. O altă componentă a aplicației poate să
pornească un serviciu și continuă să ruleze în fundal chiar dacă utilizatorul comută la o altă
aplicație. În plus, o componentă se poate lega de un serviciu pentru a interacționa cu acesta și
chiar poate realiza o comunicare inter -proces (IPC).
Cele trei tipuri diferi te de servicii sunt:
prim plan , care realizează o operație care este vizibilă
utilizatorului;
de fundal , care efectuează o operație care nu este observată
direct de către utilizator;
legat , care o feră o interfață client -server ș i permite
componentelor s ă interacționeze cu serviciul, să trimită cereri, să primească
rezultate și chiar să facă acest lucru între procesele cu comunicare inter -proces
(IPC). [5]
8
3) Content Providers (Furnizori de conținut)
Furnizorii de conținut pot ajuta o aplicație să gestionez e accesul la datele stocate de la
sine, stocate de alte aplicații și ofer ă o modalitate de a partaja date cu alte aplicații. Ele
încapsulează datele și oferă mecanisme pentru definirea securității datelor. Furnizorii de
conținut sunt interf ețe standard car e conectează datele într -un singur proces cu codul care
rulează într -un alt proces. Un furnizor de conținut poate fi utilizat pentru a gestiona accesul la
o varietate de surse de stocare a datelor, inclusiv date structurate, cum ar fi o bază de date
relați onală SQLite sau date nestructurate, cum ar fi fișiere imagine. [5]
Figura 2.5. Mecanismul furnizorilor de conținut [5]
4) Intents ( Inten ții)
Cu ajutorul acestor resurse este posibilă difuzarea de mesaje la nivel de sistem, către o
activitate sau un servi ciu țintă, manifestându -se astfel intenția de a avea o acțiune efectuată.
Sistemul va determina apoi ținta (obiectivele) care vor efectua orice acțiune corespunzătoare.
Există două tipuri de intenții: implicite și explicite. Cele explicite specifică
compon enta care începe prin nume (numele de clasă complet) și se utilizează de obicei când
se începe o nouă activitate ca răspuns la o acțiune a utilizatorului sau se pornește un serviciu
pentru a descărca un fișier în fundal. Cele implicite nu denumesc o compon entă specifică, ci
declară o acțiune generală de efectuat, ceea ce permite unei componente din altă aplicație să o
gestioneze.
9
Figura 2.6. Cele două tipuri de intentii
5) Broadcast Receivers (Consumatori de intenții difuzate)
Dacă se crează sau se înregis trează un Broadcast Receiver, aplicația va începe să
aștepte intențiile difuzate ce prezintă criteriul specificat și va răspunde la acțiunile acestora.
Acestea provin atât din sistem, cât și din aplicații.
Figura 2.7. Mecanismul Broadcast Receivers [7]
Broadcast Receivers poate fi utilizat ca obiectiv pentru notificările push. Prin setarea
unui atribut diferit (atribut de acțiune) pe obiectul de date JSON trimis prin mesajul push, se
poate efectua Parse pentru a invoca un receptor difuzat în loc să dec lanșeze o notificare care
apare în bara de notificare. Când se utilizează această abordare, Parse nu trimite o notificare
administratorului de notificări. În schimb, Parse invocă un receptor difuzat indicat de
atributul de acțiune. Pentru a solicita Parse să facă acest lucru, se construiește un obiect de
date JSON cu o cheie numită acțiune care indică o intenție Android a cărei acțiune invocă un
receptor difuzat . [8]
10
6) Notifications (Notificări)
O notificare este un mesaj pe care Android îl afișează în af ara interfeței UI a aplicației
pentru a le oferi utilizatorilor comunicări de la alte persoane sau alte informații în timp util
din aplicație. Utilizatorii pot atinge notificarea pentru a deschide aplicația sau pentru a lua o
acțiune direct din notificare.
2.3.2 Fișierul Manifest
Fiecare proiect Android trebuie să dețină un fișier manifest, reprezentând un fișier
de configurare indispensabil aplicațiilor dezvoltate pe platforma Android și anume
AndroidManifest.xml. Acesta conține informații esențiale de spre aplicație, informații pe care
sistemul Android trebuie să le cunoască pentru a putea rula codul sursă.
Printre informațiile importante pe care acest fișier le are se află:
numele pachetului aplicației ce conține codul sursă;
componentele aplicației , care includ toate activitățile, serviciile,
receptoarele de difuzare și furnizorii de conținut și descrierea acestora;
permisiunile aplicației de care are nevoie această pentru a
accesa părți protejate ale sistemului sau ale altor aplicații, scopul unei
permisiuni fiind aacela de a proteja confidențialitatea unui utilizator;
versiunea minimă de Android API pe care aplicația rulează.
2.3.3 Resursele aplica ției
Resursele sunt fișierele suplimentare și conținutul static pe care le utilizează codul,
cum ar fi fișierele bitmap, definițiile layout -urilor, șirurile interfeței utilizator, instrucțiunile
de animație și mult e altele. Acestea sunt stocate în directorul res/ din ierarhia proiectului.
Ar trebui ca resursele de aplicație să fie î ntotdeauna externaliza te, cum ar fi imaginile
și șirurile din cod, astfel încât să se mențin ă independent. De asemenea, trebuie să fie
furnizate resurse alternative pentru configurații specifice ale dispozitivelor, grupându -se în
directoare de resurse special numite. În timpul rulării, Android utilizează resursa
corespunzătoare pe baza configurației curente. [5]
Odată externalizate resursele aplicației, pot fi accesate utilizând ID -urile resurselor
generate în clasa R a proiectului. Acest document arată cum se grupeaz ă resursel e în proiectul
Android și cum se furnizeaz ă resurse alternative pentru anumite configurații de dispozitive și
apoi cum să fie accesate din codul aplicației sau din alte fișiere XML. [5]
Plasând fiecare tip de surs ă într-un anumit subdirector res/ al direc torului proiectului,
ierarhia fi șierelor pentru un proiect, în general, arată ca în figura următoare:
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Pages From Miha V3 P1 10 [619568] (ID: 619568)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
