Android Licenta Draft1 [615743]
Cuprins
Introducere
Capitolul 1 – Tehnologii utilizate pentru dezvoltare aplica ț ii mobile
1.1 Evolu ț ia World W ide Web-ului
1.2 Evolu ț ia telefoane lor mobile
1.3 Sistemele de operare ale telefoanelor inteligente. Prezentare Generală. Compara ț ie
1.4 Publicarea aplica ț iilor mobile
1.4.1 Publicarea aplica ț iilor pe Google Play
1.4.2 Publicarea aplica ț iilor pe Apple Store
Aplica ț ii open-source
Capitolul 2 – Studiu de caz: aplica ț ii de tracking GPS pentru dispozitive Android
2.1 Find My Device
2.2 Cerberus
2.3 Glympse
Concluzii
Capitolul 3 – Implementarea aplica ț iei
Dezvoltarea aplica ț iei mobile
Dezvoltarea aplica ț iei web
Concluzii
Bibliografie
1
Introducere
În plină eră informa ț ională, societatea a cunoscut ș i cunoa ș te în continuare modificări
dramatice, atât prin natura tehnologiilor folosite cât ș i prin rapiditatea cu care acestea sunt
implementate. De foarte multe ori aceste schimbări ireversibile din cotidian tind să treacă
neobservate, începem să folosim noi servicii ș i tehnologii care ne sunt puse la dispozi ț ie ș i de care
ulterior nu mai suntem con ș tien ț i că le-am adoptat, până în momentul în care ele devin
nefunc ț ionale pentru o scurtă perioadă de timp sau până când, prin diferite complexe de imprejurari,
noi nu mai dispunem de oportunitatea de a le utiliza. Nu trebuie să depunem eforturi semnificative
pentru a ne imagina situa ț ii în care avem un lucru important de făcut, un email urgent de trimis,
suntem într-un ora ș străin ș i avem nevoie de hartă, sau avem nevoie de un număr de telefon din
agenda ș i constatăm că nu mai avem baterie la telefon. Având în vedere nivelul de implicare a
tehnologiei în viata noastra putem considera că numărul persoanelor care nu au fost niciodată într-o
astfel de situa ț ie tinde cu repeziciune spre zero. Aceste momente ne amintesc, din cand în cand, de
ponderea imensă a ac ț iunilor ș i interactiunilor noastre sociale care au fost încet dar sigur transferate
sau delegate, poate involuntar, suportului tehnologic.
Tehnologia prezintă un aspect destul de pu ț in dezbatut, ș i anume cu cât este mai bine
implementată, mai func ț ionala ș i mai utilă, cu atât trece mai neobservată. Cu alte cuvinte, cu cât
este mai importantă pentru via ț a noastră, cu aâat îi acordăm mai pu ț ina importan ț ă.
Odata cu trecerea de la era industrială la era informa ț ională, tehnologia informa ț iei ne-a
influen ț at din ce în ce mai mult via ț a. Există în istoria modernă extrem de recentă reale momente de
cotitură în tehnologia informa ț iei cum ar fi, de exemplu, momentul în care numărul dispozitivelor
mobile conectate la Internet a depăsit numărul dispozitivelor desktop pentru prima dată în istorie.
Astfel de trenduri au fost foarte bine exploatate de unii jucători noi de pe pia ț a IT în detrimentul
unor companii consacrate, dintre care amintim Nokia, care domina pia ț a dispozitivelor mobile la
sfâr ș itul anilor 90 ș i începutul anilor 2000. Aceste noi direc ț ii, avansul tehnologic ș i concuren ț a
acerbă în acest domeniu au determinat intrarea pe pia ț ă a tot mai multor modele de dispozitive
mobile din ce în ce mai performante ș i din ce în ce mai ieftine. În acest context, este evident că tot
mai multe persoane fizice ș i mai ales micii întreprinzători au încercat ș i incearcă să se folosească
într-o măsura cât mai mare tehnologii care până nu demult erau accesibile numai companiilor foarte
mari cu bugete exorbitante. Printre aceste facilită ț i putem aminti posibilitatea de a efectua
videoconferin ț e, conectar e la Internet de mare viteză oriunde există o re ț ea de telefonie celulară,
posibilitatea de a lucra în echipă la documente sau proiecte din loca ț ii fizice diferite, posibilitatea de
a avea o imagine în timp real a situa ț iei tuturor ma ș inilor unei firme, backup la sistemul contabil în
timp real ș i lista poate con tinua.
Ideea pe care doresc să o subliniez se referă la faptul că tehnologii care în urma cu câ ț iva ani
erau folosite numai în cadrul firmelor de IT sau dezvoltatoare de solu ț ii informatice se regăsesc azi
2
în idei de business care nu au nicio legătură cu domeniul IT. Firme de taximetrie folosesc tablete
pentru a cunoa ș te în timp real pozi ț ia fiecărei ma ș ini, unele chiar folosesc aceste pozitii în tandem
cu algoritmi software pentru a determina cui îi este trimisă următoarea comandă, în functie de
disponibilitate ș i de dista nta până la locul unde se află clientul. Marea majoritate a firmelor mici
care încearcă să implementeze solu ț ii de acest gen încearcă să ob ț ină beneficii reale cu costuri cât
mai mici, cum ar fi reducerea costurilor operative, fidelizarea clien ț ilor printr-o mai bună
comunicare ș i prin imbu nătă ț irea calită ț ii serviciilor sau, nu în ultimul rand, un mai bun control
asupra pierderilor rezultate din neglijen ț ă, lipsa de productivitate sau diferite forme de fraudă.
Am luat ca model o firmă care administrează mai multe vehicule ș i dispune de un buget
foarte limitat în acest sens. Aceasta poate fi o firmă care are ca obiect de activitate furnizarea de
servicii, distribu ț ie, curie rat sau poate fi un restaurant care dore ș te să ș tie în cât timp se întoarce cea
mai apropiată ma ș ină care a plecat să facă 3-4 livrari la domiciliu la adrese diferite. Cunoscând
detalii precum pozi ț ia fiecărei ma ș ini ș i ora estimativă la care aceasta se va întoarce, se poate face
planificarea astfel încât următoarea comanda să nu fie livrată rece, dar să nici nu dureze prea mult
până când ajunge la clientul care probabil, de cele mai multe ori, comandă constant mâncare din
acel loc. Acesta poate fi o idee de fidelizare a clientelei ș i, totodata, un mod de a fi cu un pas în fa ț a
unor întreprinzători mai reticen ț i la solu ț iile digitale ș i care preferă modele de afaceri mai clasice.
Proiectul de fa ț ă este constituit în prima sa parte dintr-un studiu de caz efectuat în încercarea
de a găsi o solu ț ie de tracking GPS pentru o firmă similară cu cea descrisă în paragraful anterior.
S-au căutat solu ț ii gratuit e sau solu ț ii care să nu implice costuri recurente suplimentare celor pentru
serviciul de date de pe telefon sau tableta utilizată. Orice dispozitiv mobil conectat la Internet
presupune un cost pentru serviciul de date, însă majoritatea furnizorilor de aplica ț ii de urmărire a
flotei ( fleet tracking ) percep un cost lunar suplimentar pentru acel serviciu. Am decis evitarea
adoptării unei solu ț ii de acest gen ș i, în urma studiului de caz, am ajuns la ideea de a implementa o
aplica ț ie care oferă o func ț ie simplă de tracking ș i la care se mai pot adaugă alte func ț ionalită ț i, în
functie de nevoile beneficiarului.
În cea de-a doua parte a licen ț ei este prezentată implementarea solu ț iei, implementare care
are, la rândul ei, două părti ș i anume implementarea aplica ț iei mobile care se instalează pe
dispozitivul cu Android, ș i implementarea aplica ț iei web, care afi ș ează în timp real
administratorului sau coordonatorului informa ț ii despre vehicule.
Am ales sistemul Android dată fiind ponderea extrem de mare pe pia ț ă a dispozitivelor care
rulează acest sistem de operare ș i a faptului că publicarea aplica ț iei pe Google Play Store, portalul
de aplica ț ii condus de Google, este mult mai u ș oară decât opera ț iunea similară pentru o aplica ț ie
dezvoltată pentru dispozitive Apple. De asemenea, am luat în calcul ș i costurile dispozitivelor
mobile – cele care rulează Android tind să coste o frac ț iune (în cazul în care nu este vorba de
dispozitive high end) din costul celor produse de Apple, care rulează sistemul de operare proprietar
Apple, iOS.
3
În concluzie, sistemul de operare Android pentru dispozitive mobile, pre ț ul tot mai accesibil
al dispozitivelor care rulează această platforma, precum ș i faptul că este open source , conferă
dezvoltatorului o solu ț ie extrem de facilă ș i flexibilă pentru dezvoltarea de produse adresate
afacerilor de talie mica sau care sunt la început, mai ales în contextul în care serviciile de localizare
GPS, serviciul Google Maps, precum ș i alte op ț iuni ș i servicii sunt puse la dispozitie gratuit, pentru
o utilizare în regim rezonabil.
4
Capitolul 1 – Tehnologii utilizate pentru dezvoltare aplica ț ii mobile
Pentru a avea o imagine corectă asupra modului în care au luat avânt aplica ț iile mobile,
trebuie urmărite următoarele aspecte:
1. Evolu ț ia World W ide Web-ului
2. Evolu ț ia utilizării telefoanelor mobile
Cele două au evoluat în paralel până în momentul în care cre ș terea lungimii de bandă pentru
dispozitivele mobile ș i transformarea telefoanelor în mini-calculatoare, care a dus la mai mult decât
intersec ț ia lor. A fost creat un mediul propice pentru dezvoltarea de aplica ț ii mobile care să utilizeze
servicii de pe web, fără probleme cauzate de viteză sau costuri prea mari. Numărul de utilizatori a
crescut exponen ț ial, deoa rece nu mai are limitat de accesul la un desktop. Aplica ț iile mobile care
rulau pe telefoanele inteligente puteau fi accesate la orice oră, din orice loca ț ie. Programatorii au
sim ț it schimbarea ș i au început să dezvolte aplica ț ii native pentru sistemele de operare ale
telefoanelor inteligente. O nouă pia ț ă s-a născut: cea a aplica ț iilor mobile. Google Store, Apple
Store sunt platforme care permit publicarea ș i achizi ț ionarea de aplica ț ii pentru dispozitivele
mobile.
1.1 Evolu ț ia World Wid e Web-ului
Este greu de crezut că au trecut doar 25 de ani de la apari ț ia World Wide Web-ului, acum,
într-o epocă în care prima pornire este să verifici pe Google, în care informa ț ia abundă ș i este doar
la un click distan ț ă, în care dic ț ionarele sunt online, hăr ț ile sunt actualizate cu situa ț ia traficului în
timp real, într-o perioadă în care no ț iunea de virtualitate face parte din vocabularul uzual.
În anul 1989, Sir Tim Berners-Lee făcea prima propunere a ceea ce urma să fie WWW-ul,
într-o perioadă în care lucra la CERN, Organiza ț ia Europeană pentru Cercetare Nucleară. Respinsă
ini ț ial, în varianta din octombrie 1980, propunerea con ț inea cele trei tehnologii fundamentale care
continuă să fie baza Web-ului actual:
1. HTML – Hypertext Markup Language – limbajul de marcare pentru Web
2. URI – Uniform Resource Identifier – adresă unică utilizată pentru identificarea fiecărei
resurse pe web
3. HTTP – Hypertext Transfer Protocol
Tim Berners-Lee a creat primul editor / browser pentru paginile Web (WorldWideWeb.app)
ș i primul server Web (httpd). Până la sfâr ș itul anului 1990, prima pagină Web a fost livrată pe
5
Internet, iar în anul 1991, oameni din afara CERN-ului au fost invita ț i să se alăture comunită ț ii
Web.
Pe măsură ce Web-ul a început să crească, creatorul lui a realizat că adevăratul poten ț ial al
Web-ului putea fi atins doar dacă oricine putea să-l folosească, fără a cere permisiunea sau a plăti
pentru asta:
“Dacă tehnologia (care sta la baza Web-ului) ar fi fost proprietate privată ș i sub controlul
meu, probabil că nu ar fi cunoscut o asemenea amploare. Nu po ț i propune ceva care se vrea a
constitui un spatiu universal ș i, în acela ș i timp, să păstrezi contro lul complet asupra lui.”
Tim s-a mutat de la CERN la MIT (Massachusetts Institute of Technology) în anul 1994 ș i a
înfiin ț at W3C (World Wide Web Conso ț ium), o comunitate interna ț ională al cărei interes era
dezvoltarea de standarde web deschise. La ora actuală, Sir Tim Berners-Lee continuă să fie
Directorul acestui consor ț iu. (“History of the Web,” n.d.) . 1
Accesarea WWW-ului se face prin intermediul unei conexiuni la Internet, iar statisticile
publicate în 2016 de către InternetLiveStats.com, arată că numărul de utilizatori conecta ț i la Internet
a crescut de la sub 500.000 în anul 2000, la peste 3 miliarde în anul 2016 (“Number of Internet
Users (2016) – Internet Live Stats,” n.d.) . 2
Cre ș terea număru lui de utilizatori cu acces la Internet, faptul că World wide Web-ul a rămas
o tehnologie gratuită, că s-a bazat pe o metodologie simplă de a partaja documente prin intermediu
Internetului, trecerea telefoanelor mobile spre telefoane inteligente care a dus la rezultatul că
Web-ul nu a mai fost limitat la utilizarea doar de pe calculatoare, faptul că în ultimii ani au apărut
standarde ș i aplica ț ii care permit dezvoltarea de aplica ț ii mobile-first, toate acestea au dus la un
boom al WWW-ului, după cum poate fi observat ș i în Figura 1, un infograph care con ț ine evolu ț ia
web-ului din anul 1991 ș i până în 2012, publicat la http://www.evolutionoftheweb.com/ .
1 “History of the Web.” World Wide Web Foundation . Web. 19 June 2016
2 “Number of Internet Users (2016) – Internet Live Stats.” , Web. 19 June 2016
6
7
Acela ș i site web ne oferă ș i o imagine a evolu ț iei numărului de utilizatori ai Internet-ului,
prezentată în Figura 2. Se poate observa că, în 21 de ani de la apari ț ia web-ului, numărul de
utilizatori a ajuns la 2,27 de miliarde de utilizatori.
Una dintre cele mai cunoscute previziuni cu privire la evolu ț ia utilizării Internetului pe
dispozitivele mobile, a fost cea făcută de Mary Meeker, în anul 2009. Aceasta estima că în anul
2014, utilizarea Internetului de pe dispozitivele mobile va depă ș i utilizarea Internetului de pe
desktop (Ingram, n.d.) . Din statisticile publicate de comScore, se poate observa că realitatea s-a 3
apropiat de estimări (“Mobile marketing statistics 2016,” 2016) , numărul de utilizatori care se 4
conectează la Internet de pe telefonul mobil fiind mai mare decât numărul de utilizatori care
accesează Internetul de pe dispozi ț ive de tip desktop.
3 Ingram, Mathew. “Gigaom | Mary Meeker: Mobile Internet Will Soon Overtake Fixed Internet.”, n.d. Web.
18 June 2016
4 “Mobile Marketing Statistics 2016.” Smart Insights ., 27 Apr. 2016.
8
1.2 Evolu ț ia telefoanelor mobile
Telefoanele mobile au fost ini ț ial create pentru a putea fi folosite din automobile.
Prima convorbire telefonică de pe un telefon mobil a fost făcută în 3 Aprilie 1973, când Martin
Cooper, inginer la Motorola, a telefonat unei companii de telecomunica ț ii rivale ș i i-a informat că
vorbe ș te de pe un telefon mobil. Telefonul pe care l-a utilizat Cooper avea 1.1 kg ș i dimensiunile
228.6x127x44.4mm. Acest prototip permitea o conversa ș ie de 30 de minute ș i necesita 10 ore
pentru a se încărca.
În 1983, Motorola a lansat primul telefon mobil comercial, cunoscut sub numele de
Motorola DynaTAC 8000X. Dispozitivul permitea convorbiri de 30 de minute, 6 ore de standby ș i
putea stoca până la 30 de numere. ș i costa 4000$. (“The History of Mobile Phones From 1973 To
2008: The Handsets That Made It ALL Happen,” n.d.) 5
Înainte de apari ț ia telefonului DynaTAC 8000X, mai multe evolu ț ii majore au deshis calea
către primul telefon mobil. Astfel, în timpul primului război mondial, armata germană a testat
telefoane fără fir pe trenuri care circulau între Berlin ș i Zossen. în timpul celui de-al doilea război
mondial, for ț ele armate din toată lumea au utilizat legăturile telefonice radio. Începând cu anul
1940, receptoarele radio portabile au fost disponibile la scară largă. Toate aceste tehnologii au
inspirat cercetătorii de la Bell Labs să creeze un telefon portabil pentru automobile. în 1946, Bell
Labs a început să ofere servicii telefonice pe vehiculele din St. Louis, Missouri. Câteva săptămâni
mai târziu, AT&T a venit cu o contra-ofertă, un serviciu denumit Serviciu Telefonic Portabil, care
consta într-o gamă largă de servicii pentru dispozitive portabile, în general incompatibile, care
ofereau zone de acoperire limitate ș i un număr redus de canale disponibile.
În cele din urmă, AT & T ș i Bell Labs au introdus tehnologia celulară, ceea ce a permis
reutilizarea frecven ț elor în zonele acoperite de către transmi ț ătoarele de mică putere. Acest lucru a
permis telefoanele mobile să fie mai mult decât un vis: ele au devenit un produs fezabil din punct de
vedere economic, care ar putea fi profitabil pentru Bell ș i AT & T.
Între 1957 ș i 1961, inventatorul sovietic Leonid Kupriyanovich a dezvoltat o serie de telefoane
mobile care semănau surprinzător de mult cu telefoanele mobile moderne. Unul dintre telefoanele
lui Leonid cântărea 70 de grame.
Serviciu Telefonic Portabil, lansat de AT&T în 1949, necesita pentru func ț ionare instalarea
unui echipament de 36kg în automobil, existau doar 3 canale, ceea ce însemna că doar 3 clien ț i din
orice ora ș puteau ini ț ia o convorbire la un moment dat ș i era foarte scump. (“History of Cell Phones
-,” n.d.) 6
La începutul anilor 1990 au intrat pe scenă ș i Nokia ș i NEC. Primul telefon mobil lansat de
Nokia, Mobira Cityman 900, cântărea 800g. La sfâr ș itul anilor 1990, telefoanele mobile au început
să devină frecvente.
5 “The History of Mobile Phones From 1973 To 2008: The Handsets That Made It ALL Happen.” Know
Your Mobile ., Web. 20 June 2016
6 “History of Cell Phones -.” N.p., n.d. Web. 20 June 2016
9
O evolu ț ie vizua lă a felului în care au arătat telefoanele mobile de-a lungul anilor este
prezentată în următoarea figură (preluată de pe http://www.dreamstime.com/):
Diferite studii publicate la sfârșitul anului 2015, prezintă evoluția uimitoare a Internetului, a
telefoniei mobile ș i a utili zării dispozitivelor mobile. Astfel:
● În 2015 arată că existau peste 2 miliarde de utilizatori de telefoane inteligente ș i că 83% din
conexiunile la Internet sunt realizate de pe dispozitive mobile. (Srivastava, 2014) 7
● Numărul de abonamente la telefonie mobilă a crescut de la 738 de milioane în anul 2000 la
peste 7 miliarde în anul 2015, potrivit raportului publicat de Uniunea Internațională a
Telecomunicațiilor. ( ICT Facts&Figures, The World in 2015 , n.d.) 8
● Numărul de conexiuni la Internet a crescut de la 400 de milioane în anul 2000, la 3.2
miliarde până la sfârșitul anului 2015, un număr cu atât mai promițător cu cât 2 miliade de
utiliyatori fac parte din țările în curs de dezvoltare. (Nair, 2015) 9
7 Srivastava, Anshul. “2 Billion Smartphone Users By 2015: 83% of Internet Usage From Mobiles [Study].”
Dazeinfo . N.p., 23 Jan. 2014. Web. 20 June 2016
8 ICT Facts&Figures, The World în 2015 ., Web. 23 June 2016
9 Nair, Rajeesh. “Internet & Mobile Phone Users Worldwide 2015: 50% Population Is On Internet
[REPORT].” Dazeinfo , 27 May 2015. Web. 23 June 2016
10
1.3 Sistemele de operare ale telefoanelor inteligente. Prezentare Generală. Compara ț ie
Sistemele de operare pentru mobile sunt sisteme de operare care func ț ionează pe telefoane
inteligente, PDA-uri, tablete ș i alte dispozitive mobile. Principalele sisteme de operare mobile sunt:
Android (Google), iOS (Apple), Windows Phone (Microsoft), RIM Bada ș i Symbian.
Potrivit statisticilor publicate de GSMA Intelligence, la ora actuală sunt peste 4.5 miliarde
de abona ț i unici la un serviciu de telefonie mobilă, jumătate din popula ț ia lumii are un abonament
pentru telefonie mobilă, fa ț ă de 1 din 5, cum era acum 10 ani. (“The Mobile Economy 2015,” n.d.)
10
Android
Firma Android Inc. a fost fondată de Andy Rubin, fost inginer la Apple (“Android History,”
2015) . Concentrându-se pe cea mai bună experien ț ă web pe care ar putea-o oferi ș i creând un 11
mediu în care orice dezvoltator ar putea lucra, Android a avut un plan de afaceri solid în momentul
în care l-a prezentat în fa ț a investitorilor, în 2005. Page ș i Brin, fondatorii Google, aveau nevoie de
un telefon care să concureze cu Microsoft ș i Blackberry ș i, în acela ș i timp î ș i doreau mai multe
telefoane care să aibă Google ca motor de căutare implicit. O platformă deschisă ca Android le
oferea exact aceste lucruri. Mai multe prototipuri au fost proiectate ș i respinse până când modelul
G1 a fost finalizat ș i lansa t, în anul 2008.
Cu toate că nucleul Android OS este open-source (cu sursă deschisă), o mare parte a
sistemului de operare nu este. Aplica ț iile Google incluse pe majoritatea telefoanelor Android
vândute în Occident sunt cu sursă închisă.
iOS
iOs este sistemul de operare ale telefoanelor iPhone. Primul iOS a apărut în anul 2007, nu a
oferit suport pentru copy/paste, 3G, ata ș are fi ș iere la email, MMS ș i nu permitea func ț ionarea
aplica ț iilor externe. Actu alizările ulterioare au inclus iTunes Music Store, permi ț ând utilizatorilor,
pentru prima dată, achizi ț ionarea de melodii direct de pe telefon (prin intermediul unei conexiuni
WIFI) ș i schimbarea tonului de apel. Începând cu 2007, în fiecare an a apărut o nouă versiune de
iOS. Versiunea din 2015, iOS 9, a venit cu o serie nouă de caracteristici, printre care: durată mai
lungă de via ț ă pentru baterie, noul rol al lui Siri ca asistent de căutare ș i o nouă tastatură. (Williams,
2015) 12
Windows Phone
Primul Windows Phone, în varianta în care este cunoscut la ora actuală, a fost lansat în anul
2010 la Barcelona ș i este rezultatul colaborării dintre Microsoft ș i Nokia. Începând cu această
10 “The Mobile Economy 2015.” GSMA Intelligence , Web. 20 June 2016
11 “Android History.” Android Central , 21 Oct. 2015. Web. 19 June 2016
12 Williams, Rhiannon. “Apple iOS: A Brief History.” Telegraph.co.uk , 17 Sept. 2015. Web. 20 June 2016
11
variantă, sistemul de operare a fost regândit pentru dispozitive mobile, diferen ț iindu-se complet de
varianta pentru desktop. Dispozitivele pe care rulează sistemul de operare sunt produse de Nokia.
(Guru & Guru, 2012) 13
Potrivit statisticilor publicate de Statistica.com, cel mai popular sistem de operare pentru
dispozitive mobile este, de câ ț iva ani, Android, urmat de iOS (“Global smartphones sales by
operating system 2009-2015 | Statistic,” n.d., “Smartphone OS global market share 2009-2016 |
Statistic,” n.d.) : 14 15
13 Guru, and Guru. “Top 10 Mobile Phones Operating Systems.” ShoutMeLoud 23 Aug. 2012. Web. 20 June
2016
14 “Global Smartphones Sales by Operating System 2009-2015 | Statistic.” Statista , Web. 19 June 2016
15 “Smartphone OS Global Market Share 2009-2016 | Statistic.” Statista , Web. 18 June 2016
12
1.4 Publicarea aplica ț iilor mobile
Există o diferen ț ă de abordare majoră între cum sunt livrate aplica ț iile mobile prin
intermediul Google Play ș i a ehivalentului său – Apple Store. Pentru a publica o aplica ț ie pe Google
Play regulile sunt mult mai relaxate decât în cazul Apple Store, ceea ce poate fi privit ca un avantaj
(viteză de publicare mult mai mare), dar ș i ca dezavantaj (aplica ț iile nu sunt verificate riguros).
1.4.1 Publicarea aplica ț iilor pe Google Play
Condi ț iile pentru a publica o aplica ț ie pe Google Play sunt urmatoarele (potrivit
informa ț iilor publicate pe site-ul https://developer.android.com/distribute/googleplay/start.html ):
1. Înregistrarea pentru un cont de Editor
a. Navigarea pe site-ul https://play.google.com/apps/publish/signup/
b. Introducerea informa ț iilor de bază despre dezvoltator (aceste informa ț ii pot fi
modificate ulterior)
c. Citirea ș i acceptarea Acordului de Distribuire pentru Dezvoltatori pentru ț ara
dezvoltatorului.
d. Plata unei taxe de înregistrare de 25$.
e. După verificarea înregistrării, dezvoltatorul este notificat prin intermediul adresei de
email introduse la înregistrare.
2. Configurarea unui cont Google pentru plă ț i, în cazul în care se va dori comercializarea
aplica ț iilor publica te
a. Intrarea în cont, la adresa https://play.google.com/apps/publish/
b. Navigarea către pagina Financial Reports
c. Click pe Setup a Merchant Account Now (Configura ț i un cont de comerciant)
3. Explorarea consolei Google Play pentru dezvoltatori, precum ș i a uneltelor de publicare.
Odată creat contul ș i verificată înregistrarea, dezvoltatorul se poate conecta la consola
Dezvoltatorului (Developers Console), care este punctul de plecare pentru opera ț iile de publicare a
aplica ț iilor.
13
1.4.2 Publicarea aplica ț iilor pe Apple Store
Fiecare aplica ț ie care se dore ș te a fi publicată este supu să unei recenzii bazate pe criterii
tehnnice, de con ț inut ș i de design. Aceste criterii ar trebui avute în vedere în momentul dezvoltării
aplica ț iei ș i ele sunt disponibile la următoarea adresă:
https://developer.apple.com/app-store/review/guidelines/ .
Pe site-ul Apple este prezentată o listă de pa ș i care ar trebui urma ț i pentru a dezvolta aplica ț ii pentru
iOS, OS X, watchOS, and tvOS ( https://developer.apple.com/app-store/submissions/ ).
Ace ș tia sunt:
1. Dezvoltarea aplica ț iei folosind Xcode 7 ș i ultima variantă de SDK
2. Actualizarea la ultima variantă a sistemului de operare
3. Dezvoltarea urmând ghidul de revizuire a aplica ț iei
4. Optimizarea aplica ț iei
5. Testare Beta
6. Trimitere spre verificare
Informa ț iile oferit e de Apple sunt mult mai vaste, cuprinzând ș i strategii de alegere a unui
model de business, de atragere a utilizatorilor, de marketing.
Aplica ț ii open-source
Multă lume confundă programele / aplica ț iile open-source (sau cu sursă deschisă) cu
aplica ț iile gratuite, dar diferen ț a dintre ele este majoră. Este adevărat că amândouă îi oferă
utilizatorului interesat posibilitatea de a utiliza aplica ț ia fără a plăti, dar în cazul aplica ț iilor gratuite,
asta este tot ceea ce îi oferă, pe când în cazul aplica ț iilor cu sursă deschisă, utilizatorului îi este
oferită gratuit ș i sursa, pe ntru a o utiliza cum crede de cuviin ț ă.
14
Capitolul 2 – Studiu de caz: aplica ț ii de tracking GPS pentru dispozitive Android
Prezentul studiu de caz vizează alegerea unei aplicații de tracking GPS pentru o afacere care
iși doreste un mai bun control asupra vehiculelor și/sau contractorilor implicați în activitatea
economică. Datorită avantajelor pe care le oferă platforma Android, avantaje prezentate în capitolul
anterior, am optat pentru această platformă, considerând ca este solu ț ia cea mai potrivită pentru
oricare dintre cele două abordări: alegerea unui sistem existent sau dezvoltarea unui sistem nou.
Sistemul implementat presupune ca fiecare vehicul să con ț ină un dispozitiv Android (telefon sau
tabletă). Aceată abordare prezintă ș i un avantaj de cost, astfel, dacă un anume utilizator folosește
deja un dispozitiv pe care rulează Android necesitatea investiției suplimentare în hardware odată cu
folosirea noii tehnologii se anulează.
Printre criteriile pe care le-am urmarit sunt în primul rând facilitățile funcționale, ușurința în
implementare, ușurința în utilizare ș i, în mod evident, prețul.
Aplica ț ia ideală, a r oferi, la un cost cât mai competitiv, următoarele:
● Locația dispozitivului în timp real, cu acuratețe geografică de 50 de metri, în eșantioane
de timp de maxim 5 minute
● Afișarea în timp real a poziției mai multor dispozitive din acela ș i grup; o facilitate utilă
dar de importanță secundară ar consta în abilitatea supervizorului de a organiza
dispozitivele în subgrupuri distincte, după criterii variabile în funcție de necesitățile
caracteristice fiecărei situații, de la caz, la caz
● Afișarea în timp real a vitezei de deplasare a fiecărui dispozitiv
● Generarea rutei pe care un dispozitiv a parcurs-o intr-un interval de timp furnizat de
către supervizor ca date de intrare
● Posibilitatea dispozitivului de a transmite informația prin rețeaua celulară sau WIFI, în
funcție de disponibilitate
● Capacitatea dispozitivului de a detecta în timp real starea conexiunii la internet ș i a
determina daca informațiile au fost transmise cu succes serverului care stocheaza
istoricul deplasărilor; în cazul lipsei conexiunii la internet sau a lipsei unei confirmari de
transfer, aplica ț ia trebuie sa fie prevazută cu un algoritm de backup, care să salveze
local activitatea din intervalul în care conexiunea la internet nu a fost disponibila, ș i
apoi, de indata ce conexiunea este reluata, sa transmita serverului informațiile retroactiv
Studiul de caz reprezintă o evaluare în paralel a 3 aplicații deja existente în Google Play App
Store. Am tinut cont în cazul fiecarei aplicații de urmatoarele:
15
● Nota generală a utilizatorilor (Online User Rating)
● Numărul de recenzii
● Numărul de instalări (Play Store afișează în mod public numărul de instalări ale oricărei
aplicații)
● Ușurința de instalare
● Ușurinta în utilizare
● Funcționalitatea (aici am avut în vedere ș i flexibilitatea pe care aplica ț ia o oferă
utilizatorului de a modifica anumiți parametri de funcționare)
● Calitatea interfeței grafice
Având în vedere că nu am găsit aplica ț ii care să se plieze exact pe cerin ț ele enumerate în
paragraful anterior, am plecat de la aplicații care să îndeplinească în primul rând funcția de bază, ș i
anume capacitatea de a- ș i transmite poziția GPS către un server care sa o stocheze intr-o bază de
date.
Cele 3 aplicații alese sunt:
1. Find My Device
2. Cerberus
3. Glympse
2.1 Find My Device
Find My Device este o aplica ț ie care la momentul realizării acestui studiu de caz are nota
4.3 din 5, din peste 430,000 de recenzii în Google Play. Este o aplica ț ie foarte populara, care se
bucură de un real succes printre utilizatorii acestei platforme. Faptul că este dezvoltată chiar de
către Google constituie cu siguranță unul dintre motivele cărora li se datorează succesul enorm,
purtand amprenta gigantului informatic în ceea ce priveste interfața grafică ș i funcționalitatea.
Conform Google Play, aplica ț ia Find My Device a fost instalată de peste 10 milioane de utilizatori.
Privind din poziția publicului țintă caruia i se adresează, această aplica ț ie reprezintă cu
succes ideea de bază care a catalizat popularizarea dispozitivelor inteligente din ultimii ani, în
detrimentul dispozitivelor de tip desktop, ș i anume, simplitate pe toate planurile, funcții relativ
reduse la număr dar puternice prin eficacitate, instalare ușoară, configurări aproape inexistente. La
capitolul “User Friendliness” această aplica ț ie ar putea obține lejer nota maximă.
Revenind la publicul țintă, Find My Device, este o aplica ț ie care se dorește a fi un concurent
direct la adresa aplica ț iei omoloage dezvoltate de competitorul Apple, ș i anume Find my
Iphone/Find my Ipad.
16
Panoul de control al aplica ț iei este web-based ș i se poate accesa la urmatoarea adresă:
https://www.google.com/android/devicemanager?u=0
Odată conectat, utilizatorul are la dispozitie o hartă Google Maps pe care urmează a fi
indicată locația propriului dispozitiv ș i un numar de exact 5 op ț iuni posibile, care sunt
● aflarea locației dispozitivului la un anumit moment dat
● posibilitatea de a comanda dispozitivul să sune în cazul în care utilizatorul nu îl
găsește
● schimbarea de la distanță a codului de acces la dispozitiv, blocarea dispozitivului sau
afisarea pe displayul dispozitivului a unui mesaj stabilit de administrator prin
interfața web
● ștergerea completă a conținutului în cazul în care dispozitivul este considerat pierdut
sau furat
● redenumirea dispozitivului
Având în vedere cele 5 facilități enumerate mai sus, este evident că acest dispozitiv nu
întrunește aproape niciunul dintre criteriile care stau la baza prezentului demers ș i se poate
considera că Find My Device este mai repede o aplica ț ie de securitate decât una de tracking în
adevăratul sens al cuvântului. De fiecare dată când utilizatorul dorește să obțină locația unui
dispozitiv trebuie să solicite acest lucru manual, ceea ce constituie un mare minus în contextul
studiului de față. De asemenea, nu se poate afla dacă dispozitivul este sau nu în mișcare, fapt care
ne duce către concluzia inerentă că posibilitatea aflării vitezei de deplasare este exclusă.
17
Find My Device este, așadar, o aplica ț ie limitată care nu a fost dezvoltată special pentru
tracking. Nefiind o aplica ț ie dedicată acestui scop, precum ș i faptul că prezintă neajunsurile
enumerate mai sus, m-au determinat să notez faptul că această aplica ț ie întrunește principala funcție
dorită, aceea de a-și transmite propria locație GPS ș i cam atât, din ceea ce ne interesează.
2.2 Cerberus
Cerberus este o aplica ț ie care din punct de vedere al func ț ionalită ț ii se aseamănă cu Find My
Device, fiind dezvoltată ca o aplica ț ie de găsire a dispozitivului în cazul în care este pierdut, dar
include un set mai vast de op ț iuni decât cea dezvoltata de Android. Aceste op ț iuni, nu se incadrează
neaparat printre criteriile studiului de caz, dar merită amintite pentru că pot fi utile în cazul utilizării
acestei aplicații în tandem cu o aplica ț ie de tracking dedicată. în continuare vom vedea în primul
rând cât de tare Cerberus se apropie de un astfel de scop ș i anume, GPS tracking.
Instalarea ș i configurarea sunt relativ facile, dupa ce s-a instalat aplica ț ia, se deschide o
fereastra de LogIn, unde utilizatorul are op ț iunea de a- ș i introduce numele ș i parola sau se poate
opta pentru crearea unui cont nou, op ț iune care durează mai pu ț in de un minut, fiind necesare doar
numele utilizator ales, adresa de email ș i parola dorita. De men ț ionat este faptul că odată creat acest
cont în aplica ț ia de pe dispozitivul mobil, se potate folosi acela ș i set nume/parola pentru conectarea
la interfa ț a web. Cu alte cuvinte, accountul se creează de pe tableta ș i se poate accesa ulterior ș i prin
web. Acest aspect u ș urează mult utilizarea aplica ț iei ș i scurteaza mult timpul de la instalare până la
prima funcționare a dispozitivului.
În momentul în care utilizatorul interfeței web se conectează, acesta are la dispoziție
comenzile “Start tracking” ș i “Stop tracking”. ceea ce înseamnă că tracking-ul unui anume
18
dispozitiv conectat la acel cont trebuie pornit manual, iar după un interval anume de timp, această
funcție se dezactivează automat. Mai exact, dupa 5 minute de inactivitate, interfata web se închide
automat, moment în care ș i func ț ia de tracking a dispozitivulu i este imediat dezactivată. Acest
aspect aduce cu sine incapacitatea de a folosi func ț ia de tracking în fundal, pentru a păstra o istorie
permanentă a rutei parcurse. În aceasta aplica ț ie, spre deosebire de precedentă, avem totu ș i op ț iunea
de a genera un istoric al rutei parcurse într-un interval de timp selectat de utilizator.
Afi ș area în timp real a vitezei de deplasare nu este însă o op ț iune, la fel cum nu apare nici în
rapoartele generate ulterior. Viteza de deplasare ar constitui un real plus, dar chiar ș i în absen ț a
acesteia, faptul că putem genera un istoric al rutei parcurse constituie un pas înainte fa ț ă de Find My
Device. Un alt minus, din perspectiva mea, îl constituie faptul că, de ș i se poate genera un istoric al
rutei parcurse, acesta este unul în mod grafic, ș i nu oferă op ț iunea translatării loca ț iilor în adrese
reale prin Reverse Geocoding, astfel încât această colec ț ie de informa ț ii să poată fi exportată mai
apoi în format CSV sau orice alt format care poate fi manipulat în Excel sau importat într-o altă
aplica ț ie ș i care să con ț ină adrese reale, inteligibile. Consider că op ț iunea de a putea genera un astfel
de raport CSV ar constitui o facilitate foarte puternică. Pe de altă parte nu trebuie scăpat din vedere
faptul ca această aplica ț ie nu a fost concepută ca una de “fleet tracking”.
În figura de mai jos se poate vedea modul în care istoricul rutei este afisat.
Figura de mai sus afi ș ează istoricul loca ț iilor pe o harta Google standard, putându-se opta ș i
pentru Sattelite View dacă se dore ș te.
Printre func ț ional ită ț ile acestei aplica ț ii care merită amintite se numără câteva chiar foarte
utile, în ceea ce priveste securitatea dispozitivului, ș i anume:
● posibilitatea de a bloca dispozitivul de la distan ț ă cu un cod diferit de cel prestabilit
● executarea de backup de la distan ț ă
19
● folosirea camerei tabletei/telefonului pentru a fotografia persoana care operează
dispozitivul în acel moment
● afi ș area un ui mesaj de alertă / urgen ț ă pe ecran
● efectuarea de capturi ale dispaly-ului
● ș tergerea întregului con ț inut al tabletei / telefonulu i, inclusiv al cardului SD, pentru a
asigura protec ț ia informa ț iilor stocate pe acesta.
Backup-ul la distan ț ă se poate realiza printr-una din cele două metode puse la dispozi ț ie de
dezvoltatorul aplica ț iei ș i anume, există posibilitatea de conec tare a dispozitivului cu un cont
Google Drive sau Dropbox, astfel încât, în cazul pierderii sau furtului acestuia, utilizatorul poate
comanda de la distan ț ă un backup efectuat chiar într-unul dintre aceste medii de stocare
cloud-based, iar apoi se poate proceda la ș tergerea informa ț iilor de pe dispozitiv, pentru securitate.
Dupa cum men ț ionam mai sus, aceste facilită ț i ș i op ț iuni de func ț ionare nu sunt neapărat specifice
unei aplica ț ii dezvoltate în primul rand pentru tracking de vehicule sau subcontractori anagaja ț i în
activită ț i care implică deplasarea pe teren, cazuri în care tracking-ul în timp real reprezintă o
componentă esen ț ială a m otorului logistic al afacerii.
Figura de mai jos constituie un printscreen de pe dispozitivul mobil de această data, figură
care afi ș ează o parte din op ț iunile disponibile, inclusiv cele men ț ionate mai sus, referitoare la
posibila conectare la Google Drive sau Dropbox. De asemenea se mai pot observa op ț iuni oarecum
neobi ș nuite, dar totodată nelipsite unei aplica ț ii care se dore ș te a fi luată în considerare în ceea ce
prive ș te solu ț iile pentru securitate, ș i anume “Block Power Menu” ș i “Block Status Bar”. Acestea
permit blocarea op ț iunilo r de oprire / resetare a dispozitivului, precum ș i accesul la meniul de setări
rapide. Aceste op ț iuni se pot dovedi deosebit de utile în situa ț ia în care telefonul sau tableta pe care
rulează aplica ț ia ar cădea în mâini nedorite conferindu-i administratorului aflat în fa ț a interfe ț ei web
posibilitatea de a-si minimiza / limita daunele în urma unui astfel de incident.
Toate aceste facilită ț i amintite pe scurt mai sus nu ne duc neaparăt mai aproape de solu ț ia
ideală sau completă pentru problema pe care acest studiu de caz încearcă să o rezolve, dar pot
produce un alt efect, ș i anume unul complementar. În contextul în care tableta sau telefonul pe care
am avea instalată solu ț ia de tracking aleasă ar fi folosite în scop comercial, probabil s-ar impune
securizarea dispozitivului. Este bine ș tiut că în era informa ț ională, foarte multe firme decid să
opteze pentru solu ț ii software ultramobile în activitatea agentilor, subcontractorilor, etc. Aceste
solu ț ii pot include acceptarea comenzilor, înregistrarea de semnături digitale de la clien ț i în
momentul livrării produselor, etc. În acest sens, putem considera Cerberus ca pe o solu ț ie pentru
asigurarea securită ț ii dispozitivului. Pe de altă parte, această aplica ț ie mai detine o op ț iune prin care
prezenta aplica ț ie pe dispozitiv poate fi ascunsă, ceea ce îi poate permite administratorului să
porneasca o monitorizare silen ț ioasă ( silent tracking ), dacă principala aplica ț ie de tracking este
dezactivată.
20
Din punct de vedere al func ț ionalită ț ii ș i al facilită ț ilor oferite, această aplica ț ie este departe
de ceea ce căutam dar, dupa cum precizam anterior, poate consitui o solu ț ie complementară, ș i
anume securizarea dispozitivului cu posibilitatea de tracking în regim de urgen ț ă (în cazul în care
principala solu ț ie de track ing este dezactivată).
21
Avantaje :
● Instalare facilă, extrem de u ș or de creat un nou cont
● Putem ob ț ine un istoric al loca ț iilor
● Multiple op ț iuni de securitate
● Înregistrare audio
● Posibilitatea de silent tracking
Dezavantaje :
● Nu afi ș eaza viteza de deplasare
● Modul de tracking trebuie activat manual ș i func ț ionează doar pe perioada în care
utilizatorul este logat la interfa ț a web
● Istoricul loca ț iilor nu poate fi exportat intr-un format care sa con ț ină adrese fizice în
mod CSV
● Necesită abonare separată
Reluând ideile expuse anterior, concluzionez că Cerberus poate fi mai degrabă o solu ț ie de
scuritate, decât una de tracking dar consider în continuare că poate constitui o alternativă în cazuri
extreme, pentru perioade scurte de timp.
Aplica ț ia Cerberu s a fost descărcată de peste 1.000.000 de utilizatori de pe platforma
Google Play ș i are nota 4.4 din peste 98.000 de recenzii, ceea ce dovede ș te faptul că aplica ț ia se
bucură de notorietate ș i este un produs a cărui func ț ionalitate nu lasa de dorit.
2.3 Glympse
Glympse ofera inclusiv o varianta pentru business, despre care nu exista, insa, foarte multe
detalii pe site-ul companiei, în afara unui numar de telefon la care potentialii clienti pot apela
departamentul de vanzari al companiei. Pentru scopul acestui studiu de caz, pe parcursul acestei
lucrari, ne vom referi în continuare la varianta gratuita a acestei aplicatii.
Glympse este o aplica ț ie extrem de usor de instalat de pe platforma Google Play ș i totodata
extrem de usor de utilizat. Usurinta în instalare este observata imediat prin faptul ca nu necesita
crearea unui cont online ș i nici autentificarea cu un cont creat în prealabil pe un dispozitiv desktop
sau intr-un bowser web. aplica ț ia se instaleaza usor, dupa ce este descarcata de din Google Play.
Instalarea se face automat, iar cand aceasta este completa, utilizatorul trebuie doar s-o porneasca ș i
din acel moment se poate utiliza fara niciun fel de configurare suplimentara, intrucat la instalare
aceasta cere permisiunea sa acceseze aproximativ toate resursele tabletei, atat hardware cat ș i
software necesare functionarii. Printre acestea se numara accesul la componenta GPS, la contacte ș i
22
identitate, ș i la conturile la care utilizatorul este deja conectat, în vederea transmisiei locatiei, dupa
cum se poate vedea în figura de mai jos.
Aplica ț ia este relativ flexibila în ceea ce-l priveste pe utilizatorul dispozitivului pe care
aceasta se instalează. Acesta are op ț iunea de a opta pentru afi ș area vitezei, pentru a folosi sistemul
metric sau cel standard, pentru a introduce destina ț ia înspre care se îndreaptă ș i, mai ales, de a
permite aplica ț iei să se conecteze la contul său de Facebook sau Twitter, printre altele. Aceste
op ț iuni aduc cu sine o u ș urin ț ă ș i mai mare în utilizarea aplica ț iei, având în vedere că transmiterea
informa ț iei către recipien ț i urmează a se face prin intermediul contului de email, Facebook, Twitter
sau altele la care utilizatorul este conectat. Meniul de op ț iuni are o interfa ț ă simplă, curată, nu este
încărcat cu informa ț ii sau op ț iuni inutile sau care nu sunt neces are, este foarte intuitiv ș i u ș or de
folosit de către un utilizator amator, ceea ce nu putem spune neapărat ș i despre Cerberus. aplica ț ia
prezentată anterior care are câteva op ț iuni puternice de altfel, dar care necesită cuno ș tinte relativ
avansate de utilizare a dispozitivelor mobile pentru a putea fi utilizată pe deplin de către utilizatorul
final. Meniul de op ț iuni a l aplica ț iei Glympse poate fi observat în figura de mai jos.
23
U ș urin ț a instalarii ș i faptul că nu necesită crearea unui cont, chiar aceste aspecte care, fără
îndoiala, au participat la popularizarea aplica ț iei sunt ș i cele care constituie neajunsuri din
perspectiva mea, având în vedere solu ț ia “de nișă” pe care o caut.
În varianta gratuită, aplica ț ia este extrem de simplu de folosit, utlizatorul poate selecta
op ț iunea “Share Location ” din Meniu, iar apoi este afi ș ată o activitate care prezinta 4 op ț iuni:
● Destinatarii cărora urmează să le fie dezvăluita loca ț ia utilizatorului
● Perioada de timp pentru care loca ț ia să fie disponibilă
● Se poate ata ș a un mesaj către destinatari
● Se poate selecta o destina ț ie finală.
24
După ce se selecteaza aceste op ț iuni, în momentul în care se apasă comanda Send din partea
din dreapta-sus a displayului, se generează un link unic ș i dispozitivul începe să î ș i transmită pozi ț ia
ș i, după caz, viteza, sau alte informa ț ii selectate din meniu l de op ț iuni, către un server al
dezvoltatorului aplica ț iei. Insforma ț iile sunt transmise pe toată perioada de timp selectată de către
utilizator sau până în momentul ajungerii la destina ț ie, dacă această op ț iune a fost selectată. Apoi,
utilizatorul trimite acel link unic generat de aplica ț ie către destinatarii care sunt invita ț i să
urmarească pozi ț ia utiliza torului. De notat este faptul că acel link se poate transmite prin Facebook,
Twitter, email, mesaj text, sau se poate copia în clipboard-ul dispozitivului ș i se poate trimite prin
orice altă aplica ț ie care suportă func ț ia de messaging. Un aspec t important îl constituie faptul că
oricine intra în posesia acelui link pe perioada în care acesta este activ ș i poate vedea toate
informa ț iile făcute public e de către utilizatorul care a generat acel link. Figura de mai jos reprezintă
un screenshot al activită ț ii cu cele 4 op ț iuni ș i butonul de Send în dreapta, sus.
Glympse este o aplica ț ie care prezintă mult mai multe op ț iuni decât cele testate anterior,
printre acestea fiind viteza de deplasare, posibilitatea de a transmite mesaje ș i op ț iunea de a
specifica destina ț ia înspre care se indreaptă utilizatorul. Acestea reprezintă reale plusuri în raport cu
celelalte aplica ț ii, însă am constatat un mare minus în ceea ce prive ș te modul în care aplica ț ia este
concepută.
Dupa cum reiese ș i din explicarea caracteristicilor asupra cărora am insistat mai sus,
func ț ionalitatea acesteia este una oarecum inversă unei aplica ț ii clasice de tracking, ș i anume,
utilizatorul care urmăre ș te dispozitivul prin interfa ț a web sau prin intermediul unui alt dispozitiv
mobil este, de fapt, clientul, ș i nu invers. Posesorul dispozitivului este cel care hotără ș te momentul
în care dore ș te să facă publică unuia sau mai multor clien ț i loca ț ia sa, hotără ș te durata pe parcursul
25
căreia aceste informa ț ii sunt publice, ș i le poate opri oricând prin intermediul op ț iunilor din meniul
aplica ț iei.
Am constatat că aplica ț ia este una robusta, simplă ș i extrem de func ț ională, fapt pentru care
se ș i explică atât cele peste 5 milioane de descărcări de pe platforma Google Play, cât ș i nota 4.5 din
cele aproape 100,000 de recenzii ale utilizatorilor. Totodată am constatat că această aplica ț ie nu
oferă posibilitatea unui a ș a numit administrator de grup să urmarească permanent activitatea mai
multor dispozitive în timp real. Acest lucru este posibil doar pentru o perioadă limitată, la ini ț iativa
utilizatorului dispozitivului mobil. Cred că se poate afirma că în scenariul propus la începutul
acestui studiu clientul ar trebui să fie utilizatorul mobil ș i nu invers, a ș a cum se întâmplă în cadrul
aplica ț iei Glympse.
Concluzii
Primele criterii – notă utilizatori (user rating, număr recenzii ș i număr de instalări) sunt
informa ț ii preluate direct de pe platforma Google Play, iar pentru a evalua ultimele 4 caracteristici,
am considerat un sistem de notare de la 1 la 5, unde 5 este cea mai mare notă, iar 1 cea mai mică.
Spre exemplu, la u ș urin ț a de instalare, nota 1 ar însemna o insta lare foarte dificilă, pe când nota 5
presupune o instalare rapidă ș i u ș oară. în mod similar am evaluat ș i u ș urin ț a de utilizare,
func ț ionalitatea ș i interfa ț a grafică.
Nota
Utilizat
ori Nr.
recenzii Nr.
instalari U ș urin ț ă
instalare U ș urin ț ă
utilizare Func ț ion
alitate Interfa ț ă
Grafică
Find My Device 4.3 >434 k >10 mil 5 5 2 5
Cerberus 4.4 >98 k >1 mil 4 3 3 4
Glympse 4.5 >94 k >5 mil 5 5 3 5
Am evaluat aplica ț iile, după cum precizam mai sus, având în vedere 4 criterii care se pot
dovedi subiective. În fond, această evaluare nu se dore ș te a fi una obiectivă, întrucât criteriile
stabilite la începutul evaluării sunt ele însele subiective. O aplica ț ie foarte bine construită poate
avea sau nu o anumită func ț ionalitate cerută de utilizator. Absen ț a unei astfel de func ț ii sau op ț iuni
aduce cu sine, implicit, o nota mai mică.
26
1. Find My Device este o aplica ț ie extrem de simplă care face foarte bine un singur
lucru din cele care ne interesează, ș i anume afi ș ează în timp real loca ț ia
dispozitivului. Nu există probleme de compatibilitate, aplica ț ia fiind dezvoltată de
Google ș i afisând rezultatele pe o hartă Google. Din cele 7 criterii de evaluare,
primele 3 sunt implicite, valorile acestora în toate cazurile fiind luate direct de pe
Google Play.
a. U ș urin ț ă Instalare: 5 – aplica ț ia se instalează foarte u ș or ș i recunoa ș te contul
Google la care este conectată tableta, astfel încât utilizatorul trebuie doar să-l
confime sau să aleagă altul, dacă dore ș te, după instalare.
b. U ș urin ț ă Utilizare: 5 – Utilizarea este extrem de facilă, dat fiind faptul că
setările sunt practic inexistente, utilizatorul neavând acces la nicio op ț iune.
Tocmai absen ț a op ț iunilor îi conferă aplica ț iei un grad de u ș urinta extrem de
ridicat în utilizare.
c. Func ț ionalitate: 2 – Principalul criteriu pe care l-am urmărit prin prisma
cerin ț elor problemei; din cele cerute, această aplica ț ie transmite loca ț ia
curentă a dispozitivului ș i nimic altceva. Din acest motiv, am considerat că la
acesta aspect aplica ț ia merită nota 2 din 5.
d. Interfa ț a Grafică: 5 – Aici am notat practic interfa ț a grafică a Google Maps.
2. Cerberus prezintă numeroase alte func ț ii pe lângă transmiterea loca ț iei GPS dar
multe dintre ele sunt altele decât cele specificate în criteriile de la începutul studiului.
a. U ș urin ț ă Instalare: 4 – Utilizatorul are nevoie de un cont la instalare. Dacă
nu are, î ș i poate crea, dar acesta trebuie să existe.
b. U ș urin ț ă Utilizare: 3 – Prezintă setari ș i op ț iuni care se pot dovedi
problematice pentru utilizatorul final, dacă acesta nu este unul experimentat.
c. Func ț ionalitate: 3 – Func ț ia de tracking trebuie activată manual, transmite
istoricul pozi ț iilor dar nu transmite viteza de deplasare, nu oferă op ț iune de
export al istoricului.
d. Interfa ț a Grafică: 4 – aplica ț ia folose ș te harta Google Maps dar
dezactivează op ț iunea de a mări sau mic ș ora harta cu func ț ia de scroll a
mouse-ului.
3. Glympse este o aplica ț ie bună, special concepută pentru tracking. Nu prezintă totu ș i
avantajele scontate întrucât permite utilizatorului să oprească func ț ia de transmitere a
loca ț iei.
a. U ș urin ț ă Instalare: 5 – Instalare extrem de facilă, aplica ț ia nu necesită
niciun cont suplimentar.
27
b. U ș urin ț ă Utilizare: 5 – Foarte u ș or de configurat, interfa ț ă intuitivă, aspect
curat.
c. Functionalitate: 3 – Transmite pozi ț ia în timp real, viteza de deplasare ș i
istoricul loca ț iilor, dar pune aceste func ț ionalită ț i în totalitate sub controlul
utilizatorului tabletei sau telefonului.
d. Interfa ț a Grafică: 5 – Interfa ț a este asigu rată de către Google Maps, include
op ț iunea de afi ș are a traficului în timp real.
În concluzie, toate cele 3 aplica ț ii testate în prezentul studiu folosesc func ț iile GPS
furnizate de mediul Android. Însă nici una dintre acestea nu constituie o solu ț ie de sine
stătătăare la problema enun ț ată, dat fiind faptul că fiecare dintre ele prezintă deficien ț e
constructive. De exemplu, viteza de deplasare, care este un aspect absolut important pentru
scopul unei asemena aplica ț ii, lipse ș te la 2 din cele 3 aplica ț ii testate, iar singura aplica ț ie
care prezintă această func ț ionalitate nu îndepline ș te alte cerinte esen ț iale.
Există pe pia ț ă furnizori de solu ț ii de tracking ș i fleet management, care dispun de
infrastructura dedicată pentru astfel de solu ț ii ș i au dezvoltat aplica ț ii pentru astfel de
scopuri, însă aceste solu ț ii pot deveni extrem de costisitoare, iar obiectul acestui studiu
presupunea găsirea unei solu ț ii gratuite sau extrem de accesibile, pentru firme de dimensiuni
mici, sau întreprinzători care sunt la început de drum ș i, implicit, dispun de un buget limitat.
Având în vedere că toate dispozitivele Android con ț in func ț ia de localizare prin GPS ș i că
Google pune la dispozi ț ie acces la sistemul lor de hăr ț i în mod gratuit, pentru utilizatori cu
un număr rezonabil de interogari pe zi, am considerat că pot găsi sau implementa o solu ț ie
care să reducă sau chiar să minimizeze costurile recurente ale unui astfel de utilizator, cu
resurse limitate.
În continuare, am decis implementarea unui astfel de sistem, în care utilizatorul
dispozitivului Android instalează aplica ț ia, iar aceasta transmite pozi ț ia ș i viteza către o bază
de date aflată pe un server web. Aplicatia nu se dorește a fi o soluție completă sau
profesională, însă propune o soluție functională, în jurul căreia se pot dezvolta în continuare
alte aspecte sau facilități. În continuare sunt elaborate câteva principii constructive si metode
care au fost aplicate in dezvoltarea aplicației.
28
Capitolul 3 – Implementarea aplica ț iei
În dezvoltarea aplica ț iei m-am axat pe două mari componente:
– aplica ț ia mobilă
– aplica ț ia web
Aplica ț ia mobilă are ca scop transmiterea loca ț iei unui utilizator mobil, pe când aplica ț ia
web are ca scop oferirea unei priviri de ansamblu asupra localizării tuturor utlizatorilor
mobili(client) pe hartă.
Ambele aplica ț ii vor utiliza aceea ș i bază de date, aplica ț ia mobilă pentru a introduce
coordonatele ș oferilor în baza de date, iar aplica ț ia web pentru a extrage aceste informa ț ii ș i a le
afi ș a în browser. Ca urmare a acestui fapt, proiectarea bazei de date a fost primul pas în dezvoltarea
aplica ț iei. La rândul ei, extinderea ș i normalizarea bazei de date se va face pe parcurs, odată cu
cre ș terea numărului de utilizatori. Într-o primă variantă, baza de date con ț ine o singură tabelă, cu
toate informa ț iile ș oferilor, urmând ca în următoare itera ț ie să creez o tabelă separată doar pentru
datele ș oferilor ș i să fac legătura cu tabela care con ț ine informa ț iile legate de traseu. Câmpurile din
tabela creată sunt cele din figura de mai jos:
29
3.1 Dezvoltarea aplica ț iei mobile
Pentru dezvoltarea aplicatiei mobile am folosit mediul de dezvoltare Android Studio care la
ora actuala este solutia standard pentru dezvoltarea de aplicatii Android. Proiectele Android sunt
structurate intr-o anume ierarhie. Fisierul AndroidManifest.XML contine pe langa alti paramentri ai
aplicatiei si punctul de pornire al acesteia, acesta indicand activitatea care urmeaza sa fie rulata in
momentul in care aplicatia este lansata. Acest fisier este localizat in urmatoarea locatie:
\app\src\main\AndroidManifest.XML .
Resursele interfetei grafice sunt locatizate in folderul “ \src\main\res\layout ”, acestea fiind
scrise in XML. Android Studio contine si un editor vizual pentru interfata grafica, avand optiunea
de a comuta din mod vizual in mod text foarte rapid. Fiecarei activitati ii corespunde o schema
(layout) care descrie elementele grafice si de interactiune cu utilizatorul, modul in care acestea sunt
dispuse, cum sunt aliniate si functionalitatea lor. De asemenea fiecarei activitati ii corespunde o
clasa Java care contine logica executiei activitatii respective. Fiecare activitate a aplicatiei are un
layout XML si un fisier Java. Fisierele Java se afla intr-un pachet, in folderul
“ \app\src\main\java ”.
Aceste fisiere XML si Java sunt conectate in manifestul aplicatiei, AndroidManifest.XML,
dupa cum se poate vedea mai jos.
Declaratia < action android :name= "android.intent.action.MAIN" /> din cadrul primului
tag de tip <activity/> semaleaza ca aceasta activitate este punctul de pornire a aplicatiei atunci cand
este lansata in executie.
< application
android :allowBackup= "true"
android :icon= "@drawable/ic_launcher"
android :label= "@string/app_name"
android :theme= "@android:style/Theme.Light.NoTitleBar" >
< activity
android :name= "com.unitracer.Splash_activity"
android :label= "@string/app_name" >
< intent-filter >
< action android :name= "android.intent.action.MAIN" />
< category android :name= "android.intent.category.LAUNCHER" />
</ intent-filter >
</ activity >
30
< activity
android :name= "com.unitracer.Create_account_activity"
android :label= "@string/app_name"
android :windowSoftInputMode= "stateHidden"
android :screenOrientation= "portrait" />
< activity
android :name= "com.unitracer.Track_location"
android :label= "@string/app_name"
android :windowSoftInputMode= "stateHidden"
android :screenOrientation= "portrait" >
</ activity >
< meta-data
android :name= "com.google.android.maps.v2.API_KEY"
android :value= "AIzaSyD6dLL0Z-BRJVNd5H0LzNSRzF4_DCmrI48"
/>
< meta-data
android :name= "com.google.android.gms.version"
android :value= "@integer/google_play_services_version" />
Fiecare aplicatie Android contine in mod obligatoriu cel putin o activitate. In functie de ce
functionalitati ofera aplicatia respectiva, poate avea mai multe activitati care sunt apelate in functie
de ce selecteaza utilizatorul sau in functie de cum decurge executia. Numai o activitate poate fi
activa la un moment dat, existand un asa numit Activity_Lifecyle, ilustrat foarte bine in imaginea de
mai jos. In momentul in care o anume activitate este lansata, este automat apelata o secventa de
metode in ordinea sugerata de schema Activity_Lifecycle. Si anume, mai intai este apelata metoda
onCreate(), urmata de metoda onStart() si apoi onResume() urmand ca apoi aplicatia sa fie activa si
in prim plan. Se poate observa in schema, ca daca sistemul afiseaza un mesaj de alerta sau o
notificare cu prioritate mai mare apare in prim plan, activitatea curenta trece in fundal, chiar daca
este inca vizibila, moment in care este automat apelata de catre sistem metoda onPause(). O
observatie care merita notata aici este faptul ca odata ce activitatea intra in aceasta stare, daca
sistemul decide ca trebuie sa elibereze memorie pentru alte procese cu prioritate mai ridicata, acesta
poate decide oprirea completa a activitatii, caz in care orice date sau informatii obtinute in urma
evolutiei activitatii vor fi pierdute daca acestea nu sunt salvate in prealabil. Acesta este motivul
pentru care, de obicei, dezvoltatorii de aplicatii aleg sa implementeze la inceputul acestei metode
instructiuni de salvare a informatiilor pe care activitatea le prelucreaza, pe suportul de stocare al
dispozitivului. De retinut de asemenea ca daca este vorba de cantitati relativ mari de informatii, se
recomanda salvarea acestora concomitent cu derularea aplicatiei pentru a se proteja integritatea lor
si pentru a nu incetini dispozitivul in momentul in care sunt afisate alerte de catre sistem.
31
Metoda onStop() este apelata atunci cand activitatea nu mai este vizibila, de exemplu cand
utilizatorul navigheaza catre o alta aplicatie sau atunci cand apasa pe butonul Home. Metoda
onDestroy() este apelata cand activitatea este fie oprita prin comanda din interiorul aplicatiei, fie
cand sistemul decide sa o termine pentru a elibera memorie.
32
Pentru reprezentarea locatiilor geografice sistemul Android pune la dispozitie clasa numita
Location , din pachetul android.location . Obiectele generate de aceasta clasa pot contine atribute
optionale cum ar fi directia, altitudinea, viteza, si altele, dar contin in mod obligatoriu latitudinea,
longitudinea si un timestamp (data+ora). Clasa LocationManager din acelasi pachet furnizeaza
accesul la servicii sistem prin care se poate actualiza automat locatia dispozitivului sau se pot emite
comenzi de tip Intent pentru ca actualizarea pozitiei geografice sa fie posibila si daca activitatea a
fost distrusa. Acest lucru se poate face printr-un serviciu sendBroadcast() care primeste ca argument
un obiect de tip Intent.
Aceasta metoda a fost aleasa pentru monitorizarea modificarii locatiei in orice moment, prin
clasa MyLocationListener care implementeaza interfata LocationListener prezenta in acelasi pachet
android.location. Din cele 4 metode impuse de interfata, onLocationChanged() este cea care
implementeaza solutia, in codul de mai jos:
public class MyLocationListener implements LocationListener
{
public void onLocationChanged( final Location loc)
{
Log. i ( "****************" , "Location changed" );
if (isBetterLocation(loc, previousBestLocation )) {
loc.getLatitude();
loc.getLongitude();
Log. d ( "lat////" , "" +loc.getLatitude());
Log. d ( "long////" , "" +loc.getLongitude());
intent .putExtra( "Latitude" , loc.getLatitude());
intent .putExtra( "Longitude" , loc.getLongitude());
intent .putExtra( "Provider" , loc.getProvider());
sendBroadcast( intent );
}
}
public void onProviderDisabled(String provider)
{
Toast. makeText ( getApplicationContext(), "Gps Disabled" , Toast. LENGTH_SHORT
).show();
}
public void onProviderEnabled(String provider)
{
Toast. makeText ( getApplicationContext(), "Gps Enabled" ,
Toast. LENGTH_SHORT ).show();
}
public void onStatusChanged(String provider, int status, Bundle extras)
{
}
}
33
Se poate observa ca metoda onLocationChanged() apeleaza o metoda de tip boolean,
isBetterLocation(Location, Location) , care primeste doi parametri de tip Location, pe care apoi ii
compara. Primul parametru care ii este adresat este locatia care tocmai a fost primita iar cel de-al
doilea parametru contine ultima locatie care a fost salvata. Aceste doua sunt comparate, iar daca cea
primita mai recent are un timestamp mai recent, sau o pozitie de o acuratete mai mare, locatia noua
este salvata si este totodata considerata ultima locatie validata, urmatoarea urmand a fi comparata
cu aceasta din urma. In aceasta situatie metoda returneaza valoarea True . Codul acestei metode este
mai jos, aceasta idee fiind preluata de pe site-ul oficial al dezvoltatorilor Android, de la aceasta
locatie:
https://developer.android.com/guide/topics/location/strategies.html
protected boolean isBetterLocation(Location location, Location currentBestLocation) {
if (currentBestLocation == null ) {
// A new location is always better than no location
return true ;
}
// Check whether the new location fix is newer or older
long timeDelta = location.getTime() – currentBestLocation.getTime();
boolean isSignificantlyNewer = timeDelta > TWO_MINUTES ;
boolean isSignificantlyOlder = timeDelta < – TWO_MINUTES ;
boolean isNewer = timeDelta > 0 ;
// If it's been more than two minutes since the current location, use the new location
// because the user has likely moved
// PC:
if (isSignificantlyNewer) {
return true ;
// If the new location is more than two minutes older, it must be worse
} else if (isSignificantlyOlder) {
return false ;
}
// Check whether the new location fix is more or less accurate
int accuracyDelta = ( int ) (location.getAccuracy() –
currentBestLocation.getAccuracy());
boolean isLessAccurate = accuracyDelta > 0 ;
boolean isMoreAccurate = accuracyDelta < 0 ;
boolean isSignificantlyLessAccurate = accuracyDelta > 200 ;
34
// Check if the old and new location are from the same provider
boolean isFromSameProvider = isSameProvider(location.getProvider(),
currentBestLocation.getProvider());
// Determine location quality using a combination of timeliness and accuracy
if (isMoreAccurate) {
return true ;
} else if (isNewer && !isLessAccurate) {
return true ;
} else if (isNewer && !isSignificantlyLessAccurate && isFromSameProvider) {
return true ;
}
return false ;
}
Am considerat ca metoda de mai sus este una extrem de eficienta, aceasta ajutand la
asigurarea integritatii datelor transmise. In primul rand se verifica daca coordonatele primite mai
recent au fost obtinute mai recent decat precedentele, ceea ce este important, asigurandu-se astfel
secventialitatea rutei reconstruite de catre aplicatia web. De asemenea, pozitia obtinuta prin reteaua
celulara poate prezenta abateri de la pozitia exacta, desi se obtine o pozitie initiala mai rapida, iar
daca urmatoarea pozitie este obtinuta prin satelit, aceasta poate fi mai exacta decat prima. De
asemenea, pachetul android.location prezinta metode pentru verificarea metodei in care locatia a
fost obtinuta si numele providerului, astfel incat, se poate opta intre diferiti provideri in functie de
ce criterii doreste utilizatorul a fi implementate.
3.2 Utilizarea aplicatiei mobile
In momentul in care aplicatia este pornita, utilizatorul are optiunea de a-si crea un cont,
informatiile care trebuiesc introduse rezumandu-se doar la nume, adresa de email si setarea unei
parole. Interfata acestei activitati este foarte simpla, intuitiva si nu prezinta dificultati, este afisata in
imaginea de mai jos. Dupa ce utilizatorul si-a introdus datele de conectare, aplicatia afiseaza pozitia
dispozitivului pe harta GoogleMaps, optiunile fiind extrem de limitate, intrucat scopul aplicatiei, in
aceasta forma prevede strict optiunea de tracking a locatiei intr-o aplicatie web.
35
36
3.3 Dezvoltarea aplica ț iei web
Pentru dezvoltarea aplica ț iei web am avut nevoie de un server web, de PHP ș i MySQL ș i am
considerat XAMPP ( https://www.apachefriends.org/index.html ), un pachet de programe cu sursă
deschisă, ca fiind cea mai rapidă ș i mai facilă solu ț ie pentru a ob ț ine un server local, fără cuno ș tin ț e
de instalare ș i configurar e de servere. Pa ș ii sunt simpli, descărca rea unei arhive, dezarhivarea ei ș i
instalarea programelor. Prin căteva click-uri am ob ț inut un server web cu PHP ș i un server de baze
de date. Pentru construc ț ia aplica ț iei web am folosit Codeign iter (https://codeigniter.com/), un
framework PHP care permite construirea de aplica ț ii web dinamice, bazându-se pe modelul MVC
(model-view-controller) care realizează separarea logicii de interfa ț a grafică.
Alica ț ia web presupune existen ț a unei hăr ț i pe care să fie vizibile toate caminoanele, cu
posibilitatea de a da click pe marker ș i de a afla nume ș oferului, viteza ș i loca ț ia în care se află.
Figura de mai jos prezintă implementarea acestei interfe ț e.
Toate semnele de marcaj ( pin -urile) de pe hartă reprezintă loca ț iile transmise de
dispozitivele Android ș i salvate apriori în baza de date. Primul pas este introducerea hăr ț ii în pagina
web, urmată de desenarea punctelor de marcaj ș i de redesenarea (reflesh) lor la un anumit interval
de timp. Toate acestea sunt realizate prin intermediul func ț iei load() , care con ț ine următorul cod
JavaScript:
37
function load() {
var map = new google.maps.Map(document.getElementById("map"),
{
center: new google.maps.LatLng(46, 24),
zoom: 6,
mapTypeId: 'roadmap'
});
var infoWindow = new google.maps.InfoWindow;
getxml(infoWindow);
var interval = window.setInterval( function() {
getxml(infoWindow,map); }, 5000 );
}
Pentru a desena harta în pagină se folose ș te API-ul oferit gratuit de Google ș i apelat înainte
de introducere codului de mai sus prin următoarea linie de cod:
<script
type="text/javascript"
src=" https://maps.googleapis.com/maps/api/js?key=AIzaSyCefOgb1ZWqYtj7raV
SmN4PL2WkTrc-KyA ">
</script>
Centrul hăr ț ii se poate stabili cu instruc ț iunea new google.maps.LatLng(46, 24) care
prime ș te ca parametri latitudinea ș i longitudinea. De asemenea, se mai pot stabili nivelul de zoom al
hăr ț ii ( zoom: 6 ) ș i tipul e i ( mapTypeId: 'roadmap' ).
Odată desenată harta, se face o primă interogare a bazei de date ș i desenarea marcajelor care
reprezintă loca ț ia dispoz itivelor Android (func ț ia getxml(infoWindow ). Prin intermediul func ț iei
window.setInterval( function() { getxml(infoWindow,map); }, 5000 ) se reapelează
func ț ia getxml(infoWindow ) la un interval de 5000 de ms, în acest caz, reapelare care determină o
nouă interogare a bazei de date ș i o nouă redesenare a marcajelor, în func ț ie de ultimele înregistrări
din baza de date.
În secven ț a de cod de mai jos se realizează:
– interogarea bazei de date (comanda SELECT * FROM tbl_location este utilizată
pentru a returna toate înregistrările din tabela tbl_location)
– crearea ș i pregătirea marcajelor pentru pozi ț ionarea lor pe hartă se fac prin
următoarea secven ț ă de cod.
$result=$this->db->query("SELECT * FROM tbl_location")->result_array();
$output = "<markers>";
38
if (count($result)>0) {
for ($i=0;$i<count($result);$i++) {
$output.='<marker ';
$output.= 'name="'.$result[$i]['name'].'" ';
$output.= 'speed="Speed : '.$result[$i]['speed'].' " ';
$output.= 'location="location : '.$result[$i]['location'].' " ';
$output.= 'lat="' . $result[$i]['latitude'] . '" ';
$output.= 'lng="' . $result[$i]['longitude'] . '" ';
$output.= 'type="Family member" ';
$output.= '/>';
}
}
$output.="</markers>";
La un click pe oricare dintre marcajele de pe hartă ob ț inem informa ț ii cu privire de ș ofer,
viteză ș i localizare, după cum se poate vedea în cele două figuri de mai jos. în momentul în care
cele 5000 de ms au trecut ș i se face o nouă interogare a bazei de date, deci o reactualizare a
marcajelor pe hartă, caseta cu informa ț iile suplimentare va dispărea.
39
40
Concluzii
41
Bibliografie
“Android History.” Android Central , 21 Oct. 2015. Web. 19 June 2016.
“Global Smartphones Sales by Operating System 2009-2015 | Statistic.” Statista , Web. 19 June 2016.
Guru, and Guru. “Top 10 Mobile Phones Operating Systems.” ShoutMeLoud 23 Aug. 2012. Web. 20 June
2016.
“History of Cell Phones -.” N.p., n.d. Web. 20 June 2016.
“History of the Web.” World Wide Web Foundation . Web. 19 June 2016.
ICT Facts&Figures, The World în 2015 ., Web. 23 June 2016.
Ingram, Mathew. “Gigaom | Mary Meeker: Mobile Internet Will Soon Overtake Fixed Internet.”, n.d. Web.
18 June 2016.
“Mobile Marketing Statistics 2016.” Smart Insights ., 27 Apr. 2016. Web. 19 June 2016.
Nair, Rajeesh. “Internet & Mobile Phone Users Worldwide 2015: 50% Population Is On Internet
[REPORT].” Dazeinfo , 27 May 2015. Web. 23 June 2016.
“Number of Internet Users (2016) – Internet Live Stats.” , Web. 19 June 2016.
“Smartphone OS Global Market Share 2009-2016 | Statistic.” Statista , Web. 18 June 2016.
Srivastava, Anshul. “2 Billion Smartphone Users By 2015: 83% of Internet Usage From Mobiles [Study].”
Dazeinfo . N.p., 23 Jan. 2014. Web. 20 June 2016.
“The History of Mobile Phones From 1973 To 2008: The Handsets That Made It ALL Happen.” Know Your
Mobile ., Web. 20 June 2016.
“The Mobile Economy 2015.” GSMA Intelligence , Web. 20 June 2016.
Williams, Rhiannon. “Apple iOS: A Brief History.” Telegraph.co.uk , 17 Sept. 2015. Web. 20 June 2016.
42
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: Android Licenta Draft1 [615743] (ID: 615743)
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.
