Dezvoltarea Dispozitivelor Mobile

Prezentarea temei

Stilul de viață tot mai agitat al societății actuale a dus la o nevoie tot mai mare de a aduce aplicațiile specifice computerelor în lumea dispozitivelor mobile. Utilizarea telefonului mobil pentru mai mult decât a telefona, a determinat o creștere a diversității dispozitivelor mobile, fiind tot mai ușor de integrat în rutina noastră de zi cu zi. De la telefoane care pot concura prin caracteristici cu computerele personale, la tablete sau chiar ochelari și ceasuri cu funcții remarcabile, toate se regasesc în jurul nostru și deja sunt o parte obișuită din viața nostră.

Scurt istoric

Făcând o scurt rezumat a dezvoltării dispozitivelor mobile de la apariția lor, aflăm că prima punere în practică a conceptului de telefonie mobilă s-a concretizat în anul 1910, când inventatorul suedez Lars Magnus Ericsson și-a instalat un dispozitiv în mașina personală, cu care se putea conecta la rețeaua națională, în timpul deplasărilor sale prin țară. Totuși, din acel moment până la un dispozitiv asemănător a ceea ce reprezintă azi telefonul mobil, a fost nevoie de rezolvarea mai multor probleme care făceau ca utilizarea dispozitivului mobil să nu fie una ușoară sau eficientă, fie că însemnă rezolvarea problemei greutății dispozitivului (începănd de la 40 de kilograme, în anul 1956), fie rezolvarea piedicilor în ceea ce privește aria de acoperire a semnalului dispozitivului.

Un pas important în dezvoltarea telefoniei moderne se face în anul 1973, când compania Motorola, prin angajatul său Dr. Martin Cooper, realizează o convorbire cu un telefon mobil bazat pe undele radio, Motorola DynaTAC, în New York. Din acest moment mai este nevoie de doar șase ani până la prima lansare în scop comercial al telefoanelor mobile, eveniment ce a avut loc în Tokio în 1979. Această primă generație realiza transmisiile în sistem analog, din cauza căreia apăreau interferențe legate de electricitate și de zgomot.

Rezolvarea problemelor de interferențe s-a făcut în anul 1991, o dată cu lansarea celei de a doua generații. Aceasta era bazată pe sisteme GSM (Global System for Mobile Communication) și transmisia se realiza în sistem digital. Pe lângă rezolvarea problemelor anterioare, acestă generație a venit și cu noi servicii cum sunt mesajele de tip SMS (Short Message Service), accesul la fișiere multimedia (descărcarea tonurilor de apel).

Sistemul de operare Android

Una dintre primele decizii care trebuiesc luate în dezvoltara unei aplicații mobile, este alegerea sistemului de operare cu care vrem ca aplicația noastră să fie compatibilă. Principalele sisteme de operare și cele care ocupă cea mai mare parte a pieței dispozitivelor mobile în momentul de față, sunt Android și iOS. Alegerea dintre cele două trebuie făcută luând în considerare avantajele și dezavantajele fiecăruia și analizând care este cel mai potrivit în funcție de populația țintă și scopul aplicației noastre.

IOS (inițial numit iPhone OS) este un sistem de operare creat si dezvolatat de care compania Apple, fiind distribui exclusiv alături de hardware Apple. Cele mai importante cerințe pentru dezvoltarea aplicațiilor pentru acest sistem de operare sunt: un computer cu sistemul de operare OS X 10.8 (Mountain Lion) sau mai nou, care conține mediul de dezvoltare Xcode care, cu ajutorul software development kit-ului (SDK) pentru iOS, permite dezvoltarea de aplicații, iar o alta cerință este necesitatea de a știi Objective C, limbaj de programare folosit de în compania Apple.

Sistemul de Operare Android este cuprins în noul val de sisteme de opeare pentru mobile și se află într-o continuă creștere de popularitate. Spre deosebire de alte sisteme de operare, Windows Mobile,Apple iPhone și Palm Pre care sunt contruite pe sisteme de operare care prioritizează dezvoltare aplicațiilor native, Android oferă noi posibilități pentru aplicațiile mobile, deoarece oferă un mediu de dezvoltare open-source. Accesul la hardware-ul dispozitivelor mobile se face prin intermediul unor librării (API), iar ineracțiunea dintre aplicații, deși este controlată, este suportată în întregime.

1 Arhitectura sistemului Android

Sistemul de operare Android este o stivă de componente software, care sunt împărțite în cinci secțiuni, care la rândul lor, pot fi structurate pe patru nivele.

Kernelul Linux este cel mai de jos nivel al Androidului, iar versiunea sa curentă este Linux Kernel 3.6 . Acesta oferă un nivel al abstractizării între hardware-ul dispozitivului și conține driver-ele pentru diferitele componente hardware (ecran, cameră foto, tastatură, antenă WiFi, memorie flash, dispozitive audio), fiind responsabil cu gestiunea proceselor, memoriei, perifericelor (audio/video, GPS, WiFi), dispozitivelor de intrare/ieșire, rețelei și a consumului de energie.

Biblitecile Androidului sunt liantul dintre kernel și aplicații. Printre aceste biblioteci se află motorul de căutare open-source WebKit, librăria libc (Bionic), baza de date SQLite utilizată atât ca spațiu de stocare cât și pentru partajarea datelor specifice aplicațiilor, biblioteci utilizate pentru redarea și înregistrarea de fișiere audio și video, Librării SSL responsabile pentru securitatea pe internet și multe altele.

Al doile nivel a arhitecturii sistemului, pe lângă bibliotecile specifice, se mai află Android Runtime. Acest segment este alcătuit dintr-un set de biblioteci ale procesorului, care permit dezvoltatorilor de aplicații Android să folosească limbajul standard de programare Java. Pe lângă aceste biblioteci se mai află și mașina virtuală dezvoltată și optimizată pentru Android, numită Dalvik. Acestă mașină virtuală utilizează regiștri, fiind echipată cu un compilator JIT (just-in-time), executabilul obținut putând fi modificat când este instalat pe dispozitivul mobil. Întrucât este utilizată o bibliotecă proprie ce pornește de la un subset al implementării Java realizată de Apache Harmony, nu sunt conținute pachetele pentru AWT / Swing, imprimare sau alte componente speciale. De asemenea, se permite ca fiecare aplicație Android să ruleze în procesul propriu, într-o instanță a mașinii virtuale Dalvik.

Framework-ul pentru Aplicații este al treiea nivel al arhitecturii. Aceste oferă servcii de nivel înalt sub formă de clase Java, astefl încât proramatorii le pot folosi în dezvoltarea aplicațiilor lor. Aceasta este prima parte în care programatoru are contact direct cu sistemul de operare.

Aplicațiile reprezintă cel mai înalt nivel al sistemului de operare. Prin acest nivel se face legătura cu utilizatorul, aici fiind instalate toate aplicațiile și widget-urile care îi sunt destinate. Ca dezvoltatori, avem posibilitatea de a înlocui orice aplicație deja existentă a sistemului. Acest lucru ne dă libertatea de a folosi orice resurse, atâta timp câ utilizatorul acceptă permisiunile cerute.

2 Caracteristicile și specificațiile sistemului

Activități

Din punct de vedere al utilizatorului, cea mai impotantă componentă a sistemlui de operare Android, sunt activitățile. Acestea sunt liantul dintre utilizator și aplicație, oferind ferestre cu care utilizatorul va interacționa. Diferind față ce alte sisteme de operare, în Android,în general într-un moment de timp, se va afișa o singură fereastră pe ecranul dispozitivul, dar există și situații în care ferestrele vor pluti deasupra altor ferestre. De asemenea, legătura dintre ferestrele aplicației este aceea că o fereastră va da naștere mai multor ferestre, iar prima, cea care apare în momentul lansării aplicației, este considerată fereastra principală. De fiecare dată când o activitate nouă este pornită, activitatea din care s-a plecat se va opri, însă ea este păstrată într-o stivă folosită pentru naviga înapoi folosind butonul back.

Din punct de vedere al programatorului, activitățile sunt clase care se extind din clasa Activity, iar interacțiunea cu această clasă se va face prin evenimente. La generarea fiecărei clase de tip Activitate, acesteia i se va atribui un fisier de tip XML. Acest fișier conține design-ul interfeței grafice, care include elementele ferestrei, care la rândul lor au anumite caracteristici: poziționarea, dimensiunile, culoarea, textul de pe ele. Pentru setarea fiecărei proprietăți se va scrie un parametru de tip proprietate = „valoare”.

Pentru a face legătura dintre elementele fișierului XML si fișierul JAVA, este nevoie să mai adăugăm o proprietate elementului numită ID, în fișierul XML, iar în fișierul JAVA vom indentifica elementul dorit prin funcția „findViewById(R.id.ID)”.

Fiecare activitate a unei aplicții are propria stare, iar datele acesteia pot fi salvate sau restaurate.Fiecare activitate are propriul său ciclu de viață, independent de ciclul de viață al procesului asociat aplicației. Acesta arată starea în care se află o activitate la un moment dat.

O activitate va conține câteva metode de callback, cu ajutorul cărora se va modifca starea curentă a aplicației. Aceste metode sunt:

onCreate(Bundle) – În această metodă se fac setările globale, spre exemplu stabilirea layoutului. Când activitatea este creată folosind argumentul metodei de tip Bundle există posibilitatea a restabiliti starea activității, salvate într-o sesiune anterioară. O dată cu această metodă începe și viața activității.

onStart() – Apelată în mometul în care activitatea urmează să fie afișată. Începând cu acestă metodă, activitatea este vizibilă și în prim-plan.

onPause() – Metoda prin care activitea este întreruptă, pierde prim-planul și este mutată în fundal.

onResume() – Se va apela în momentul în care activitatea redevine vizibilă

onStop() –Apelata în cazul în care activitatea nu mai este utilizată și nu mai este vizibilă

onDestroy() – Metoda este apelată în cazul în care activitatea este distrusă , iar memoria sa eliberată. În acest moment se termină și viața activității.

În funcție de metoda apelată într-un anumit moment, de-a lungul duratei de viață a activității, aceasta se poate afla în trei stări:

Activă – Activitatea a fost creată/pornită și este afisată pe ecranul dispozitivului

În stare de pauză – Activitatea pierde focus-ul

Oprită – activitatea nu mai este în uz

Distrusă – activitatea este distrusă și memoria este eliberată

FRAGMENTE

GOOGLE CALENDAR API

Application Programming Interface (prescurtat API) reprezintă denumirea în limba engleză a unei interfețe pentru programarea de aplicații. Acestea sunt un set de rutine, protocoale și unelte pentru dezvoltarea aplicațiilor software.

Similar Posts