Você está na página 1de 18

ATESTAT LA INFORMATIC SUNSHINE

PREZENTARE PROIECT

S
U
N
S
H
I
N
E 1
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

LUCRARE PENTRU ATESTAREA


COMPETENELOR PROFESIONALE

Elev : Grigoras Andrei

Profesor indrumtor : Marinel erban

Liceul : Colegiul Naional Emil Racovi, Iai

Sesiunea : Mai 2017

2
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Cuprins:

1. Motivul alegerii temei pag. 4


2. Ce este Android Studio? pag. 5-6
3. Aplicatia Sunshine pag. 7
4. Modul de programare pag. 8-14
5. Resurse de hard si soft pag. 15
6. Bibliografie pag. 16

1. Motivul alegerii temei

3
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Motivul alegerii acestei teme a fost dorinta de a dezvolta aplicatii pentru


platforma Android. Dupa cum stim, aceasta este cel mai raspandit sistem de
operare al telefoanelor smartphone, motiv pentru care sunt foarte multe locuri
de munca pentru programatorii in acest domeniu.

Ideea aplicatiei a pornit de la curiozitatea mea de a integra intr-o aplicatie


de telefon avantajele internetului. Astfel, aplicatia Sunshine, in functie de
locatie, extrage de pe internet informatii privind vremea pe durata a 7 zile. Ca
si avantaj al aplicatiei este usurinta gasirii prognosticului meteo (doar
deschizand aplicatia si selectand locatia dorita) dar si designul minimalist
construit pe modelul Material Design.

De asemenea, aplicaia poate comunica cu Google Maps si, in functie de


locaia curenta, ne poate afia pe harta poziia geografica uurnd astfel
cutarea acesteia.

Eu sincer, sunt mndru de ce am realizat si tind sa recunosc ca a fost o


experienta placuta in urma careia am dobndit o baza solida de cuno tin e in
dezvoltarea de aplicatii Android.

3. Android Studio

Android este o platforma software si un sistem de operare pentru dispozitive si


telefoane mobile bazata pe nucleul Linux, dezvoltata initial de platforma Google.

4
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Android permite dezvoltatorilor sa scrie cod gestionat in limbajul Java, controland


dispozitivul prin intermediul bibliotecilor Java dezvoltate de Google.

Android Studio este IDE-ul oficial pentru dezvoltarea de aplicaii Android e


disponibil pentru download n versiuni pentru Windows, Mac i Linux. Android
Studio e construit peste IntelliJ IDEA Java IDE i permite instalarea automat a
tuturor instrumentelor necesare dezvoltrii de aplicaii Android.

Android Studio are o interfa grafic pentru instalare din care se stabilesc setrile
de baz, se adaug un emulator i ceva exemple de aplica ii. O modalitate foarte
eficient pentru un nceptor este s foloseasc unul din exemple i pe baza lui s
nceap s extind funcionalitatea aplicaiei sale.

Prin Android Studio se poate vedea automat interfa a aplicaiei pe diferite


dimensiuni i rezoluii, chiar i n diferite limbi. Limbajul are la baza doua
componente: soft, ce se poate programa prin intermediul limbajului Java , si
design ,ce este realizat in mare parte prin limbajul XML.

Java este un limbaj de programare orientat-obiect, puternic tipizat, conceput de


ctre James Gosling la Sun Microsystems (acum filial Oracle) la nceputul anilor
90, fiind lansat n 1995. Cele mai multe aplicaii distribuite sunt scrise n Java, iar
noile evoluii tehnologice permit utilizarea sa i pe dispozitive mobile gen telefon,
agenda electronic, palmtop etc. n felul acesta se creeaz o platform unic, la
nivelul programatorului, deasupra unui mediu eterogen extrem de diversificat.
Acesta este utilizat n prezent cu succes i pentru programarea aplica iilor destinate
intranet-urilor.
5
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Limbajul mprumut o mare parte din sintax de la C i C++, dar are un model al
obiectelor mai simplu i prezint mai puine faciliti de nivel jos. Un program Java
compilat, corect scris, poate fi rulat fr modificri pe orice platform care e
instalat o main virtual Java (englez Java Virtual Machine, prescurtat JVM).
Acest nivel de portabilitate (inexistent pentru limbaje mai vechi cum ar fi C) este
posibil deoarece sursele Java sunt compilate ntr-un format standard numit cod de
octei (englez byte-code) care este intermediar ntre codul main (dependent de
tipul calculatorului) i codul surs.

XML (eXtensible Markup Language), descendent al SGML (Standard Generalized


Markup Language) este un meta-limbaj utilizat in activitatea de marcare structurala
a documentelor. Cu XML, unui calculator ii este usor sa genereze si sa citeasca
datele, cat si sa se asigure ca structura datelor este corecta. XML evita problemele
obisnuite ale limbajelor de programare: este extensibil, independent de platforma si
suporta internationalizarea si localizarea. XML este complet compatibil
cu Unicode.

3. SUNSHINE

6
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Aplicatia prezinta 3 parti : pagina principala unde este afisat


prognosticul si bara de meniu, pagina de setari unde putem schimba
locatia si unitatea de masura a temperaturii si butonul ce ne deschide
Google Maps la locatia din setari.

7
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

8
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

4. Modul de programare

Aa cum am spus in descrierea aplicaiei, aceasta preia informa ii de pe internet,


trimind anumii parametri ctre un URL ( ce are in spate un server ) ce returneaz
datele cerute. Am creat o metoda numita FetchForecastTask ce ini iaz o conexiune
ctre https://openweathermap.org/api si in funcie de preferinele dorite, mi
returneaz sub forma unui obiect JSON datele. De menionat este ca, pentru a
accesa acest serviciu ne trebuie o cheie unica ( API KEY ) pe care o putem primi pe
site, crend un cont si adugnd o cheie.

9
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Acum avem un obiect ce deine datele noastre. nainte de a le afia trebuie sa le


convertim convenabil pentru a putea fi nelese de utilizatori. Prima data vom
extrage din obiectul JSON datele ce ne intereseaz : temperatura minima si
maxima, descriere, data zilei caci iniial datele sunt sub forma unui singur string.

10
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Dup, convertim data in formatul clasic si temperatura in func ie de unitatea de


msura aleasa.

Urmtorul pas este sa le afiam intr-un mod atrgtor. De aceea vom folosi clasa
ListView ce ne permite afiarea datelor sub forma unei liste. Am creat o clasa
CustomAdapter ce ne definete elementele listei, in cazul nostru informa iile si o
poza corespunztoare descrierii condiiei meteo.

11
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

De asemenea, am creat si un buton ce ne deschide Google Maps la loca ia selectata


din setri trimind un Intent cu parametrul ACTION_VIEW ce specifica
sistemului de operare ca vrem sa vizualizam o loca ie. Astfel, cum prin default
Google Maps se ocupa de afiarea locaiilor, aplicaia va prelua Intent-ul si va afi a
poziia respectiva.

12
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Pentru a tine evidenta setrilor, adic a modifica in aplica ie constant datele in


funcie de setrile alese, vom folosi clasa PreferenceManager ce ne permite accesul
la datele salvate. Atunci cnd este detectata o modificare, informa iile se
actualizeaz in funcie de noile criterii.

13
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Desigur ca, toate aceste clase si activit i au in spate un design (layout) propriu
creat in XML. Pentru uurina am folosit clasa Fragment pentru a putea facilita
crearea de interfee ce se pot adapta diferitelor tipuri de ecran. Activitatea
principala conine un fragment o lista si un meniu (bara de sus) ce vor fi populate
ulterior cu informaiile obinute.

14
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Un alt feature pe care l-am folosit a fost CardView ce reprezint o modalitate de


afiarea informaiilor. Astfel, pe lng faptul ca datele sunt sub forma de lista, se
adaug automat un design sub forma de carte de vizita asemntor postrile de pe
Facebook.

15
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

5. Resurse de hard i soft necesare


16
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

Aplicaia a fost realizat cu ajutorul programului Android Studio, n


limbajul Java si XML.

Resurse recomandate:

1) Hardware:
- Memorie (RAM): 4 GB
- Spaiu liber pe hard-disk: 1.5 GB
- Monitor: 1280 * 800
- Java Developement Kit (JDK) 7

2) Software:
- Sistem de operare: Windows 7/8/10/2003

6. BIBLIOGRAFIE

17
ATESTAT LA INFORMATIC SUNSHINE
PREZENTARE PROIECT

https://www.google.ro/search?
q=material+dex&oq=mateiral+des&aqs=chrome.1.69i57j0l5.3074j0j7&sourceid=chrome&ie=UTF-
8#q=meterial+design
https://openweathermap.org/api
https://www.youtube.com/watch?v=YHAXfD3f-MI
https://stackoverflow.com/

18

Você também pode gostar