Java este principala tehnologie pentru dezvoltarea aplicatiilor
folosing cod gestionat ce se poate executa pe dispozitive mobile.
Android este o platforma software open source si are sistem de
operare bazat pe Linux pentru dispozitive mobile. Platforma Android le permite dezvoltatorilor sa scrie cod gestionat folosind limbajul de programare Java si SDK-ul Android. Asadar, familiarizarea cu elementele de baza ale limbajului de programare Java este o conditie necesara pentru programarea pe platforma Android.
Limbajul de programare Java a aparut la mijlocul anilor 1990, a
fost creat de James Gosling din Sun Microsystems. De altfel, Sun Microsystems a fost cumparat de atunci de Oracle. Java a fost foarte popular in intreaga lume, in principal datorita unei game numeroase functii pe care le ofera. Promisiunea Java de a “scrie odata si a rula oriunde” (“Write once and run anywhere”) a fost unul dintre factorii majori pentru succesul Java in ultimele decenii. Java a facut chiar incursiuni in tehnologia procesoarelor incorporate, Java Mobile Edition a fost inventat pentru crearea aplicatiilor care pot rula pe dispozitive mobile. Toate acestea, adaugate la cresterea istorica a Java, au fost factorii primari care s-au atribuit deciziei de adoptare a Java ca limbaj de dezvoltare primar pentru construirea de aplicatii care ruleaza pe Android. Programele Java sunt sigure, deoarece se executa intr-un mediu sandbox. Programele scrise in Java sunt compilate in cod intermediar cunoscut sub numele de bytecode. Acest bytecode este apoi executat in contextual masinii virtuale Java.
Editia mobila a Java se numeste Java ME. Java ME are la baza
Java SE si este acceptat de majoritatea smartphone-urilor si tabletelor. Java Platform Micro Edition (Java ME) ofera un mediu flexibil, sigur, pentru construirea si executarea aplicatiilor care vizeaza dispozitive movile si incorporate. Aplicatiile care sunt construite folosind Java ME sunt portabile, sigure si pot profita de capacitatile native ale dispozitivului. Java ME abordeaza constrangerile care sunt implicate in construirea aplicatiilor care sunt vizate dispozitivelor mobile. In esenta, Java ME se confrunta cu provocarea de a executa aplicatii pe dispozitive care au un nivel scazut de memorie, afisare si putere.
Exista mai multe modalitati de a construi aplicatii pentru
dispozitive Android, dar abordarea recomandata este folosirea limbajului de programare Java si a SDK-ului Android.
Platforma Android foloseste masina virtuala Dalvik( Dalvik VM)
pentru memorie, securitate, dispozitiv si gestionarea proceselor. Desi complexitatea interna a modului in care functioneaza masina virtuala Dalvik nu este atat de importanta pentru un dezvoltator mediu, ne putem gandi la Dalvik VM ca o caseta care ofera ne ofera mediul necesar pentru a executa o aplicatie Android fara a fi nevoie sa va faceti griji de dispozitivul tinta.
Pentru a incepe folosirea Java pentru Android, mai intai este
nevoie de descarcarea si instalarea Android Studio. Apoi se poate profita de SDK Manager pentru a descarca si instala cele mai recente instrumente si platforme SDK.
Se scriu aplicatii Android in limbajul de programare Java utilizand un IDE
numit Android Studio. Bazat pe software-ul Intellij IDEA al JetBrains, Android studio este un IDE conceput special pentru dezvoltarea Android. Arhitectura sistemului de operare Android cuprinde cinci secțiuni grupate pe patru niveluri:
Kernelul Linux (cu unele modificări) 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 Binder, sistemul de comunicație inter-proces, a fost adaptat, întrucât reprezintă mediul de comunicație principal dintre aplicații și sistemul de operare, inclusiv funcțiile (serviciile) dispozitivului mobil; expunerea sa este realizată prin intermediul AIDL (Android Interface Definition Language) prin care pot fi manipulate obiecte transformate în primitive utilizate la comunicația propriu-zisă dintre aplicații și sistemul de operare
Logger, sistemul de jurnalizare, este esențial în cazul în care trebuie
realizată depanarea aplicațiilor, în special pentru a detecta anumite situații particulare (informații cu privire la rețea, senzori); acesta este capabil să agrege datele provenite atât de la aplicația propriu-zisă cât și de la sistemul de operare, datele fiind disponibile prin intermediul unor utilitare specializate; sistemul prin intermediul căruia se previne transferul sistemului de operare într-o stare de latență (wake locks), în care consumul de energie este redus, întrucât se blochează execuția oricărei aplicații; utilizarea unui astfel de mecanism trebuie realizată cu precauție, întrucât poate determina epuizarea bateriei; sistemul de alarme oferă posibilitatea ca anumite sarcini să fie planificate la anumite momente de timp, putând fi executate, chiar dacă sistemul de operare se găsește într-o stare de latență; Viking Killer este un mecanism prin care sistemul de operare revendică memoria utilizată, atunci când nivelul acesteia atinge un anumit prag (aplicațiile Android care au fost rulate anterior sunt de regulă stocate în memorie pentru a se putea comuta rapid între ele, de vreme ce încărcarea în memorie este o operație costisitoare);
Rezumat: Programele care vizeaza platforma Android sunt scrise in
Java si executate de masina virtuala Dalvik(DVM). Editia mobila a Java se numeste Java ME. Java ME are la baza Java SE si este acceptat de majoritatea smartphone-urilor si tabletelor. Aplicatiile Android se scriu in limbajul de programare Java utilizand Android Studio.