Sunteți pe pagina 1din 11

Happy Life

-proiect DAMCostache Cristina


Ivan Alex
Grupa:1052

Introducere

Happy Life este o aplicatie mobila ce permite utilizatorului stocarea, monitorizarea si


vizualizarea activitatilor sale zilnice, avand ca scop remedierea greselilor in ceea ce priveste
alimentatia, numarul de ore dormite, dar si exercitiile fizice pe care fiecare dintre noi ar trebui sa
le facem de cel putin trei ori pe saptamana, in ideea mentinerii sanatatii corpului si a mintii la un
inalt nivel. Pe masura ce inaintam in viata, fluxul mare de evenimente si lucruri pe care trebuie
sa le facem ne face sa traim intr-un ritm extrem de alert, si acest lucru ne face de multe ori sa ne
neglijam pe noi insine. Sanatatea este foarte importanta si trebuie sa incercam sa eliminam
factorii externi care ne-o pot influenta intr-un mod negativ. Astfel ca aplicatia Happy Life este
dedicata persoanelor de orice varsta, este usor de utilizat, avand o functionalitate intuitiva, si il
ajuta pe cel care o utilizeaza sa tina o evidenta a programului sau zilnic, putand observa mai usor
micile sau marile greseli pe care le facem in viata de zi cu zi cu privire la cele trei aspecte
mentionate mai sus (alimentatie, somn, exercitii fizice).
Odata instalata pe telefonul mobil, ea va putea fi folosita atat la scoala, cat si la facultate
sau la munca, in autobuz, metrou, acasa, sau seara inainte de culcare. Este la indemana oricui, si
odata ce utilizatorul reuseste sa tina o evidenta a tuturor activitatilor zilnice, el va putea observa
neregulile si le va putea indrepta, ajungand astfel intr-un punct de echilibru. In general, un corp
sanatos conduce la dezvoltarea unei minti sanatoase, eliminand astfel stresul din viata de zi cu zi.
Cu alte cuvinte, o viata lunga si fericita, plina de satisfactii. Corpul nostru este un adevarat
templu, prin el traim, si trebuie sa il respectam pentru ca asta arata cat de mult ne respectam pe
noi insine.
Aplicatia Happy Lifel beneficiaza de o interfata curata si intuitiva si permite
monitorizarea unei game variate de activitati zilnice (sport, alimentatie, somn).

Descriere solutie

Aplicatia Happy Life permite simultan mai multor persoane utilizarea ei.
Un utilizator isi poate crea un nou profil, introducandu-si in prima instanta numele, sexul
si data nasterii, dupa care i se va deschide ecranul ce reprezinta profilul sau curent, in care va
putea vedea informatii de baza, cum ar fi (pe langa cele introduse anterior), inaltimea, greutatea,
IMC-ul, dar si greutatea pe care ar trebui sa o aibe (cele din urma nefiind setate inca, nu vor avea
nicio valoare).
In josul paginii exista un camp prin care se poate introduce o anumita data, si apasand
butonul Vezi activitate se va deschide un nou ecran in care se vor putea vedea informatii
specifice unei anumite zile, cum ar fi: numarul de ore de somn, o sinteza a exercitiilor fizice pe
care utilizatorul le-a realizat in ziua respectiva, dar si alimentatia, ce presupune cele trei mese
importante ale zilei.
La fel, in prima instanta nu sunt introduse activitati specifice unei anumite zile, deci
deschizand ecranul respectiv pentru o anumita data, utilizatorul va fi instiintat ca nu exista
inregistrari pentru acea data. Astfel ca, din profilul curent in care se afla un utilizator, se pot
accesa din meniu mai multe item-uri:

Activitati zilnice; prin apasarea acestui element din meniu, se va deschide un


ecran ce va cere completarea mai multor campuri, precum numarul de ore
dormite, numarul de minute fitness, numarul de kilometri alergati sau parcursi
prin mers, cele trei mese esentiale ale zilei (micul dejun, pranzul, cina).
Prin butonul din josul paginii se adauga activitatile principale ale datei introduse
de la tastatura. Aceasta activitate va putea fi vizualizata mai tarziu prin optiunea
de introducere data din ecranul profilului curent si prin apasarea butonului Vezi
activitate.
Constitutie fizica; prin aceasta optiune, utilizatorul poate atinge momentul in
care el isi poate introduce (sau edita) greutatea si inaltimea. In acelasi timp el isi
poate calcula greutatea ideala, ce se calculeaza pe baza inaltimii, varstei si sexului
persoanei respective. In acelasi timp, se calculeaza si IMC-ul (Body Mass Index),
care este un raport bazat pe greutatea si inaltimea fiecarei persoane. Calcularea
indicelui de masa corporala este una dintre cele mai raspandite metode analiza a
gradului de obezitate datorita simplitatii ei. Indicele de masa corporala este
relevant atat pentru barbati, cat si pentru femei, cu varste cuprinse intre 18 si 65
ani.
Greutatea, inaltimea, IMC-ul, dar si greutatea ideala, spre deosebire de activitatile
zilnice, care se modifica in fiecare zi, sunt elemente care se vor modifica mult mai

rar, de aceea isi gasesc locul pe pagina principala a utilizatorului ce foloseste in


mod curent aplicatia.
Despre; acest item conduce utilizatorul catre un ecran in care i se vor prezenta
informatiile de baza ale aplicatiei, si anume numele, data in care a fost lansata, dar
si autorii acesteia
Cea de-a patra optiune a meniului ii deschide userului ecranul principal al
aplicatiei Happy Life, in care se poate creea/accesa/sterge un profil inregistrat in
baza de date a aplicatiei.
Exista un Combo box, in care se gasesc toate profilurile (toti userii) inregistrate in
mod curent in candrul aplicatiei. Odata selectat un profil, exista 2 optiuni:
1. Prima o reprezinta stergerea profilului respectiv;
2. A doua o reprezinta accesarea acestuia, lucru ce presupune intrarea in
ecranul profilului selectat curent, din care se poate accesa meniul prezentat
mai sus.
Cea de-a treia optiune din acest ecran o reprezinta crearea unui profil nou, ceea ce
inseamna introducerea celor trei caracterisitici de baza ale unui utilizator: nume,
sex, data nasterii.

Implementare solutie pentru platforma Android


Pentru a intelege mai bine logica activitatilor aplicatiei Happy Life, am construit
urmatoarea diagrama (schema logica):

Aplicatia Happy Life este alcatuita din sapte activitati android, avand
diferite specficatii:
1. Activitatea principala (mainActivity), se deschide in momentul
rularii aplicatiei pe telefonul mobil, avand ca sistem de operare
Android.
Aceasta activitate contine mai multe controale, ce gestioneaza
profilurile inregistrate in baza de date a aplicatiei:
Primul control il reprezinta un Spinner prin care se pot
vizualiza numele tuturor persoanelor care utilizeaza
aplicatia in mod curent si care si-au creat un profil in cadrul
acesteia. Toate aceste nume care sunt incarcate in spinner
sunt preluate din baza de date. Daca pana in acest
moment nicio persoana nu si-a creat un profil, spinnerul va
fi gol.
Un buton OK prin care profilul selectat in spinnerul
prezentat anterior este incarcat, moment in care se
deschide activitatea de baza a utilizatorului de dupa
momentul in care acesta si-a selectat profilul.
In acest moment, printr-un obiect de tip Intent, se
transmite numele selectat in spinner activitatii urmatoare.
Necesitatea transmiterii numelui va fi detaliata in cele ce
urmeaza.
Un buton Sterge prin care se poate sterge definitiv din
baza de date a aplicatiei un profil.
Un buton Creaza profil nou prin care o persoana care
foloseste pentru prima data aplicatia isi poate crea un nou
profil. Apasarea acestui buton duce la deschiderea
activitatii secunde, si anume ProfilNou.

2.

Activitatea
ProfilNou se
deschide in
momentul apasarii
butonului Creaza
profil nou din
activitatea
principala.
In
cadrul acestei
activitati, userul isi
introduce in mai
multe EditView-uri
numele, sexul si
data
nasterii (mai
departe, data
nasterii este
parsata,
calculandu-se
varsta).
Prin
apasarea butonului
din josul paginii, se creaza o instanta de tip Profil, care va fi
adaugata automat in baza de date.
Asadar, la nivel de aplicatie, exista o clasa numita Profil.
Aceasta contine urmatoarele atribute:
nume
sex
varsta
greutate
inaltime
imc
un ArrayList de activitati, Activitate fiind o alta clasa
definita la nivel de aplicatie.
Prin instantierea unui obiect de tip activitate se inregistreaza
activitatile dintr-o anumita zi. O activitate este definita in mod
principal de o anumita data, pentru care se vor inregistra mai
multe date.
Un obiect de tip Activitate este descris prin urmatoarele
atribute:
data
ore dormite

numarul de minute fitness


numarul de km parcursi prin alergare, dar si prin mers
micul dejun
pranzul
cina

Dupa crearea obiectului de tip Profil si adaugarea partiala a lui


in baza de date (greutatea, inaltimea, imc-ul nefiind inca
inregistrate), se va deschide activitatea ProfilCurent caruia i
se va transmite prin obiectul de tip Intent numele profilului
abia creat.

3. Activitatea ProfilCurent; fie ca aceasta a fost deschisa prin


intermediul activitatii principale, fie ca a fost deschisa prin
activitatea de creare a unui profil nou, acestei activitati i-a fost
pasat numele utilizatorului. Astfel ca aceasta activitate, prin

numele pe care il detine in mod curent, poate cauta in baza de


date pentru a obtine toate celelalte atribute ale userului si le
poate incarca in in TextView-urile ce populeaza ecranul.
In momentul de fata, sunt completate doar campurile care au
fost adaugate in prima instanta in baza de date (nume, sex,
varsta), celelalte (inaltime,greutate, imc, greutate ideala)
urmand a fi adaugate prin intermediul item-urilor definite in
meniul ce poate fi accesat din aceasta activitate. Greutatea
ideala nu este un atribut al unui obiect de tip profil, ci va fi
calculat de fiecare data in metoda onCreate a activitatii odata ce
va fi cunoscut si atributul inaltime (greutatea ideala se
calculeaza dupa o formula ce contine atat inaltimea, cat si sexul
si varsta persoanei in cauza) .
Tot in aceasta activitate se poate introduce intr-un editText o
anumita data, iar prin apasarea butonului Vezi activitate se va
deschide o activitate secundara in care vor fi afisate toate
informatiile inregistrate pt ziua respectiva.

4. Activitatea UpdateActivitati; este deschisa prin apasarea


butonului Vezi activitate din activitatea ProfilCurent si afiseaza
numarul de ore de somn, numarul de km parcursi, numarul de
minute in care s-au efectuat exercitii fizice, dar si mesele din
data introdusa in activitatea anterioara.
Din aceasta activitate, prin intermediul controalelor EditText din
dreptul tuturor informatiilor afisate, se pot edita toate aceste
campuri ale unui obiect de tip Activitate, urmand ca acesta sa fie
modificat si in baza de date in conformitate cu modificarile
facute de utilizator prin apasarea butonului Modifica, ce va
redeschide activitatea ProfilCurent, si ii va pasa din nou acesteia
numele userului pt a putea incarca din nou toate informatiile
acestuia.

Urmatoarele 3 activitati se pot accesa din meniul activitatii


ProfilCurent:

5. Activitatea ConstitutieFizica; primeste de la ProfilCurent numele


din baza de date si incarca toate informatiile corespunzatoare
campurilor ce sunt afisate in mod curent. Aceste informatii pot fi
adaugate/editate, dupa care se poate reveni la profilul curent.
Tot in aceasta activitate se calculeaza greutatea ideala, in functie
de sex, varsta si inaltime:
if(sex.equals("Masculin"))
{
greutateIdeala = inaltimeInt-100- (inaltimeInt-150)/4 +
(varstaInt-20)/4;
}
else
{
greutateIdeala = inaltimeInt-100- (inaltimeInt-150)/2.5f +
(varstaInt-20)/6;
}

6. Activitatea Activitati; presupune adaugarea unei noi activitati in


baza de date. In mare parte, acesata activitate corespunde
activitatii UpdateActivitati, singura diferenta dintre aceastea fiind
operatia ce se executa raportat la baza de date.
Aceasta activitate executa un insert in tabela Activitati, pe cand
activitatea menionata la punctul 4 executa un update.
7. Activitatea Despre;
Al 4-lea element din meniul il reprezinta Gestiune profiluri. Prin
selectarea acestuia se redeschide activitatea principala, de unde
se poate crea un profil nou sau se poate alege un alt profil deja
inregistrat in baza de date.

Baza de date a aplicatiei


Baza de date a aplicatiei este compusa din doua tabele, ce corespund
celor doua clase definite la nivel de aplicatie, si anume Profil si Activitate.
Relatia dintre tabela Profiluri si Activitati este one to many (un profil
poate avea mai multe activitati, pe cand o activitate poate face parte dintrun singur profil).

S-ar putea să vă placă și