Crearea Aplicatiei Pentru Sistem de Operare Android Os
ACADEMIA DE STUDII ECONOMICE DIN MOLDOVA
FACULTATEA CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ ECONOMICĂ
CATEDRA CIBERNETICĂ ȘI INFORMATICĂ ECONOMICĂ
Lazar Alexandr
Crearea aplicatiei pentru sistem de operare Android OS
Autor:
studentul gr. TI 121,
învățămînt cu frecvențа lа zi,
Alexandr LAZAR
_____________
(semnăturа)
Conducător științific:
dr., conf. Sergiu CREȚU
_____________
(semnăturа)
Chișinău – 2016
Declаrаțiа pe propriа răspundere
Subsemnаtul, Lazar Alexandr, аbsolvent аl Fаcultății Cibernetică, Stаtistică și Informаtică Economică аl Acаdemiei de Studii Economice din Moldovа, speciаlizаreа Tehnologii Informationale, declаr pe propriа răspundere că tezа de licență pe temа „Crearea aplicatiei pentru sistem de operare android os” а fost elаborаtă de mine și nu а mаi fost prezentаtă niciodаtă lа o аltă fаcultаte sаu instituție de învățământ superior din țаră sаu din străinătаte.
De аsemeneа, declаr că sursele utilizаte în teză, inclusiv cele din Internet, sunt indicаte cu respectаreа regulilor de evitаre а plаgiаtului:
frаgmentele de text sunt reproduse întocmаi și sunt scrise în ghilimele, deținând referințа precisă а sursei;
redаreа/reformulаreа în cuvinte proprii а textelor аltor аutori conține referințа precisă;
rezumаreа ideilor аltor аutori conține referințа precisă а originаlului.
Lazar Alexandr
____________
(Semnăturа)
ADNOTARE
la teza de licență „Crearea aplicatiei pentru sistem de operare android os” , ASEM”
a studentului gr. TI-121, specialitatea „Tehnologii Informationale” Lazar Alexandr.
Teza de licență este perfectată pe 56 de pagini formatul A4 și cuprinde 23 figuri, 10 tabele, 16 surse bibliografice.
Cuvinte cheie: aplicatie web, server, client, interfață grafica, grupuri de utilizator, proceduri automate, evidenta reusitei, tipuri de reusita, formate grafice de vizualizare, bază de date, internet .
În cadrul tezei de licenta se abordeaza problema proiectarii si realizarii unui sistem informatic care ar spori eficienta si eficacitatea procesului de gestiune a reusitei academice a studentilor.
Prezenta lucrare este alcătuită din introducere, 3 capitole, concluzii si bibliografie. Primul capitol al tezei contine. Al doilea capitol. Capitolul trei
ANNOTATION
to the graduation paper „Creating mobile application for Android OS”, ASEM” of the student of Ti-121 group, speciality „IT tehnologies” Lazar Alexandr.
The graduation paper is fulfilled in the format of A4 and contains 56 pages, 23 figures, 10 tables, 16 bibliographical sources.
Key-words: web application, server, client, graphical interface, user groups, automated procedures, evidence of academic assessments, types of academic assessments, viewing formats, database, internet.
The goal of this thesis consists in creation of an informatic system that would enhance the efficiency and effectiveness of the management of the academic success of students.
The graduation paper consists of introduction, four chapters, conclusions and bibliography. The first chapter includes The second chapter The third chapter provides
CUPRINS
CUPRINS 5
CAPITOLUL 1. INTRODUCERE 6
1.1 Structura sistemului informatic. Activitățile sistemului, componentele, natura relațiilor intre componentele sistemului, strategii aplicate la proiectarea unor astfel de sisteme. 7
1.2 Scurt istoric al sistemelor existente: Analiza comparativă a sistemelor cu avantaje și dezavantaje. Referințe la sisteme concrete. 9
CAPITOLUL 2. COMPOONENTELE DE BAZĂ ALE SISTEMULUI INFORMATIC PROPUS 11
2.2 Activitățile de bază ale sistemului propus. Modelarea interacțiunii activităților. 13
2.3 Metoda HTTP pentru conecsiunea între componentele sistemului informatic. 14
2.4 Programarea în stilul MVC. 18
2.5 Publicarea WEB Aplicatiei direct din Visual Studio în Microsoft Azure host service. 20
2.6 JSON pentru înterschimb de date între aplicații informatice. 26
CAPITOLUL 3. ASPECTE ALE ÎMPLEMENTĂRII SISTEMULUI INFORMATIC REALIZAT. 28
3.1 Prezentarea generală aplicatiei “MoneyMD” pentru sistem de operare Android OS. Analiza problemei de împlementare. 28
3.2 Lucrul cu designul Aplicatiei în aplicația Adobe Photoshop 32
3.3 Web interfata pentru adaugarea cursului valutar actual pe server(User Interface). Rest API. 39
3.4 Instalarea aplicațtiei “MoneyMD.apk” pe dispozitiv cu sistem de operare Andoid OS. 42
ANEXE 47
LISTA ABREVIERILOR 48
BIBLIOGRAFIE 49
CAPITOLUL 1. INTRODUCERE
Aplicațiile pentru mobile sunt un instrument modern și, cel mai important foarte eficient de marketing. Aceste programe se instaleaza în smartphone-uri și tablete clienților potențiali și le ajuta să cumpere produsele și serviciile oferite anume de dumnevoasta. Există doua variante posibile : o aplicație de sine stătătoare sau o versiune sitului mobilă. Versiunea sitului pentru mobil are mai multe neajunsuri și e cu mult mai incomod de folosit in comparație cu Aplicatie mobila. Din aceasta cauza eu am ales pentru proiectul meu crearea unei aplicatiei mobile.
In comparatie cu site-urile mobile, aplicațiile se încarca foarte repede, deoarece acestea nu au nevoie sa descarc imaginile din rețea și alte elemente "grele".
Aplicațiile mobile pot rula în modul offline, adică într-un moment în care conexiunea la internet nu este disponibila. Acesta constitue un mare avantaj, deoarece permite companiei să fie întotdeauna "în contact" cu un potențial client, chiar și atunci când utilizator nu are posibilitate de a conecta la internet. Dar îndată ce utilizatorul va putea conecta la rețea, atunci modificările vor fi încărcate automat.
Aplicatii sunt create special pentru anumite modele de telefoane, astfel acestea într-adevăr pot lua în considerare specificitatea lor, oferind utilizatorului interfata cea mai convenabila. Toate butoanele din aplicația vor fi amplasate în mod convenabil și vor fi suficient de mari.
Aplicațiile pot fi folosite cu succes ca un instrument de marketing. Deocandată piața aplicatiilor mobile in Republica Moldova nu este prea suprasaturată, este mai usor de popularizat aplicatia noua pentru mobil decât, de exemplu, de a promova site-ul mobil simplu pe internet. Ca concluzie, beneficiile sunt acordate acelor companii care sunt primele, care oferă clienților aplicatie mobila. Acest lucru înseamnă o concurență scăzută în această piață, ceea ce este extrem de pozitiv pentru orice companie din tara noastra. Trebuie de remarcat faptul că, în America, această situație a rămas în trecut, astfel companiilor din Republica Moldova se ofera sansa de a utiliza acest moment favorabil.
Lansarea aplicației permite companiei să își îmbunătățească propria imagine. De fapt, crearea acestui proiect arată preocuparea cu privire la actualii și potențialii clienți, care o vor aprecia cu siguranță. De fapt lansarea aplicației este o ocazie de publicitate minunată, care vă permite să utilizați alte instrumente de marketing.
Lansarea aplicației se adresează unui public foarte larg, care, în ultimii ani este în creștere foarte rapida. Deja, în întreaga lume, so vandut aproximativ 200 de milioane de smartphone-uri, iar producția lor rămâne la un nivel ridicat, deoarece cererea la dispozitive este în continuă creștere.
Aplicatiile se pot integra cu sisteme de navigație, care sunt adesea încorporate în smartphone-uri. Acest lucru poate în orice moment sa arăte utilizatorului (clientului potential) modul în care el poate sa ajunge la biroul companiei din locația curentă a utilizatorului. Astfel de oportunități nu poate sa ofera nici un alt instrument de marketing și de promovare.
Aplicațiile mobile pot fi integrate cu un site care le va descărca toate actualizările, știri și informații despre promoțiile curente și reduceri. Toți clienții (utilizatorii aplicatiei mobile) vor fi informați de reduceri si promotii actuale direct de pe telefonul mobil, fara sa acceseze pagina web companiei. Se poate de utilizat asa un instrument ca push-notificări pentru a tine de "mâna" pe fiecare client. Utilizind asa posibilitate garantat o sa obtineti rezultat pozitiv in vinzarea produselor sau serviciilor voastre.
Dar cu toate acestea avantajele aplicatiilor mobile mai ramine o alegere principala. Pentru care sistem de operare e mai actual de creat aplicatia. Deci nu m-mam gindit mult la intrebarea aceasta. Cu toate avantajele sistemui de operare iOS statistica spune ca aproape 80% de utilizatori, care aleg intre doua sisteme de operare Android OS sau iOS aleg Android OS.
Android este un sistem de operare destul de tânăr, dar deja acum concurează cu succes cu produse software pentru Windows Mobile si Apple iOS, aceasta inseamna ca e foarte perspectiv. Popularitatea acestei platforme ajută la promovarea acesteia nu numai la piața de telefonie mobilă, dar, de asemenea, tabletelor si TV boxurilor. Astfel de companii bine-cunoscute, cum ar fi HTC, Motorola, Samsung, LG, Sony Ericsson și multe altele folosesc în dispozitive fabricate sistem de operare Android OS.
Principale avantajele platformei sunt: politica “Open source”, accesibilitatea și distribuirea în masă. Din această cauză atrage un număr foarte mare de utilizatori.
Structura sistemului informatic. Activitățile sistemului, componentele, natura relațiilor intre componentele sistemului, strategii aplicate la proiectarea unor astfel de sisteme.
Aplicatie mobila de afișare cursului valutar prezintă un sistem informatic din mai multe componente functionale. În primul rind e aplicația pentru sistem de operare Android OS cu care va interacționa în mod direct utilizatorul. Aceasta ar trebui să aibă interfata grafica si să poate, cel putin afișa curs valutar actual. Un mare avantaj constă in comoditatea utilizarii aplicatiei mobile.
Al doilea component sistemului informatic pentru aplicatia mobila de afișare cursului valutar este sursa de unde aplicatia extrage datele actuale de curs valutar. Aici apare selecție multipla, datele pot fi extrase din mai multe locuri. Unii extrag datele direct de pe web site oficial unei bancii sau punctului de schimb valutar, altii utilizez server distinct pentru a păstra si modifica datele actuale de curs valutar. Fiecare varianta are avantajele și dezavantajele sale, alegerea vine de la cerințele inițiale clientului (proprietarului aplicatiei) și modului de utilizare aplicatiei pentru sistem de operare Android OS.
Desigur, nici un sistem de asa tip nu poate exista fără relațiile între componentele lui. Aici se folosește tehnologia HTTP. Nu în zădar această tehnologie este cea mai des întîlnita în tot tipuri de internet proiecte. Ea este simplâ, clara și pur și simplu nu are cu cine concura. Pentru legaturi între componentele proiectelor asemanatoare se utilizeaza tehnologia HTTP. La etapa inițiala se folosește HTTP request pentru a face cerere anumite informații de la server dupa ce server trimite HTTP response cu informațiile solicitate.
Există mai multe strategii aplicate la proiectarea unor astfel de sisteme. Totul iarași depinde de cerințele inițiale clientului (proprietarului aplicatiei). Se poate de concentrat pe funcțional bogat aplicatiei mobile, de utilizat multe oportunități sistemului de operare Android OS ca GPS sau notificari Push. În sfirșit aplicatia va fi foarte funcționala dar puține șanse ca interfața va rămine simplă de utilizat. Acest fapt numaidecit va influența la popularitatea aplicației mobile și probabil utilizatori de nivel mediu va refuza de utilizarea programului complicat. Dar utilizator avansat învers va aprecia functionalul bogat aplicatiei mobile.
A doua strategia aplicată la proiectarea astfel de sisteme consta în concentrarea pe UI (User Interface). Se presupune ca aplicatia mobila va avea funcțional minim dar acest minimul necesar va avea o interfata grafica foarte simpla, clara din prima vedere și vizual placută. Astfel aplicatia mobilă va executa doar cîteva funcții principale dar în mod foarte rapid și intuitiv clar pentru orice utilizător. Așa fel de aplicații sunt foarte populare deoarece fiecare utilizator cu orice nivel de cunoaștere sistemei de operare Android OS cu ușurința le poate folosi.
1.2 Scurt istoric al sistemelor existente: Analiza comparativă a sistemelor cu avantaje și dezavantaje. Referințe la sisteme concrete.
Pe piața Republicii Moldova nu sunt prezentate foarte multe aplicatii mobile cu tematica de afișare cursului valutar. Dar dupa o analiza aplicațiilor existente in Google Play Market cu ușurința se poate găsi șase favorite cu numarul de descarcări și rating destul de bun. Ele sunt aratate pe Figura 1.1.
Figura 1.1 Top Aplicațiilor mobile de afișare cursului valutar.
Aici putem vedea șase aplicații cele mai înalt apreciate de utilizatori pe tematica afișării cursului valutar din Republica Moldova. Ele toate au aceiași functie principala dar au o multime de distincții. Se deosibesc cît în design si user interface atît si în funcționalul propus, unele ofera cautarea bancomatelor prin GPS, alte ofera widget pe desktop. Toate sunt oferite utilizatorului absolut gratis, dar nu pur și simplu. La toate din ele putem gasi publicitate, conectata de la Google sau directă. De exemplu prima aplicatia din lista prezentată „[Moлдoва] Bалютный кypc” folosește în interfata sa elemente de publicitate care promovează Banca Socială și VictoriaBank. Puteti sa vedeți acest fapt pe Firura 1.2.
Figura 1.2 Exemplu de publicitate în interfața programului „[Moлдoва] Bалютный кypc”.
Sunt si aplicatii care nu folosesc publicitatea dar interfața si designul lor o ramas în anii 2010. Dispozitivele mobile s-o schimbat extrem de mult din timpul cela, so schimbat diagonala medie de display. Interfețe de ziua de azi deosibesc foarte mult de aceia ce o fost la inceputul anilor 2010. Ele au devinit mai simple și mai putin informative dar mai comod de utilizate si placute vizual. De exemplu aplicatia “Oбмeнный кypc” din lista prezentata mai sus cu siguranta o ramas cu design vechi si neactual în ziua de azi. Putem vedea acest fapt cît în design icoanei aplicatiei mobile atît si în design interfeței aplicatiei pe Figura 1.3.
Figura 1.3 Design arhaic aplicației mobile “Oбмeнный кypc”
CAPITOLUL 2. COMPOONENTELE DE BAZĂ ALE SISTEMULUI INFORMATIC PROPUS
2.1 Analiza problemei: formularea precisă și exhaustivă a scopurilor fixate.
In procesul de proiectare aplicatiilor mobile există o mulțime de nuanțe. Unele dintre acestea nu sunt cunoscute de toată lumea, altele sunt uitate rapid. În acest paragraf o să descriu mai multe tehnici cu privirea la care am proiectat aplicatia pentru a realize scopurile fixate, ei pot fi numite eficiente și reusite.
În mod ideal, o aplicație pentru dispozitivele mobile ar trebui să funcționeze cu viteza gândului. Mai mult decât atât, interfața aplicației ar trebui să fie clara chiar și pentru utilizator incepator.
Diferite aplicații necesită diferite abordări in proiectare. Cu toate acestea, esența dispozitivului mobil cu un ecran tactil oferă unele recomandări de bază, deoarece limitări ale lumii fizice au întotdeauna valoare.
Ideia aplicatiei pentru sistem de operare Android “MoneyMD” consta in comoditate de interactiune cu aceasta. Cind am proiectat aplicatia m-am staruit s-o creez cit mai clara pentru utilizator din prima privire si cit mai comoda si rapida in utilizare. In acest lucrul cu mult m-o ajutat recomandari principale de proiectare a aplicatiei mobile. Doresc să împărtășesc cu unele dintre ele:
Răspunsul (response). În cazul în care utilizatorul face ceva, aplicația ar trebui să valideze întotdeauna interacțiunea. Acesta poate fi un sunet obișnuit sau animație dar, tineti minte că răspunsul și viteza – nu e același lucru. Anumite operațiuni iau timp, e în regulă. Doar asigurați-vă că ați dat utilizatorului sa știe că sarcina este în curs de procesare.
Focusati Mai mult – nu înseamnă mai bine. Tăiati funcționalitatea site-ului principal. Oricum o sa trebuiasca de refuzat careva functii.
Uzabilitate Aplicatia mobila trebuie să fie ușor și intuitiv de utilizat. De exemplu, dacă doriți să specificați un link pentru a merge la o alta resursă, il faceti mod obișnuit – cu ajutorul albastru text subliniat. Comoditate – acesta este primul pas pentru a se asigura că programul va deveni de dorit pentru utilizator.
Abilitate de a invata În mod ideal, utilizatorul ar trebui să ghicească cu ușurință cum să lucreze cu programul. Aici vin la ajutorul scheme de design familiare la mai multe aplicatii mobile. Ei trebuie să ajute utilizatorului fără probleme de a folosi programul.
Controale Dacă aveți nevoie să adăugați controale, mai bine le aranjati în partea de jos a ecranului. Imaginați-vă o mașină de calcul, cântare sau același calculator – controalele din ele sunt întotdeauna situate sub display. In caz contrar, nu s-ar fi văzut ce se întâmplă cu conținutul în timpul lucrului cu ei. Comparați aceste exemple de dispozitive reale de viață cu software-ul tradițional pentru web sau un PC, în cazul în care navigarea virtuală și meniurile sunt întotdeauna în partea de sus. Atunci când utilizați mouse-ul este destul de adecvat, deoarece cursorul de pe ecran aproape nu incurca ochiului de a vedea content, dar "degetele-cursoare" noastre e alta istroie.
Poziția verticală a ecranului – cea mai populara pozitie. Luati acest factor in consideratie si in primul rind optimizați interfata aplicatiei sub forma verticala.
Acestea erau criterii principale in proiectarea aplicației de afisare Cursului Valutar “MoneyMD”. Si totuși, ideia este sa creez o aplicatie pentru afisarea cursului valutar cit mai simpla rapida si clara. Nu am nevoie de functional larg, pun accent numai pe afișarea cursului de valuta actual cit mai rapid pentru utilizator. Prin așa strategie planific sa acoper un număr mare de utilizatori cu nivel de utilizare începator sau medie. Rămin utilizători cu nivel performant, și eu înteleg că, probabil funcțional aplicației mele o să le pară insuficient. Aleg strategia această deoarece dupa statistica anilor 2015-2016 în utilizatorii sistemului Android OS predomina utilizători cu nivel mediu și începător. Aplicatia “MoneyMD” numaidecit va face “refresh” datelor la pornire pentru ca utilizator intr-un click să primească informatia necesara actuala.
Interfata aplicatiei “MoneyMD” va fi creata cu privire, in primul rind la comodiatea si usurinta de utilizare si in al doilea rind la viteza de afisarea Cursului Valutar actual.
Bănci sau case de schimb valutar ar putea avea nevoie de asa fel de aplicatie, ideea proiectului meu este de a încerca și de a intelege cum să dezvolta o astfel de aplicatie mobila. Sunt sigur ca aceasta va fi o mare experiență pentru mine și eu voi înțelege mai mult ceea de ce are nevoie clientul în aplicatia comandata si cum de realizat cerintele lui.
2.2 Activitățile de bază ale sistemului propus. Modelarea interacțiunii activităților.
Inainte de a incepe pogramarea proiectul prezentat de mine in aceasta lucrare o fost facuta proiectarea structurii de functionare si structurii de legaturi intre componente folosite pentru lucrul stabil si rapid aplicatiei “MoneyMD” pe sistem de operare Android.
Eu am analizat tehnologiile si metodele folosite pentru aplicatiile asemanatoare si am ajuns la metodele de programare pe care o sa va explic în acest paragraf.
Figura 2.1 Schema grafica a componentelor și conecsiunelor între ei sistemului informatic propus.
Pe Figura 2.1 puteti vedea schema grafica facuta de mine pentru explicatie simpla si eficienta a functionarii proiectului. Pe schema puteti vedea 3 elemente principale:
Orice device cu sistem de operare Android (USER)
Server
Administrator
User care va utiliza aplicatia are nevoie doar s-o instaleze pe device cu sistem de operare Android. Nu este nevoie de configurare.
Ca server eu am ales Microsoft Azure si o sa va explic de ce anume Azure mai tirziu in lucrarea aceasta.
In acest proiect Administrator are nevoie doar de a introduce datele actuale de Curs Valutar in interfata grafica WEB bazata pe Microsoft Azure Server.
Utilizator prin aplicatia Android “MoneyMD” face HTTP request pe Server si primeste HTTP raspuns cu datele de Curs Valutar actuale. Despre tehnologia de transmitere datelor HTTP o sa va explic aparte mai jos in lucrarea aceasta.
Pentru simplificarea lucrului Administratorului va fi creat Web User Interface care va permite adaugarea si modificarea Cursului valutar fara sa deschidem Visual Studio si sa modificam codul. Scopul este ca orice utilizator de PC cu cunostinte medie de utilizarea acestuia sa poate modifica datele dupa un scurt instructaj.
2.3 Metoda HTTP pentru conecsiunea între componentele sistemului informatic.
“Hypertext Transfer Protocol (HTTP) este metoda cea mai des utilizată pentru accesarea informațiilor în Internet care sunt păstrate pe servere World Wide Web (WWW). Protocolul HTTP este un protocol de tip text, fiind protocolul "implicit" al WWW. Adică, dacă un URL nu conține partea de protocol, aceasta se consideră ca fiind http. HTTP presupune că pe calculatorul destinație rulează un program care înțelege protocolul. Fișierul trimis la destinație poate fi un document HTML (abreviație de la HyperText Markup Language), un fișier grafic, de sunet, animație sau video, de asemenea un program executabil pe server-ul respectiv sau și un editor de text. După clasificarea după modelul de referință OSI, protocolul HTTP este un protocol de nivel aplicație. Realizarea și evoluția sa este coordonată de către World Wide Web Consortium (W3C).” [5]
În proiectul dat eu am utilizat metoda HTTP pentru conecsiunea între componentele sistemului informatic. Aplicația pentru sistem de operare Android OS trimite HTTP request la server unde se pastrează datele de curs valucar actual. Ca server am folosit Microsoft Azure, dupa ce el o primit HTTP request server trimite înnapoi HTTP request cu informatia necesară, în cazul programei mele – curriencies.
Sa vedem cum în general lucrează HTTP. De fiecare dată când browser – ul web preia un fișier (o pagină, o imagine, etc) de la un server de web, ea face acest lucru folosind HTTP – e "Hypertext Transfer Protocol". HTTP este un / protocol de solicitare de răspuns, ceea ce înseamnă că computerul trimite o cerere pentru un fișier ( de exemplu "Get me the file 'home.html'”), iar serverul web trimite înapoi un răspuns ("Here's the file", urmat de fișierul în sine).
Această cerere pe care calculatorul dvs. trimite la serverul de web conține tot felul de (potențial) informații interesante. Vom examina acum cererea HTTP pe computer a fost trimis la acest server de web, a se vedea ce conține, și de a afla ce mi-a spus despre tine.
Informațiile “raw”
Următoarea cerere HTTP a fost primită de la adresa IP 93.119.142.216 (portul 50347) prin adresa IP 10.227.157.194 (portul 80):
Analiza
Sursa adresa IP, portul și proxy
Sursa Adresă IP: 93.119.142.216
Port Sursa: 50347
Prin intermediul: nu este prezent
X-Forwarded-For: nu este prezent
Pentru a trimite răspunsul adecvat înapoi la computer, serverul de web știe neapărat adresa IP a computerului, precum și un număr de port pentru a trimite răspunsul. Adresa IP pare a fi 93.119.142.216, iar numărul de port utilizat a fost 50347.
Pe de altă parte, pot exista unul sau mai multe servere de proxy între computer și serverul web. În cazul în care cererea HTTP include antetul "Via", sau "X-Forwarded-For", atunci acesta este un indiciu puternic că există cel puțin un server proxy undeva de-a lungul liniei.
Dacă nici una dintre aceste antete au fost prezente, care ar putea însemna că s-au implicat nici un server proxy, sau ar putea însemna că ei pur și simplu a ales sa nu "dezvăluie" ei înșiși, prin adăugarea antete.
În acest caz , deoarece nu există nici o "Via" antet și nici un "X-Forwarded-For" antet, există posibilitate ca nu este un proxy între computer și serverul web. Cu toate acestea, acest lucru nu este bine definit – ar putea fi că există este un proxy, dar pur și simplu a ales sa nu adauge "Via" / "X-Forwarded-For" antete.
Adresa IP
Deocamdată vom presupune că adresa IP este 93.119.142.216. Hai să vedem ce știm despre acea adresă.
Adresa IP: 93.119.142.216
Nume DNS: host-static-93-119-142-216.moldtelecom.md
Loturi mai multe informații interesante pot fi învățate de la adresa IP. De exemplu , unde vă aflați pe internet , (aproximativ) ce oras esti in , si cine e ISP – ul tau.
Agent utilizator
Agent utilizator: Mozilla / 5.0 (Windows NT 6.1) AppleWebKit / 537.36 (KHTML, like Gecko) Chrome / 49.0.2623.110 Safari / 537.36
Accept: text / html, application / xhtml + xml, application / xml; q = 0.9, imagine / WebP, * / *; q = 0,8
Accept-Language: ru-RU, ru; q = 0.8, en-US; q = 0.6, en; q = 0,4
Antetul User-Agent descrie browser-ul web. De obicei conține numele browser-ului și versiunea (de exemplu, Firefox 1.0.7), sistemul de operare și versiunea (de exemplu, Windows XP), și informații suplimentare, eventual, (cum ar fi ce "service packe instalat pe calculator).
"Accept" antetele descriu ce fel de lucruri browser-ul web poate manipula, și ceea ce ar prefera să se acorde în cazul în care există o alegere.
"Accept" antet se descrie ce tipuri de documente browser-ul web poate manipula, astfel încât, de exemplu, putem spune dacă browser-ul dvs. este capabil de manipulare "image / png" grafică.
"Accept-Charset" antet descrie ceea ce seturi de caractere sunt acceptabile, astfel încât să putem face unele presupuneri cu privire la ceea ce parte a lumii ar putea să fie, și ce limbă ați putea vorbi. De exemplu, utilizatorii din Europa de Vest sau din America de Nord destul de probabil să înțeleagă doar "iso-8859-1", "ne-ascii" și "utf-8" seturi de caractere, în timp ce "Big5" ar sugera că ați putea fi chineză.
"Accept-Encoding" descrie capacitatea browser-ul web pentru a gestiona transferul comprimat de documente. Nimic prea interesant acolo, dar este un alt fragment de informații despre browserul pe care îl utilizați.
"Accept-Language" este mai interesant, deși; ne spune ce limbă pe care preferați să primiți documentele, în cazul în care serverul de web oferă o alegere. De exemplu, în cazul în care antetul ne spune că preferința este pentru "en-gb", urmat de "en", asta înseamnă că ești, probabil, un briton vorbitor de limba engleză. "Pt-br" de pe otherhand ar sugera un brazilian vorbitori de portugheză.
Cele mai interesante informații conținute în cerere sunt:
adresa IP a dvs. și / sau proxy HTTP
pe care documentul l-ați solicitat
ce tip si care versiunea browserului folositi
de la ce pagina ati venit de a ajunge aici (dacă ați urmat un link)
limba preferată
cookies
2.4 Programarea în stilul MVC.
La momentul proiectarii structurii codului pentru aplicatia Web am avut urmatoarele cerinte fata de codul programei. Codul numaidecit trebue sa fie impartit pe bucati si clar aranjat. Socot ca numai in acest caz programator va fi in stare de a modifica si de a corecta gresele aparute rapid si calitativ.
Pentru Web aplicatia proiectului “MoneyMD” am ales stilul de programare Model-View-Controller (MVC). Socot ca este ideal pentru nevoile proiectului și in acest subcapitol o sa va explic de ce. Cum se scrie codul în forma asta și de ce este mai bine așa față de stilul "clasic" ?
Vă dau un exemplu din viața reală.
Aveți de făcut o pagină de contact care să conțină un formular și datele introduse în acel formular să fie salvate în baza de date.
Simplu spuneți voi, fac formularul html și apoi scriu codul php pentru verificare și salvarea în baza de date. Unii voi spune că scriu codul într-un singur fișier, alții veți prefera să scrieți codul în 2 fișiere (partea cu formularul într-un fișier și partea cu prelucrarea în alt fișier). E bine, acestea sunt abordările "clasice" ca să spunem așa, dar în stilul de programare MVC va trebui să scrieți 3 fișiere. Desigur că o să mă întrebați de ce 3 fișiere, și de ce e mai convenabil atunci să scrieți în stilul MVC. Răspunsul vine din programarea pe limbajele dependente de OS și anume:
Să spunem că veți face acel formular într-un singur fișier care va conține atât codul html, prelucrarea datelor precum și salvarea într-o bază de date MYSQL, dar să spunem că dați acest cod la client și el spune că nu are bază de date MYSQL, are bază de date SQLite sau Oracle sau MSSql. In situația de față va trebui să rescrieți marea majoritate din cod ca să fie compatibil cu baza de date pe care o are clientul, chestie care ocupa timpul vostru. Să mai spunem că dați codul astfel modificat clientului, dar el s-a răzgândit între timp și vrea varianta desktop. Acum trebuie să rescrieți totul într-un limbaj de genul C sau Java să îl compilați și să îl dați apoi clientului, dar nu o sa fie placut deloc când vă gândiți că iar trebuie să scrieți același cod în alt limbaj ca să meargă pentru desktop.
E bine, dacă ați fi scris codul în stilul MVC, ați fi rezolvat astfel de probleme într-un timp foarte scurt, de la câteva minute la câteva ore.
In principiu avem 3 parți și anume, partea vizuală a aplicației (viewerul), partea de prelucrare și verificare a datelor (controlerul) și funcțiile pentru lucrul cu baza de date (modelul).
Important este să înțelegem logica, controlerul este pagina accesată prima dată, ea decide ce afișează pe ecran și ce face mai departe, modelul este un fișier inclus în controler și în el este clasa sau funcțiile de lucru pentru acel modul cu baza de date, iar viewerul ține de template, el este de asemenea inclus în controler și primește datele de la controler pentru a le afișa. Desigur putetem salva paginile cum dorim, eu încerc să explic logica.
Ce se scrie în model
«Modelul reprezinta partea de hard-programming, logica aplicatiei. El este responsabil de actiuni precum operatiile asupra datelor, integrarea cu baza de date, autentificarea userilor etc. Modelul reprezinta astfel o colectie de clase ce vor indeplini anumite functii, fara legatura cu actiunile userului. Ele vor fi baza pentru orice functie pe care va trebui sa o indeplineasca siteul.»[4]
In Model de obicei este o clasă cu funcțiile de apel pentru baza de date, cum ar fi:
o funcție care primește ca parametru o variabilă de tip array cu datele ce trebuiesc salvate în baza de date și returnează FALSE în caz de eroare sau un id în caz de salvare cu succes a datelor.
o funcție care preia datele din baza de date, primește ca parametru o variabilă de tip array pentru interogarea în baza de date (condiția pentru WHERE) și returnează FALSE sau o variabila de tip array cu datele obținute din baza de date.
o funcție pentru a afla număr total de înregistrări din baza de date (folosită de obicei la paginare) care primește ca parametru o variabilă de tip array pentru interogarea în baza de date (condiția pentru WHERE) și returnează FALSE sau un număr întreg ce reprezintă numărul de înregistrări găsite.
alte funcții ce țin de lucrul cu baza de date și au legătură cu formularul nostru.
Ce se scrie în Viewer
«View-ul se ocupa de afisarea datelor. O data ce functiile sunt executate de model, viewului ii sunt oferite rezultatele, iar acesta le va trimite catre browser. Viewul va folosi deci anumite templateuri, in functie de setarile oferite de model.»[3]
Viewer-ul este partea care afișează informațiile, aici nu trebuie să se facă calcule sau prelucrări de date, și nici o decizie (if, switch, etc) acest rol joaca controler, acolo se iau deciziile. Se poate de facut un switch și în el în funcție de caz sa afișem codul html corespunzător împreună cu datele primite de la controler, sau sa facem pagini separate pentru fiecare formular sau sectiune ce trebuie afișată. Desigur uneori mai este nevoie de o prelucrare minimală, de exemplu “for” pentru selecturi sau ceva asemănător.
Ce se scrie în Controler
«Controller-ul este legatura intre model si view, intre logica aplicatiei si actiunile userului. In functie de cerintele userului, controllerul va executa o anumita functie definita special pentru sectiunea de site in care se afla userul. Functia va folosi modelul pentru a prelucra datele si va trimite rezultatele catre view, care isi va afisa apoi templateurile.»[3]
Aici este cel mai mult cod de scris, fiind pagina care se cere prima dată și care le include pe celelalte, este nevoie de multe verificări și prelucrări de date, iar la sfârșit datele se trimit sub forma unor variabile de tip array la viewer sau în baza de date prin intermediul funcțiilor din model. Desigur aici trebuie sa fiu funcțiile necesare pentru prelucrarea și verificarea datelor cum ar fi:
o funcție care preia datele din formular și returnează un array cu aceste date
o funcție pentru verificarea datelor, primește ca parametru o variabilă de tip array cu datele ce trebuiesc verificate și returnează un array gol în caz că nu sunt erori sau un array cu mesajele de eroare în cazul în care nu a fost completat corect formularul
alte funcții necesare pentru formular
După cum vedem, nu e așa de complicat precum pare la prima vedere, singura diferență este dată de un cod mai bine organizat și încapsulat în funcții. Regula de bază pentru orice programator este să evite repetiția în cod, deci orice bucățică de cod care se repetă e mai bine să fie încapsulată într-o funcție și apelată de câte ori este nevoie. Scriind cod în stilul acesta, e mai ușor de depanat și modificat, iar dacă dați nume sugestive la funcțiile de lucru și scrieți cum trebuie comentariile despre ele nu mai trebuie să căutați prin tot codul ca să vedeți ce trebuie să modificați sau să adăugați, mergeți direct la funcția care se ocupă cu așa ceva și adăugați sau modificați codul din ea și atât.
2.5 Publicarea WEB Aplicatiei direct din Visual Studio în Microsoft Azure host service.
“ Microsoft Azure este platforma cloud Microsoft pentru IaaS și PaaS, altfel spus, o colecție de servicii online integrate – computing, stocare, date, networking și aplicații – în continuă expansiune, care se plătesc strict în functie de utilizare și care sunt garantate financiar pentru un SLA de 99.5%, ajutând organizațiile să devină mai rapide, mai productive, mai eficiente – inclusiv din perspectiva financiară.”[2]
Se comercializează sub forma unui simplu 'Part Number' ce acoperă o gamă largă de servicii online, fiind similar unui voucher ce trebuie consumat pe perioada unui an. Felul în care este consumat, ce servicii anume se doresc a fi consumate și periodicitatea cu care acestea sunt consumate de-a lungul anului, sunt la latitudinea beneficiarului.
Microsoft Azure este o platformă de Cloud deschisă și flexibilă care vă permite să dezvoltați, să implementați și să gestionați rapid aplicații într-o rețea globală de centre de date gestionate Microsoft. Dezvoltați aplicații folosind orice limbaj, instrument sau cadru. Puteți integra aplicațiile publice din Cloud în mediul IT existent.
Microsoft Azure este un sistem de operare integrat de cloud computing care faciliteaza gestionarea aplicatiilor web scalabile pe Internet. Mediul de gazduire si de gestionare se mentine conectat la centrele de date Microsoft cu ajutorul acestora putand fi accesate o serie de informatii. Microsoft Azure este similar, dar diferit de Windows Server, care este destinat pentru hosting la fata locului si de management al informatiilor stocate utilizand un astfel de sistem.
Azure este un sistem de operare de la Microsoft destinat pentru cloud computing. Ca si in cazul altor tehnologii de cloud computing, Microsoft Azure este destinat pentru a simplifica managementul IT si pentru a minimiza up-front-urile si cheltuielile aflate in curs de desfasurare. In acest scop, Azure a fost conceput pentru a facilita gestionarea de aplicatii web scalabile pe tot ceea ce inseamna Internet. Hosting-ul si gestionarea mediului se face si se mentine la centre Microsoft Data.
Numărul de clienți, start-up-uri și companii software ce folosesc Microsoft Azure este în creștere și scenariile de utilizare sunt diverse, de la dezvoltarea de aplicații și servicii noi la optimizarea operațiunilor online curente și implementări de cloud hibrid în companii medii și mari.
Microsoft Azure la nivel global:
•Capacitatea de calcul și de stocare este dublată la fiecare șase-nouă luni;
•Mai mult de 1000 de clienți noi în fiecare zi;
•Multe centre de date în China, Japonia, Australia, patru în Statele Unite, două în Europa și alte două în Asia;
•Platforma Windows Azure este utilizată deja de 50% dintre companiile din Fortune 500;
Microsoft Azure poate fi folosit pentru a crea, distribui si upgrada aplicatii web fara sa fiti nevoiti sa apelati sau sa mentineti resurse scumpe, de multe ori insuficient de utilizat la fata locului. Noile servicii web si aplicatii pot fi scrise si depanate cu un minimum de cheltuiala si fara personal, asta datorita sistemului in cloud. Optiuni noi pot fi adaugate precum ”on the fly” pentru pachete de aplicatii deja existente.
“Sistemul de operare Azure este o componenta centrala a companiei Azure Services Platform care include, de asemenea, nenumarate si separate aplicatii de securitate, de stocare si de virtualizare, straturi de servicii si un mediu primitor de dezvoltare desktop cu tot ceea ce implica acesta.
O caracteristica foarte buna a sistemului este reprezentata de serviciul de management automat care faciliteaza aplicarea si modernizarea aplicatiilor fara a compromite accesibilitatea utilizatorului. Functii cum ar fi load balancing, caching, toleranta la erori si redundanta sunt incluse pentru a asigura o disponibilitate ridicata.
Suportul Microsoft Azure este unul complet deoarece include numeroase si diferite functii standard sau cu anumite optiuni valabile. Protocoale, pachete privitoare la limba de suport si diferite platforme completeaza tabloul. Exemplele includ XML (Extensible Markup Language), REST (representational state transfer), SOAP (Simple Object Access Protocol), Eclipse, Ruby, PHP si Python.”[3]
Natura calcului corporativ se schimba datorita virtualizarii, networking mai rapid si cresterea performantelor aduse de procesoarele multicore. Microsoft nu isi poate permite sa ignore aceste schimbari, mai ales ca pleiada de clienti incepe sa realizeze cat de importanta este puterea adusa de cloud computing. Microsoft incearca prin aceasta platforma sa ajunga la zi si cu aceasta tehnologie destul de utila și absolut necesara in aceste zile moderne cand un accent foarte puternic se pune pe tot ceea ce inseamna stocarea de date fara sa se mai apeleze la un mediu fizic. Dar Microsoft mai are de recuperat in acest sens, este nevoie de imbunatatirea fiabilitatii asupra intregului sistem. Desi aduce ceva noua in acest domeniu unele aspecte sunt inca neclare cu privire la modul armonios jucat in viitor de companiile care vor dori sa construiasca platforme de management si alte instrumente pentru clientii care doresc o accesibilitate deplina in interiorul norului Azure. Dar, pana acum, detaliile venite din partea a tot ceea ce inseamna Azure sunt mai mult decat promitatoare facand din acesta un periculos pretendent in domeniul vizat.
Am ales Microsoft Azure deoarece:
– Platformă cloud deschisă și flexibilă – suportă orice system de operare, limbaj, tool, framework de la Windows la Linux, de la SQL la Oracle, de la C# până la Java, Android și iOS; permite crearea de aplicații în orice limbaj, instrument sau platformă ce pot rula pe orice dispozitiv.
– Platformă de tip 'hybrid ready' – nu sunteți obligat să optati între cloud-ul privat Microsoft și propriul DataC enter. Azure permite integrarea aplicațiilor din platforma cloud publicĂ cu mediul IT actual din organizație; cu Azure, stocarea de date, backup-ul si restaurarea devin mai eficiente si mai economice.
– Platformă mereu disponibilă – SLA 99.95%, 24×7 Tech support; platforma de clasa enterprise ce sustine Skype, Office365, Bing, Xbox etc
– Platformă economică și scalabilă – Azure este pliat perfect pe nevoile prezente: puteți oricând scala crescător sau descrescător serviciile, astfel încât să plătiți numai ceea ce consumați.
•Clienții închiriază resurse de calcul și stocare dintr-o plajă teoretic infinită. Nu e nevoie de un angajament financiar, astfel oricine poate începe cu foarte puțin și apoi poate crește consumul, sau poate opri totul la nevoie;
•Clienții pot alege modul de a rula aplicațiile în Cloud, prin adaptarea la platformă (PaaS sau Platform as a Service), prin mutarea, fără modificări, în mașini virtuale (IaaS sau Infrastructure as a Service) sauprin soluții hibride.
•Suport de nivel enterprise pentru întreaga suită a infrastructurii clienților noștri, indiferent dacă se află în centrele lor de date sau în Cloud.
Cu Microsoft Azure puteti sa :
– Construiți infrastructura sau să o extindeți pe cea existentă – provizionați mașini virtuale Windows și Linux în minute; stocați date ce pot fi folosite de aplicațiile locale de pe stații/servere sau puteți opta pentru backup & recovery, găzduire pagini de internet etc.
– Dezvoltați, testați, rulați aplicații moderne pentru Android, iOS, Windows – fie că este vorba de soluții web, mobile, media, puteți scala, crescător sau descrescător, oricât aveți nevoie.
– Faceți management de identități și acces – managementul userilor, sincronizare cu directoarele existente local on-premises, single sign-on în Azure, Office 365 și în sute de aplicații de tip SaaS (DocuSign, GoogleApps, Dropbox etc.)
– Economisiți bani – cu Azure scalați ușor serviciile (fie că vorbim de popularele servicii de infrastructură, backup sau orice alt serviciu) crescător sau descrescător, în orice moment, plătind strict ceea ce consumați.
– Mai mult: dacă doriți să opriți serviciile unor servere peste noapte sau în weekend, cu Azure este posibil.
Dupa ce am finalizat lucrul cu programarea codului Web Aplicatiei este nevoie de incarcat aplicatia pe un hosting , care sa ofere posibilitate 24/24 oricarui device sa extraga datele actuale cu curs valutar. Pentru acest lucrul eu am ales Microsoft Azure hosting. La alegerea mea cel mai mult o influentat 2 factorii:
Microsoft da posibilitate de a utiliza Microsoft Azure hosting Free Trial pe 30 de zile.
Hostingul e bazat pe Windows Server in comparatie cu o multime de variante pe linux aceasta constitue un avantaj
Inca la momentru proectarii conceptiei proiectului eu stiam ca o sa utilizez Microsoft Azure hosting si luind in consideratie acest fapt o fost proiectata aplicatia web.
Pe Figura 2.2 puteti vedea cum am plasat aplicatia web pe Microsoft Azure server direct din Visual Studio.
În primul rind din coloana din stinga gasim proiectul nostru “CurrencyDB” , facem click dreapta si apasam “Publish” dupa ce apare fereastă pe care o vedeti pe screenshot. Dupa ce apasam pe butonul “Connection” si introducem datele necesare pentru conecsiunea cu aplicatia si adresa aplicatiei in textbox “Destination URL” (aceasta adresa si nu numai o sa utilizam un pic mai tirziu in proiectarea aplicatiei “MoneyMD” pe sistem de operare Android)
Figura 2.2 Publicarea aplicatiei web pe Microsoft Azure server.
Pe Figura 2.3 puteti vedea ca mai apare nevoie să întroducem numele aplicației Web si parola la Baza de date. Atit , acum asteptam citeva clipe si serverul nostru cu Web aplicatia necesara pentru proiect este creat.
Serverul o sa fie disponibil 30 de zile absolut gratis, o sa fie de ajuns pentru proectarea si testatea aplicatiei “ModeyMD” pe android si conecsiunii ei cu serverul.
Figura 2.3 Întroducem numele aplicației Web si parola la Baza de date.
2.6 JSON pentru înterschimb de date între aplicații informatice.
În proiectarea aplicatiei mobile pentru system de operare Android OS “MoneyMD” pentru a face legatura cu web server azure am folosit tehnologia JSON care o ajutat la proramarea aplicatiei mobila si cod o devinit mai simplu si mai clar.
„JSON este un acronim în limba engleză pentru JavaScript Object Notation, și este un format de reprezentare și interschimb de date între aplicații informatice. Este un format text, inteligibil pentru oameni, utilizat pentru reprezentarea obiectelor și a altor structuri de date și este folosit în special pentru a transmite date structurate prin rețea, procesul purtând numele de serializare. JSON este alternativa mai simplă, mai facilă decât limbajul XML. Eleganța formatului JSON provine din faptul că este un subset al limbajului JavaScript (ECMA-262 3rd Edition) , fiind utilizat alături de acest limbaj. Formatul JSON a fost creat de Douglas Crockford și standardizat prin RFC 4627. Tipul de media pe care trebuie să îl transmită un document JSON este application/json. Extensia fișierelor JSON este .json.” [8]
Odată cu creșterea popularitătii AJAX și a serviciilor web, aplicatiile web au început să se bazeze din ce în ce mai mult pe Javascript pentru a intermedia transferul de informatii dintre client și server precum și pentru interpretarea răspunsurilor primite de la server. Aceste informatii puteau fi trimise fie text fie în format XML. XML-ul nefiind un format nativ JavaScript, este nevoie de parsarea acestuia pentru extragerea datelor, însemnând un set de functii in plus și mărirea timpulului de procesare.
JSON este în schimb perfect compatibil cu JavaScript și nu necesită parsare pentru a putea fi interpretat. Stringul primit de la server poate fi păstrat în interiorul codului JavaScript al paginii și nu trebuie decat evaluat (cu functia eval()) si este automat transformat in variabila, nefiind necesara folosirea niciunei librarii externe. Functia eval() executa stringul dat ca parametru ca si cum ar fi cod JavaScript.
“JSON este construit pe două structuri:
colecție de perechi nume/valoare. În diverse limbaje aceasta este realizată ca un obiect, o înregistrare, o structură, un dicționar, o tabelă hash, o listă de chei, sau un tablou asociativ.
listă ordonată de valori. În cele mai multe limbaje, aceasta este realizată ca un tablou, un vector, o listă, sau un șir.
Acestea sunt structuri de date universale. Aproape toate limbajele de programare moderne le suportă într-o formă sau alta. Are sens ca un format de date care este interschimbabil cu limbajele de programare să fie bazat tot pe aceste structuri.” [7]
Tipurile de date care pot fi reprezentate folosind JSON sunt :
Number (integer, real, sau float)
String ( Unicode, între “ și având ca și caracter de backslash)
Boolean
Array (secventă ordonată de valori, separată prin virgule și inclusă între paranteze pătrate)
Object ( colectie de perechi cheie:valoare, separată prin virgule și inclusă între accolade)
null
“Avantaje JSON
ofera o modalitate automata de a serializa / deserializa obiecte JavaScript, folosind linii minime de cod. In comparatie, developerii trebuie sa scrie cod JavScript pentru serializare in XML.
este sustinut de toate browserele, parsarea intre browsere la XML se poate dovedi dificila
ofera un format concis, datorita abordarii bazate pe perechea nume-valoare. XML ofera un format mai complex din cauza tag-urlor si namespace-urilor
deserializare rapida a obiectelor in JavaScript
sustinut de mute toolkit-uri Ajax si biblioteci JavaScript
API-uri simple, disponibile pentru JavaScript si alte limbaje de programare
Dezavantaje JSON
nu are sustinere pentru namespace, deci o extensibilitate redusa in comparatie cu XML
suport limitat pentru unele unelte de dezvoltare
nu are sustinere la toate produsele legate de serviciile web” [6]
CAPITOLUL 3. ASPECTE ALE ÎMPLEMENTĂRII SISTEMULUI INFORMATIC REALIZAT.
3.1 Prezentarea generală aplicatiei “MoneyMD” pentru sistem de operare Android OS. Analiza problemei de împlementare.
La etapa de proectare am luat in consideratie mai multe reguli si tehnici de proiectare dar cel mai mult m-o impresionat doua reguli spuse de Marissa Ann Mayer – prima femeie inginer la Google. Fără aprobarea ei în Google nu s-o pornit nici un produs din domeniul interfetei pentru utilizatorul. Astăzi, ea este CEO-ul Yahoo.
Prima este regula “Double tap” Dupa conectare in aplicatie, ar trebui să fie suficient doar două atingeri pentru efectuarea acțiunii planificate – spune Mayer.
In aplicatie “MoneyMD” nu este necesar de facut nici un tap pentru a primi date necesare. Utilizatorul doar porneste aplicatia de pe “homescreen” si ea automat la pornire extrage datele actuale de pe server, nu este nevoie de apasat buttonul “refresh”. Fara nici un click in aplicatie utilizator deja a primit informatie necesara. În caz ca conecsiune la internet lipseste pe ecran va aparea o fereastra de avertizare “Network connection error”. Dupa ce utilizator va apasa “OK” pe fereasta de avertizare, o sa apar datele de curs valutar recuperate de la sessiunea trecuta. Puteti vedea cum arata pe Figura 3.1.
Figura 3.1 În caz ca conecsiune la internet lipseste pe ecran va aparea o fereastra de avertizare “Network connection error”
A doua regula se numeste Regula 98%. Mayer consideră că fiecare produs trebuie să fie creat special pentru funcția pe care utilizator va folosi 98% din timp. Ca un exemplu, Meyer se referă la Xerox. El poate fi utilizat pentru a efectua diferite acțiuni. Dar, 98% din ceea ce utilizator într-adevăr are nevoie de dispozitiv – este o fotocopie. De aceea, cu Xerox e usor: puneti doar o foaie de hârtie și apăsați pe butonul mare și verde. Mayer este increzuta că fiecare actiune trebuie să aibă un algoritmu similar si eu personal sunt pe 100 de procente convins in ideia aceasta.
Anume din aceasta cauza m-am staruit sa creez aplicatia cit mai simpla in utilizare si cit mai rapid functionabila cu design simplu si clar din prima vedere.
Aplicatia mobila pentru sistem de operare Android OS “MoneyMD” extrage datele de curs valutar actual de pe web server Azure. Pe Figura 3.2 am aratat cum e facuta legatura cu web server si pe ce adresa aplicatia trimite HTTP Request. In directie App/java/utils/constants este inscrisa adresa “ WEBSITE_SOURCE=http://moneymd.azurewebsites.net/api/values ”.
Figura 3.2 Arătat cum e facuta legatura cu web server și pe ce adresa aplicația mobilă trimite HTTP Request.
In caz ca o sa incercam sa accesam pagina http://moneymd.azurewebsites.net/api/values prin browser simplu o sa apara urmatoare informatie arătată pe Figura 3.3:
Figura 3.3 Informație care trimite server la aplicația mobilă (HTTP response)
Aici putem vedea ce HTTP response primeste aplicatia mobila pentru sistem de operare Android OS “MoneyMD”. Pentru fiecare “Id” si “CountryId” este transmisa informatia cu curs valutar actual “Value”. Ele sunt numerate de la 1 pina la 5 si ele sunt aranjate în aceeași ordine, si in aplicatia mobila pe sistem de operare Android OS si in aplicatia web bazata pe web server Azure.
Elemente principale de control si interfata le-am aranjat in felul urmator cum vedeți pe Figura 3.4 :
Figura 3.4 Structurarea elementelor de interfața.
In coloana din stinga, in directie App/res/mipmap puteti vedea elemente pregatite de avans in formatul .png cu care am lucrat cu fiecare aparte in aplicatia Adobe Photoshop. In centru Figurii 3.4 , pe smartphonul de exemplu puteti vedea cum am aranjat elemente de interfata si de control. Pe zona principala de lucru a aplicatiei puteti vedea “items”. Sunt 7 pentru fiecare tip de valuta dare eu o sa folosesc numai 6 din ele, pentru ca sa nu aglomerez interfata cu prea multe elemente. O sa fie destul si 6 tipuri de valuta, cele mai des folosite in Republica Moldova. În plus elemente de intefrața, care o sa arat drapeluri diferitelor valute o sa fie de marime comforta pentru a le citi fara eforturile.
Aplicatia constă din doua pagini. Prima pagina este pagina principala care va afișa curs valutar pentru 5 tipuri de valuta cea mai des utilizata in țara noasta. Tot pe pagina aceasta vor fi doua butoane. Primul e button “refresh” care va actualiza datele de curs valutar. Al doilea e button “settings” care ne va transfera pe a doua pagina aplicatiei cu setarile.
A doua pagina este numita “Settings”. Nu planific sa ofer utilizatorului posibilitate de a modifica funcțiile sau designul aplicatiei și din aceasta cauza pe pagina “Settings” o sa putem sa găsim doar punctul “About App”. In acest punct voi plasa informatia despre autorul aplicatiei. Putețti vedea cum este realizat pe Figura 3.5.
Figura 3.5 Informatia despre autorul aplicatiei.
Lucrul cu designul Aplicatiei în aplicația Adobe Photoshop
Înnainte de a incepe programarea aplicatiei „MoneyMD” pe sistem de operare Android am analizat piata aplicatiilor asemanatoare. Dupa testarea diferitelor aplicatiilor din top 100 downloads in Google PlayMarket am ajuns la concluzie ca design aplicatiei joaca un rol foarte important pentru utilizator final. Utilizator final este foarte capricios la calitatea programului in special si la design acestuia din cauza volumului mare de aplicatii concurente. In acest subcapitol o sa va explic cum am lucrat cu designul aplicatiei in programul Adobe Photoshop.
Am decis sa fac aplicatia utila si comoda in utilizare, dupa parerea mea aceasta este, probabil, cea mai importantă parte de proiectare aplicatiei pentru succesul ei.
Design-ul este un lucru abstract , dar si el are reguli , fără de care aplicatia nu ar arata atât de frumos și nu ar fi la fel de ușor de utilizat. Am analizat o multime de instructiuni si lectii in privinta comoditatii si frumusetei designului aplicatiilor mobile, dupa care am ajuns la citeva cele mai importante din punctul meu de vedere.
Aliniere. Aliniati textul,imaginele si butoane pentru a arata utilizatorului cum este legat content, Figura 3.6.
Figura 3.6 Exemplu de aliniere.
Organizare. Aranjati content in asa schema care pune controale aproape de conținutul pe care îl modifică, Figura 3.7.
Figura 3.7 Exemplu de organizare.
Formatarea continutului. Creati schema care se potrivește pe marimea ecranului. Utilizator trebuie sa vede content fara gesturi de “zoom” sau “scroll, Figura 3.8”
Figura 3.8 Exemplu de formatare conținutului.
Înteractiune tactila. Folosiți elemente interfetei de utilizator proiectate pentru gesturile tactile, pentru a face interactiune cu aplicatie usoara si naturala, Figura 3.9.
Figura 3.9 Exemplu de înteracțiune tactilă.
Mărimea comodă a elementelor. Creati butoane de marimea cel putin 44×44 pixeli pentru ca sa nu apar neplaceri in momentul tap-ului, Figura 3.10.
Figura 3.10 Exemplu de mărimea comodă a elementelor.
Marimea textului. Text trebue sa fie cel putin de marimea 11pixeli ca sa fie lizibil de la distanta comforta fara utilizarea gestului “zoom”, Figura 3.11.
Figura 3.11 Exemplu de mărimea textului potrivită.
Contrast. Asigura te ca text arata destul de contrast pe fondul de baza pentru ca sa fie lizibil, Figura 3.12.
Figura 3.12 Exemplu de contrast correct.
Rezoluție înaltă. Utilizati imaginele de rezolutie inalta ca sa nu apare efectul “blur”, Figura 3.13.
Figura 3.13 Exemplu de rezoluție înaltă.
In crearea designului aplicatiei “MoneyMD” pentru sistem de operare Android OS eu m-am staruit sa iau in consideratie toate acestea sfaturi pentru ca aplicatia mea sa devina placuta utilizatorului final.
Am inceput cu alegerea fundalului, conform opiniei mele acesta ar trebui să fie cât mai simplu și în același timp sa afișeze tema și esența aplicatiei. De asemenea fundal nu trebuie sa fie patat ca sa contrastreze cu content afisat. După o lungă căutare fundalului care o sa ma aranjeze pe resursele internetului, am luat decizia sa-l creez de sine statator cu ajutorul aplicatiei Adobe Photoshop. Ca o bază am luat imaginea monetelor de aur care coincide cu tematica aplicatiei “Money MD”. Dar, dupa cum puteti vedea pe screenshot de mai jos, imaginea e prea pestrita si fara prelucrare acesteia o sa fie greu de citit contentul. O fost luata decizia so prelucrez cu efectul “blur”. Dupa ce am pus dimensiunele corespunzatoare la imaginea de baza am creat un nou strat (layer) si l-am umplut cu culoare alba. In setarile stratului (layer) am setat transparență pe 90% si am ajuns la rezultat care mi so parut potrivit pentru fundalul aplicatiei de curs valutar “MoneyMD” Pe Figura 3.14 puteti vedea cum o fost imaginea fundalului innainte de prelucrarea în Adobe Photoshop si cum o devenit după manipulațiile mele.
Figura 3.14 Imaginea fundalului pîna la prelucrarea în Adobe Photoshop și dupa.
Al doilea element de design de baza aplicatiei “MoneyMD” o devenit linie de meniul de sus si de jos. Eu le-am proiectat in design asemanator dar totusi diferit. Linia de sus nu are un alt functional decit fundal pentru denumirea aplicatiei de aceia ea este maximal simpla si impreuna cu aceasta contrasteaza perfect cu denumirea aplicatiei, Figura 3.15.
Figura 3.14 Linia de sus cu logotipul aplicației “MoneyMD”
Pe linia de jos sunt 2 butoane si ca design sa nu devina conservator de tot, am facut linia de jos un pic indoiata, Figura 3.15. Ea se extinde prin parti unde se afta elemente de control si se ingusta in centru ca sa faca efectul vizual de mai mult spatiul pentru content. Culoarea ambelor linii desigur e una si aceiasi, eu am ales culoarea luând în considerare cit de placut o sa fie utilizatorului de folosit aplicatia. Dupa cum vedeti pe Figura 3.15, culoare este neutra, nu deranjeaza si nu distrage atentia de la content prmar si in acelasi timp nu este plictisitoare.
Figura 3.15 Linia de jos cu elemente de control.
Am ajuns la elemente de control, acestea au marimea cu mult mai mica decit elemente precedente dar necesita nu mai putina atentie. Cum arata practica, daca in aplicatie mobila este atrasa atentie la detalii, ea are cu mult mai inalte sanse de a deveni una din favorite aplicatii utilizatorului. Am inceput cu buttonul “refresh” , puteti vedea pe Figura 3.15 cum arata. Ideia era sa creez button, functia carui o sa fie clara din prima pornire aplicatiei. Cu tot asa principiu am proiectat si buttonul “settings”. Mai multa atentie la proiectarea butoanelor am atras pe răspunsul (response), despre care am vorbit in primul capitol. Cind utilizatorul va apasa butoanele aplicația ar trebui să valideze întotdeauna interacțiunea. In cazul meu icoană “refresh”, dupa ce apasam pe dinsa începe să se rotească până in momentul când datele vor fi reinnoite. Este important deoarece conecsiunea la internet nu este intotdeauna stabila si rapida si utilizator are nevoie sa înteleaga că cererea lui este în curs de procesare. La fel, apasind buttonul “settings” utilizator trebuie să primește răspunsul. Am ales un sunet obisnuit pentru înteractiunea această.
E timpul sa cream icoana aplicatiei. Design acestei este un lucru foarte important deoarece el o sa ajute utilizatorului sa ia decizia: Merita aplicatia “MoneyMD” sa fie instalata pe mobil cu sistem de operare AndroidOS sau nu? Aceasta icoana este primul lucru pe care un utilizator vede în Google Play Market. Sunt careva sfaturi si reguli pentru a crea o icoana pentru aplicatie buna. Acestea sunt:
Forma unica.
Culori bine alese.
Lipsa de fotografii.
Lipsa de text.
Creativitate.
La fel icoana trebue sa arate clar si frumos pe toate fundalurile telefonului mobil. Ea nu ar trebui să arate ca un străin printre alte icoane dar si să nu se piardă printre altele. Figura 3.16 puteti vedea cum arata icoana aplicatiei “MoneyMD” in meniul telefonului pe linga icoanele standarte smartphonului.
Figura 3.16 Icoana aplicației în comparație cu icoanele standarte smartphonului.
Dupa cum puteti vedea am ales asa design pentru ca orice utilizator din prima vedere sa poate intelege ca in primul rind aplicatia, cu multe sanse este creata ca sa fie utila mai mult pentru cetatenii Republicii Moldova si in al doilea rind tematica aplicatiei este financiara.
Web interfata pentru adaugarea cursului valutar actual pe server(User Interface). Rest API.
Pentru simplificarea lucrului Administratorului o fost creata interfata WEB (User Interface) care permite modificarea Cursului Valutar fara modificarea codului prin Visual Studio. Scopul era de crea interfata atît de simpla pentru ca user cu cunostintele medie PC sa fie în stare a modifica Curs Valutar.
Pentru a modifica Curs Valutar este nevoie doar de browser si acces la internet. Pe Figura 3.17 atrageți atenție la bara de adrese. Puteti vedea link http://moneymd.azurewebsites.net/currencies . Daca intram pe aceasta adresa nimerim in Interfata Web creata pentru modificarea Cursului Valutar.
In coloana din stinga “Name” puteti vedea tipul de valuta utilizata in aplicatia “MoneyMD” pentru sistem de operare Android. In coloana “Value” puteti vedea Curs Valutar potrivit pentru fiecare tip de valuta iar in coloana din dreapta puteti vedea posibilitate de a edita datele pentru fiecare tip de valuta aparte.
Figura 3.17 Interfața programului WEB pentru adăugarea și modificarea cursului valutar.
Pentru a modifica datele Cursului Valutar putem sa apasam butonul «Edit» in rîndul valutei care ne intereseaza sau sa accesam pagina http://moneymd.azurewebsites.net/currencies/Edit/1 (Figura 3.18). Cifra 1 in sfirsitul linkului coincide cu valuta de tip Dolar American US. Daca inlocuim cifra 1 cu cifra 2 o sa nimerim in meniul modificarii Cursului Valutar pentru valuta de tip Euro. La fel si cu alte tipuri de valuta, cifrele coincid cu rindul valutelor in coloana “Name”.
Este posibilitate de a schimba tipul de valuta pentru care introducem datle de Curs Valutar actuale direct din Interfata Web grafica, fără sa accesam pagina precedentă și fara să înlocuim cifrele în bară de adrese. Pentru acest lucru este nevoie de apăsat pe textbox cu tipul de valută intr-o linie cu denumirea “CountryId”.
In textbox “Value” introducem Curs Valutar actual si apasăm buttonul “Save” de mai jos. In caz ca introducem valoare necorespunzatoare, de exemplu literă, aplicatia va arata “error” și o să apare fereasta de avertizare. Cu asa functia putem cu siguranta sa spunem că chiar daca user care va modifica curs valutar va gresi, programul nu va da posibilitate de a introduce caracterile incorrecte. Aceasta este tot ce trebuie sa stie utilizator simplu care modifica Curs Valutar actual în fiecare zi.
Figura 3.18 Pagina WEB pentru modificarea cursului vaalutar.
În crearea Web Aplicatiei eu am folosit Rest Api pentru adaugarea si modificarea datelor de curs valutar.
REST (RESTful) - aceasta sunt principiile generale ale organizării interacțiunii aplicației / site-ul la server prin protocolul HTTP. Particularitatea REST este că serverul nu stochează starea utilizatorului între solicitările – la fiecare cerere este transmisă informația de identificare a utilizatorului , precum și toți parametrii necesari pentru a efectua operația.
Toata interacțiunea cu serverul este reduse la 4 operații (4 – este un minim necesar și suficient):
1. Primirea datelor de la server (In proiectul meu folosesc JSON)
2. Adăugarea datelor noi pe server
3. Modificarea datelor existente pe server
4. Stergere datelor de pe server
Operatiunea primirii datelor nu poate modifica starea serverului.
Pentru fiecare tip de operațiune se utilizează o metodă HTTP-solicitare:
1. Primire – GET
2. Add – POST
3. Modificarea – PUT
4. Îndepărtarea – DELETE
3.4 Instalarea aplicațtiei “MoneyMD.apk” pe dispozitiv cu sistem de operare Andoid OS.
Pentru instalarea aplicației mobile “MoneyMD” pe dispozitiv cu sistem de operare Android OS nu este nevoie de cunoștințe profunde în utilizarea smartphonului, este o procedura destul de simplă. În primul rînd este nevoie sa descarcăm file cu extensie .apk de pe internet. Se poate de transmis aplicația și prin bluetooth sau USB conecsiune. Dupa ce aplicație e în memoria telefonului sau cardului de memorie acestuia, putem sa începem procedura instalării. Pe Figura 3.19 puteți vedea în pași cum durează procedura.
Figura 3.19 Instalarea aplicației mobile pentru sistem de operare Android OS “MoneyMD”
După ce lansăm file “Money MD.apk” apare fereastră numărată ca primul pas. Sistemul avertizează la ce funcțiile telefonului mobil va avea acces aplicația mobilă. După cum se vede din Figura 3.19 aplicatia va avea acces la schimbul datelor utilizînd internet prin Wi-Fi ori SIM trafic și va avea acces de a modifica starea modulului Wi-Fi. Al doilea pas nu cere atenția utilizătorului, el doar ocupă cîteva secunde dupa ce o să apară avertizare că aplicatia mobila “MoneyMD” este instalată cu succes (Pasul numarul 3 din Figura 3.19)
Aplicația este instalată și nu este nevoie de mai făcut careva modificări sau setări. Doar pornim și utilizăm.
CAPITOLUL 4. CONCLUZII ȘI PERSPECTIVE.
În ziua de azi aproape toți oameni utilizează o varietate de smartphonuri și dispozitive mobile, aplicații mobile le permit să aibă informațiile necesare la îndemână. Orice informație necesară poate fi prezentată într-o singură aplicație și actualizatã special pentru o persoană, locul și timpul. O astfel de metodă pentru a furniza informație concentrată cu privire la un dispozitiv mobil cu caracter personal reduce semnificativ distanța dintre companie, marca sau sursa de informatii cu un client. Acest lucru oferă utilizatorului noi oportunități, care nu sunt disponibile pentru el, în absența unor astfel de aplicație mobilă. Compania deține, de asemenea, o oportunitate de comunicare constantă cu utilizatorul, clientul potențial.
Oamenii petrec mult timp în aplicații mobile și cheltuiasc în ele anumite sume de bani, care cresc în progressia geometrică. Aplicații au devenit cel mai important mecanism care oferă un algoritm îmbunătățit de interacțiune cu utilizatorul, ofere o concurență puternică și aduce noi modele de piață și concepte în aproape toate aspectele vieții noastre.
Fiecare companie care are aplicație mobilă devină editorul, dar aplicatii devin noul standard pentru distribuirea de content, de divertisment, precum și cu caracterul practic, comoditate, productivitate, comerț, transporturi, etc. 2016 promite să fie încă un an saturat de dezvoltarea și lansarea diverselor proiectelor noi.
Din toate aceste putem face o concluzie următoare. Aplicații mobile deplasa browsere de Internet, iar în 2016 această tendință va fi chiar mai vizibilă.
Crearea aplicației mobile în anul 2016 deja nu e avantaj fața de concurenții, este o necesitate pieții, în caz că nu o să acordați atenție acestui fapt afacerea dumnevoastră cu siguranța va avea pierdurile. Dacă de analizat piața contentului se poate vedea o tendință clară de transfer traficului pe dispozitive portabile. În scopul de a rămâne pe tendințele, companiile trebuie numaidecît să adopteze contentul lor sub formatul dispozitivelor portative. Pentru a rezolva această problema nu există mai bună soluție decît crearea aplicației mobile.
În lucrarea această eu am propus un sistem informatic, care permite crearea aplicației mobile și lansarea serverului pentru stocarea datelor absolut gratis. Pentru a crea un asemanător proiect este nevoie doar de dorintă și cunoștințe în domeniul. Desigur acest sistem informatic are și neajunsuri din cauza lipsei de investiții financiare, dar cu siguranța pot spune că este total funcționabil și perfect ca prima expiriență în proiectarea aplicației mobile.
Sistemul propus are următoare neajunsuri:
Versiunea trială serverului Microsoft Azure nu va da conecsiune sigură si stabila în cazul numărului mare de cereri. Cu alte cuvinte aplicație pentru sistem de operare Android OS “MoneyMD” la moment nu este pregătită pentru lansarea ei în piața la un număr mare de utilizători.
Functionalul aplicației nu este bogat, aceasta va scade popularitatea ei între utilizatori avansați.
Aplicația “MoneyMD” la moment nu poate fi descărcată din magazin aplicațiilor a companiei Google Play Market. Utilizător are nevoie să descarcă file de extensie .apk pe dispozitivul lui, aceasta constitue unele incomodități.
În schimb sistemul propus are următoare avantaje :
Proiectarea si punerea în aplicare este absolut gratisă. Nu este nevoie de arendat server. Ideal pentru proiectarea aplicației și ca prima expiriență în domeniul.
Libertate deplină în proiectarea interfeței de utilizător si designului din cauza lipsei verificării de Google
Utilizarea stilurilor noi de programare ca MVC, JSON etc. Tehnicile utilizate vor fi actuale încă mult timp.
Interfața grafică pentru WEB aplicație care permite modificarea cursului valutar fară cunoștințe profunde în domeniul.
Îndependență de surse străine pentru extragere datelor. Aplicația întotdeauna va afișa curs valutar pîna ce este pornit server. Nu depinde de web site bancii sau casei de schimb valutar.
Sistemul informatic propus de mine în aceasta lucrare poate fi modernizat ușor. Dacă va apare scopul de a lansa aplicația pe piața aplicațiilor mobile numaidecît va aparea nevoie de schimbat server. Cea mai reușită variantă este de cumpărat abonament de la Microsoft Azure. Este server stabil și are capacitățile mari.
În perspectivă se poate de mărit functionalul aplicației, dar cu condiție ca el nu va înrăutați interfața programului. Se poate de adaugat următoare funcțiile:
Adăugarea calculatorului încorporat pentru calcul instantaneu.
Realizarea diagramei de creșterea sau scadearea valorii valutei pentru ca utilizător sa poate prinde tendința modificarii costului valutei rapid și comod.
Crearea widgetului pentru program pentru ca utilizator să vadă curs valutar direct de pe homescreen.
Adaugarea funcției GPS. Furnizarea informației de locație actuală și casele de schimb valutar care se află în apropiere.
Ca rezumat pot să spun ca lucrul făcut cu sistem informatic propus de mine în lucrearea această o fost utilă pentru mine. Eu am studiat multe lucruri noi în timpul proiectării sistemul informatic. În plus am utilizat în practica pe un anumit exemplu tehnologiile si metodele de programare învățate de mai demult. Socot că mare avantajul acestui proiect o devinit realizarea diferitelor sarcini. Am dovedit să lucrez cu proiectarea aplicatiei pentru sistem de operare Android OS, cu proiectarea WEB interfeței pentru modificarea cursului valutar și cu designul aplicatiei mobile în programa Adobe Photoshop. Toate acestea sarcini necesită diferite resurse și soft professional. O fost foarte util să fac cunoștință mai profundă cu programele acestea.
ANEXE
LISTA ABREVIERILOR
URL – Adresă uniformă pentru localizarea resurselor
W3C – World Wide Web Consortium
CSS – Cascading Style
SGBD – Sistem de Gestiune a Bazelor de Date
SI – sistem informatic
SIF – sistem informațional
HTML – HyperText Markup Language
SEO – Search engine optimization
SQL – Sistem de Gestiune a Bazelor de Date
BI – baza informaționala
PHP – Hypertext Preprocessor (scripting language)
MVC – model view controller
IDE – integrated development environment
API – Application Programming Interface
AJAX – Asynchronous JavaScript and XML
FTP – Protocol utilizat pentru a transmite fisiere prin Internet
HTTP – Hypertext Transfer Protocol, un protocol de tip text, fiind protocolul "implicit" al retelei globale de internet (WWW)
PDF – Portable Document Format, format de fisier creat de compania Adobe in anul 1993
BIBLIOGRAFIE
Ion Bolun, Ilie Costas, Andrei Gamețchi, Tamara Zacon, Boris Delimarschi „Elаborаreа tezelor de licență lа speciаlitаteа Cibernetică și Informаtică Economică”, Chișinău. ASEM, 2013.
http://www.qnet.ro/microsoft-azure
http://www.itzone.ro/tutorialDisplay.php?id=64&categorie_id=3
https://ro.wikipedia.org/wiki/Hypertext_Transfer_Protocol
http://spidersolutions.ro/blog/json-avantaje-si-dezavantaje/43
http://www.json.org/json-ro.html
https://ro.wikipedia.org/wiki/JSON
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: Crearea Aplicatiei Pentru Sistem de Operare Android Os (ID: 113054)
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.
