Sunteți pe pagina 1din 10

CAPITOLUL I

Sisteme de operare pentru dispozitive mobile

1.1 Noiuni generale despre SO pentru aplicaiile mobile.

Un sistem de operare, prescurtat SO (englez Operating system, prescurtat OS), reprezint un


produs de tip software care este parte component a unui sistem, echipament sau aparat
computerizat, i care se ocup de gestionarea i coordonarea activitilor acestuia. Sistemul
computerizat poate fi un computer, o staie de lucru (workstation), un server, un PC, un notebook,
un netbook, un smartphone, un aparat de navigaie rutier, un e-book reader sau unele aparate de uz
casnic, precum i playerele multimedia. Sistemul de operare joac i rolul de gazd pentru aplicaiile
care ruleaz pe echipamentul (hardwareul) respectiv.
Un sistem de operare mobil, cunoscut i ca platform de mobil, sau smartphone, este sistemul de
operare care controleaz un dispozitiv mobil. Sistemul de operare mobil este n principiu similar cu
sistemele de operare Linux sau Windows, ce controleaz desktop-ul unui computer. Sistemele de
operare mobile au devenit extrem de populare n prezent, iar majoritatea lor se bazeaz pe Linux.
Aceste sisteme de operare au aprut odat cu evoluia procesoarelor i memoriilor RAM care au
permis tot mai multe procese i multitasking.
Performana sistemelor de operare mobile depinde att de kernel ct i de optimizarea lor. n timp
ce unele sisteme ruleaz foarte bine cu doar 256 MB de RAM i procesor mic de doar 1 GHz, altele
necesit un minim de 512 MB de RAM i procesor mai nou (cel puin dual core).
Android este cel mai popular sistem de operare mobil. Acest sistem de operare a fost sub
licen Apache, iar din 21 octombrie 2008, Google a deschis ntregul cod surs fiind disponibil
ca Open Source.
iOS este bazat pe Unix, disponibil pe produse Apple: Iphone, iPad, iPod i Apple TV
Windows Phone dezvoltat de Microsoft, succesorul Windows Mobile.
BlackBerry OS sistem de operare proprietar ce ruleaz pe smartphon-urile din gama BlackBerry.
A fost dezvoltat de compania canadian Research In Motion (RIM), acum cunoscut sub numele
de Blackberry.
Principalele sisteme de operare mobile Android, iOS, Windows Phone i Blackberry OS,
reprezentau aproape ntreaga cot de pia n anul 2014.
Symbian a fost primul sistem de operare mobil, i cel mai popular pn la apariia iOS i
Android. A fost realizat prin colaborarea a patru companii printre care Nokia, Ericsson,
Motorola i Psion.
OpenMoko aprut n 2006, pe dispozitivul FIC GSM Neo1973, bazat pe Linux.
QtMoko a urmat dup OpenMoko.
Maemo 5 a fost un sistem de operare utilizat de Nokia doar pe telefonul Nokia N900.
Firefox OS sau Boot to Gecko (B2G) este dezvoltat de Mozilla i are ca nucleu Linux. Este un
sistem de operare complet ce poate rula aplicaii HTML5, JavaScript, devenind un concurent
pentru Android i iOS. Primul telefon cu Firefox OS a fost ZTE Open lansat n data de 2 iulie
2013, pentru piaa low-end.
Ubuntu Touch un sistem nou aprut n 2014.
MeeGo a fost predecesorul Sailfish OS, care a fost implementat doar pe dou telefoane, Nokia
N950 i Nokia N9.
Mer derivat din MeeGo.
Sailfish OS este un sistem de operare rulnd pe smartphone-ul Jolla. Este o continuare a lui
MeeGo i ofer posibilitatea rulrii aplicaiilor Android.
Tizen aprut n 2014, dezvoltat de Intel i Samsung pe platform Linux. Tizen va aprea chiar i
pe electrocasnice printre care i frigidere.
Plasma Phone OS aprut recent, n 2015, este conceput de KDEPlasma Mobile; se pot rula
aplicaii bazate pe Qt cum ar fi Plasma, Sailfish OS, Ubuntu Touch, Nemo.
Opera TV, un sistem de operare pentru TV.

1.2 Noiuni generale despre aplicaiile mobile pe SO android.


O aplicatie mobila Android este un program software care ruleaza pe un dispozitiv cu sistem de
operare Android. Deoarece sistemul Android este folosit pentru dispozitivele mobile, o aplicatie
Android tipica este facuta sa functioneze pe un smartphone sau pe o tableta cu Android. Aplicatiile
mobile Android se pot descarca din magazinul de aplicatii Google - Google Play.
Dupa scopul pentru care au fost realizate, aplicatiile se pot imparti in mai multe categorii. O
aplicatia mobila Android pentru companiiare ca scop punerea utilizatorilor in contact cu informatiile
pe care le furnizeaza o firma. Aceste informatii pot fi: servicii, produse, cataloage etc.
O aplicatie tipica care prezinta produsele unei firme contine mai multe pagini:
- prezentarea informatiilor de contact ale firmei (denumire, adresa, telefoane, harta, etc);
- prezentarea categoriilor de produse;
- pagina unui produs (imagini, specificatii etc);
- cosul de cumparaturi;
- pagina de comanda.
Traim intr-o lume in care viteza si calitatea informatiilor sunt cele mai importante lucruri cautate de
utilizatori. Sa luam ca exemplu o aplicatie care prezinta o cafenea. Un utilizator va dori sa stie: unde
se gaseste cafeneaua, ce program are, ce produse poate gasi si la ce preturi. Un plus ar fi o lista de
evenimente care se organizeaza in acel loc.
Vom incepe cu o pagina care sa prezinte cafeneaua. Pe pagina vor aparea butoanele de Meniu,
Comanda, Oferte Speciale, Adresa, Contact etc. Produsule trebuiesc grupate in categorii: Bauturi
calde, Bauturi reci, Bauturi alcoolice, Gustari, Prajituri etc. Vom avea o pagina de categorii de
produse si o alta pentru produsele efective.
Un utilizator obisnuit poate sa afle din cateva click-uri ce poate gasi in cafenea si unde. Un atuu
important este ca din aplicatie se poate apela direct telefonul de contact al cafenelei pentru o
eventuala rezervare de locuri. Sa luam un alt exemplu: un magazin care vinde produse de
imbracaminte. In acest caz, produsele sunt impartite pe categorii si subcategorii: Haine pentru femei,
Haine pentru barbati, Haine pentru copii, iar acestea, la randul lor, sunt impartite in Pantaloni, Geci
etc. Magazinul are si o oferta a zilei pentru produse care beneficiaza de o reducere importanta.
Modul de comanda pentru produse este simplu: utilizatorul poate sa sune firma direct din aplicatie,
din pagina unui produs pe care il considera interesant sau il poate introduce intr-un cos de
cumparaturi, urmand ca la sfarsit, sa trimita intreaga comanda catre firma.

- Deci, totusi, ce este o aplicatie mobila Android?


- Este o modalitate prin care putem obtine informatii sau putem face cumparaturi cat mai usor de
pe dispozitivele care sunt aprope toata ziua la indemana noastra: telefonul mobil sau tableta
PC.
Exemple de imagini dintr-o aplicaie:

1.3 Cerine pentru dezvoltarea unei aplicaii Android

Pentru dezvoltarea unei aplicaii Android sunt necesare:


1. kit-ul de dezvoltare pentru limbajul de programare Java
2. SDK-ul de Android, pentru care se descarc definiiile corespunztoare unuia sau mai
multor niveluri de API
3. un mediu integrat de dezvoltare (IDE)
Eclipse, cu plugin-ul ADT (Android Developer Tools)
Android Studio
4. un dispozitiv pe care s se ruleze aplicaiile
un emulator
Genymotion
Android Virtual Device (livrat mpreun cu SDK-ul de Android)
un telefon mobil cu sistemul de operare Android pentru care s-a dezvoltat aplicaia

Pentru a se putea rula o aplicaie pe un dispozitiv mobil fizic, trebuie s se activeze posibilitatea
de depanare prin USB, din Settings System Developer Options. Aceast opiune trebuie
activat, ca de altfel i opiunea Debugging Android Debugging (pe unele sisteme poate aprea
ca USB Debugging). (img.1)
n situaia n care opiunea Developer Optionsnu este disponibil.Aceasta poate fi vizualizat prin
intermediul modului Developer, obiunut prin apsarea de mai multe ori asupra opiunii Build
Number din seciunea Settings System About Phone. (img.2)
1.4 Funcionaliti Android
De vreme ce Android este un produs open-source, productorii avnd posibilitatea de a-l modifica n
mod gratuit, nu exist configuraii hardware sau software standard. Totui, Android implementeaz
urmtoarele funcionaliti:
stocare - folosete SQLite, o baz de date relaional ce utilizeaz resurse puine
conectivitate - suport GSM/CDMA, GPRS, EDGE, 3G, IDEN, EV-DO, UMTS, Bluetooth
(inclusiv A2DP si AVRCP), WiFi, LTE, WiMAX
WiFi Direct - tehnologie care permite aplicaiilor s se descopere i s se interconecteze
peste o conexiune punct-la-punct avnd lime de band mare
Android Beam - o tehnologie bazat pe NFC (Near Field Communication) care permite
utilizatorilor s partajeze coninut instant, prin apropierea dispozitivelor mobile respective
mesagerie - att SMS ct i MMS
navigare pe Internet - bazat pe motorul open source pentru navigare WebKit impreun cu
motorul JavaScript de la Chrome V8 suportnd HTML5 i CSS3
multimedia - suport formatele H.263, H.264 (ntr-un container 3GP sau MP4), MPEG-4
SP, AMR, AMR-WB (ntr-un container 3GP), AAC, HE-AAC (ntr-un container MP4 sau
3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF si BMP
grafic - 2D optimizat, 3D (OpenGL ES)
senzori - accelerometru, camer foto, busol digital (magnetometru), senzor de proximitate,
GPS / AGPS
multi-touch - suport ecrane cu posibilitate de contact n mai multe puncte concomitent
multi-tasking - permite rularea de aplicaii cu mai multe fire de execuie
GCM (Google Cloud Messaging) - serviciu ce permite dezvoltatorilor s trimit date de
dimensiuni mici ctre utilizatori pe dispozitive Android, fr a avea nevoie de o soluie de
sincronizare proprietar
multi-Language - suport pentru text unidirecional i bidirecional
suport pentru aplicaii Flash (pn n versiunea 4.3)
legtur la Internet - suport partajarea conexiunilor la Internet ca punct de distribuie cu
fir / fr fir

1.5 Sisteme de control a versiunilor

Ce este un sistem de control al versiunilor?


Un sistem de control al versiunilor (eng. VCS - Version Control System) este un mecanism prin
intermediul cruia sunt gestionate fiiere / proiecte n dinamic (pe msur ce sunt modificate), n
scopul de a se putea realiza revenirea la o anumit stare n caz de eroare (restaurarea unei versiuni
stabile) i pentru a permite colaborarea ntre mai multe echipe care lucreaz concomitent la diferite
funcionaliti ale unui acelai proiect.
Dei n mod curent astfel de produse sunt folosite pentru dezvoltarea de aplicaii (urmrindu-se o
gestionare eficient a codului surs i a utilizatorilor care implementeaz anumite funcionaliti sau
corecteaz defecte), ele pot fi folosite i pentru alte tipuri de proiecte, ce implic lucrul cu fiiere
binare, pentru care diferenele ntre diferite versiuni se realizeaz mai dificil.

Clasificarea sistemelor de control al versiunilor


n prezent, sunt folosite trei tipuri de sisteme de control a versiunilor, fiecare dintre acestea fiind
adecvate unei anumite situaii:
1. sisteme locale de control a versiunilor, n cazul n care se dorete monitorizarea
variantelor unui fiier exclusiv pe discul local; n baza de date, versiunile sunt
reinute sub forma diferenelor (rezultatul comenzii diff) dintre versiuni succesive,
astfel c se poate reveni oricnd la o stare anterioar (exemplu: rcs);
2. sisteme centralizate de control a versiunilor implic stocarea diferenelor dintre
versiuni ntr-o baz de date rezident pe un server dedicat, la care au acces toi
utilizatorii implicai, astfel nct fiecare poate consulta versiunea curent (exemple:
CVS, Subversion, Perforce);
avantaje: posibilitatea de colaborare ntre echipe care lucreaz la acelai proiect,
stabilirea de drepturi cu privire la fiierele ce pot fi ncrcate pe server de fiecare
utilizator n parte;
dezavantaje: n cazul cnd serverul dedicat pe care gsete baza de date cu tot
istoricul versiunilor se defecteaz, exist riscul de a se pierde toate aceste
informaii (dac nu exist copii de siguran), pstrndu-se doar versiunile
salvate pe mainile utilizatorilor; mai mult, ntr-o astfel de situaie utilizatorii se
afl n incapacitatea de a mai transmite propriile modificri i de a consulta
modificrile celorlali;
3. sisteme distribuite de control a versiunilorn care consultarea strii actuale a unui
fiier presupune i descrcarea, pe discul local, a ntregului istoric de modificri
astfel nct acesta s poat fi reconstituit n situaii precum defectarea serverului; de
asemenea, acestea au capacitatea de a gestiona mai multe depozite aflate la distan,
chiar n cazul n care acestea conin acelai proiect, permind stabilirea unor
anumite fluxuri de transmitere a informaiei (exemple: Git, Mercurial, Bazaar,
Darcs);

1.6 Crearea unei aplicaii Android utiliznd platforma Android Studio


Pentru a crea o aplicaie Android se selecteaz Start a New Android Studio project.

Configurarea proiectului presupune specificarea unor parametri:


denumirea aplicaiei;
domeniul companiei care dezvolt aplicaia respectiv.
Pe baza valorilor introduse, se genereaz denumirea pachetului care va identifica n mod unic
aplicaia. Acesta este format din domeniu (scris n form invers) la care se adaug denumirea
aplicaiei (din care sunt eliminate caracterele albe).
De asemenea, este necesar s se indice locaia la care va fi plasat proiectul respectiv.

Se indic platforma creia i este destinat aplicaia Android:


dispozitiv mobil (telefon sau tablet), caz n care trebuie s se precizeze valoarea minim a
nivelului de API pentru care se dezvolt aplicaia (cea mai sczut valoare a platformei pe
care poate rula aplicaia);
obiect vestimentar (ceas, brar);
televizor;
dispozitiv pentru automobil;
ochelari inteligeni. (img.1)

Este selectat tipul de actvitate care va fi vizualizat n momentul n care aplicaia Android este
pornit (Blank Activity, Empty Activity, Fullscreen Activity, Google AdMob Activity, Google Maps
Activity, Login Activity, Master/Detail Flow, Navigation Drawer Activity, Scrolling Activity, Settings
Activity, Tabbed Activity). (img.2)

Se stabilete o denumire pentru activitatea principal, precum i denumirea fiierelor n care vor
fi plasate structura interfeei grafice, respectiv a meniului asociat. Se poate preciza, de asemenea,
folosirea de fragmente n cadrul activitii. (img.3)
(img.1)

(img.2)
(img.3)
Se apas butonul Finish.

Rularea unei aplicaii Android se face prin intermediul unei pictograme asociate unei liste de
selecie, n care sunt plasate toate aplicaiile disponibile n cadrul mediului integrat de dezvoltare. Se
poate folosi i prescurtarea Shift + F10.

Utilizatorul are posibilitatea de a selecta dispozitivul pe care va fi rulat aplicaia, dintre cele
conectate la maina pe care se ruleaz.
Tema pentru acas
1. S se elaboreze o schem (MS Word) cu privire la toate versiunile SO android mpreun cu data
apariiei acestora i ce schimbri s-au efectuat.
2. Referat Arhitectura SO android.