Differences

This shows you the differences between two versions of the page.

Link to this comparison view

eim:laboratoare:laborator01 [2020/02/19 22:39]
dragos.niculescu
eim:laboratoare:laborator01 [2022/05/30 09:46] (current)
dragos.niculescu [Caracteristici (obligatoriu)]
Line 4: Line 4:
  
 ==== Android - Prezentare Generală ===== ==== Android - Prezentare Generală =====
 +<​spoiler>​
 Android este un SO mobil bazat pe o versiune modificată de Linux (pentru gestiunea componentelor hardware, a proceselor și a memoriei) și biblioteci Java (pentru telefonie (audio/​video),​ conectivitate,​ grafică, programarea interfețelor cu utilizatorul). Este un produs open-source (putând fi dezvoltat de producătorii de dispozitive mobile cu extensii proprietare pentru a-și particulariza platforma), dezvoltat în prezent de compania Google, conceput pe ideea transformării dispozitivelor mobile în adevărate mașini de calcul. Google încearcă totuși să realizeze tranziția de la AOSP (Android Open Source Project) către GMS (Google Mobile Services), peste care sunt construite cele mai multe aplicații, în încercarea de a-și apăra acest proiect în fața concurenței. În acest sens, a fost dezvoltat **proiectul Google One**, prin care este oferit un set de specificații (ecran de 4.5 inchi - 845x480 pixeli, procesor quad-core, memorie 1GB RAM, spațiu de stocare 4GB, suport pentru dual sim) pe care producătorii de dispozitive mai ieftine trebuie să le respecte astfel încât acestea să fie compatibile cu un sistem Android, fără a întâmpina probleme de performanță. Acesta include toate aplicațiile și serviciile Google, la care se pot adăuga și altele, furnizate de producător sau operatorul de telefonie mobilă. În acest fel, se asigură calitatea (păstrând renumele Android) și controlul asupra veniturilor. Comunitatea Android este în creștere, mai multe companii renunțând la propriul sistem de operare în favoarea acestuia, pentru a putea face față fenomenului iPhone. Android este un SO mobil bazat pe o versiune modificată de Linux (pentru gestiunea componentelor hardware, a proceselor și a memoriei) și biblioteci Java (pentru telefonie (audio/​video),​ conectivitate,​ grafică, programarea interfețelor cu utilizatorul). Este un produs open-source (putând fi dezvoltat de producătorii de dispozitive mobile cu extensii proprietare pentru a-și particulariza platforma), dezvoltat în prezent de compania Google, conceput pe ideea transformării dispozitivelor mobile în adevărate mașini de calcul. Google încearcă totuși să realizeze tranziția de la AOSP (Android Open Source Project) către GMS (Google Mobile Services), peste care sunt construite cele mai multe aplicații, în încercarea de a-și apăra acest proiect în fața concurenței. În acest sens, a fost dezvoltat **proiectul Google One**, prin care este oferit un set de specificații (ecran de 4.5 inchi - 845x480 pixeli, procesor quad-core, memorie 1GB RAM, spațiu de stocare 4GB, suport pentru dual sim) pe care producătorii de dispozitive mai ieftine trebuie să le respecte astfel încât acestea să fie compatibile cu un sistem Android, fără a întâmpina probleme de performanță. Acesta include toate aplicațiile și serviciile Google, la care se pot adăuga și altele, furnizate de producător sau operatorul de telefonie mobilă. În acest fel, se asigură calitatea (păstrând renumele Android) și controlul asupra veniturilor. Comunitatea Android este în creștere, mai multe companii renunțând la propriul sistem de operare în favoarea acestuia, pentru a putea face față fenomenului iPhone.
  
 În condițiile în care pe piața dispozitivelor mobile aplicațiile sunt cele care aduc avantajul competițional,​ beneficiul Android este reprezentat de abordarea unitară pentru dezvoltarea aplicațiilor. Cu alte cuvinte, o aplicație dezvoltată conform API-ului Android va putea rula pe mai multe dispozitive mobile pe care este instalat sistemul de operare respectiv. În condițiile în care pe piața dispozitivelor mobile aplicațiile sunt cele care aduc avantajul competițional,​ beneficiul Android este reprezentat de abordarea unitară pentru dezvoltarea aplicațiilor. Cu alte cuvinte, o aplicație dezvoltată conform API-ului Android va putea rula pe mai multe dispozitive mobile pe care este instalat sistemul de operare respectiv.
 +
 +</​spoiler>​
  
 ==== Versiuni Android ==== ==== Versiuni Android ====
Line 126: Line 128:
   - [[eim:​tutoriale:​sdk_android|SDK-ul de Android]], pentru care se descarcă definițiile corespunzătoare unuia sau mai multor niveluri de API   - [[eim:​tutoriale:​sdk_android|SDK-ul de Android]], pentru care se descarcă definițiile corespunzătoare unuia sau mai multor niveluri de API
   - un mediu integrat de dezvoltare (IDE)   - un mediu integrat de dezvoltare (IDE)
-    - [[eim:​tutoriale:​eclipse|Elipse]],​ cu plugin-ul ADT (Android Developer Tools) 
     - [[eim:​tutoriale:​android_studio|Android Studio]]     - [[eim:​tutoriale:​android_studio|Android Studio]]
   - un dispozitiv pe care să se ruleze aplicațiile   - un dispozitiv pe care să se ruleze aplicațiile
Line 157: Line 158:
 </​code>​ </​code>​
  
-Mai multe informații sunt disponibile și la [[http://blog.janosgyerik.com/adding-udev-rules-for-usb-debugging-android-devices/]].+ 
 +Fie că ați instalat un emulator, fie un telefon conectat prin cablu USB, puteti verifica că el este pornit si este vizibil  
 + 
 +<​code>​ 
 +/​opt/​Android/​SDK/​platform-tools/​adb devices 
 +</​code>​ 
 + 
 +Dacă dispozitivul este listat, va puteti conecta ​la prompt 
 + 
 +<​code>​ 
 +/opt/Android/SDK/​platform-tools/adb shell 
 +</code> 
 + 
 + 
 +  
 + 
  
 ===== Sisteme de control a versiunilor ===== ===== Sisteme de control a versiunilor =====
Line 204: Line 221:
   - consemnarea propriu-zisă a datelor din zona de așteptare înapoi în directorul Git.   - consemnarea propriu-zisă a datelor din zona de așteptare înapoi în directorul Git.
  
 +<note important>​
 +Git [[https://​ndpsoftware.com/​git-cheatsheet.html|cheatsheet]] - doar o mica parte dintre comenzile din cheatsheet sunt necesare pentru laboratorul de EIM. 
 +</​note>​
 ==== Instalare & Configurare (obligatoriu) ==== ==== Instalare & Configurare (obligatoriu) ====
 Instrucțiunile pentru instalarea și configurarea Git sunt disponibile [[eim:​tutoriale:​git|aici]]. Instrucțiunile pentru instalarea și configurarea Git sunt disponibile [[eim:​tutoriale:​git|aici]].
Line 983: Line 1003:
     - kit de dezvoltare pentru limbajul de programare Java;     - kit de dezvoltare pentru limbajul de programare Java;
     - SDK pentru Android;     - SDK pentru Android;
-    - mediu integrat de dezvoltare ​Eclipse sau Android Studio cu plugin-uri pentru Android, Genymotion;​ +    - mediu integrat de dezvoltare Android Studio cu plugin-uri pentru Android, Genymotion;​ 
-    - emulator Genymotion în care se configurează un dispozitiv virtual ​Nexus S 4.1.1 - API 16 400x800;+    - emulator Genymotion în care se configurează un dispozitiv virtual ​Phone 7.- API 24 960x540;
   - Să se instaleze Git, în cazul în care nu există deja.   - Să se instaleze Git, în cazul în care nu există deja.
   - Să se acceseze [[http://​www.github.com|GitHub]] și să se creeze un cont.   - Să se acceseze [[http://​www.github.com|GitHub]] și să se creeze un cont.
Line 1003: Line 1023:
 </​code>​ </​code>​
   - Să se creeze un depozit pe contul Github creat, denumit '​Laborator01'​. Inițial, acesta trebuie să fie gol (nu trebuie să bifați nici adăugarea unui fișier ''​README.md'',​ nici a fișierului ''​.gitignore''​ sau a a fișierului ''​LICENSE''​).   - Să se creeze un depozit pe contul Github creat, denumit '​Laborator01'​. Inițial, acesta trebuie să fie gol (nu trebuie să bifați nici adăugarea unui fișier ''​README.md'',​ nici a fișierului ''​.gitignore''​ sau a a fișierului ''​LICENSE''​).
-  - Să se cloneze în directorul de pe discul local conținutul depozitului la distanță de la [[https://​www.github.com/​eim-lab/​Laborator01|]]. În urma acestei operații, directorul Laborator01 va trebui să se conțină un director ''​labtaks''​ care conține proiectele ​Eclipse și AndroidStudio denumite ''​MyFirstAndroidApplication'',​ fișierele ''​README.md''​ și ''​LICENSE''​ și un fișier ''​.gitignore''​ care indică tipurile de fișiere (extensiile) ignorate. <​code>​+  - Să se cloneze în directorul de pe discul local conținutul depozitului la distanță de la [[https://​www.github.com/​eim-lab/​Laborator01|]]. În urma acestei operații, directorul Laborator01 va trebui să se conțină un director ''​labtaks''​ care conține proiectele AndroidStudio denumite ''​MyFirstAndroidApplication'',​ fișierele ''​README.md''​ și ''​LICENSE''​ și un fișier ''​.gitignore''​ care indică tipurile de fișiere (extensiile) ignorate. <​code>​
 student@eim-lab:​~$ git clone https://​www.github.com/​eim-lab/​Laborator01.git student@eim-lab:​~$ git clone https://​www.github.com/​eim-lab/​Laborator01.git
 </​code>​ </​code>​
Line 1012: Line 1032:
 </​code>​ </​code>​
   - Să se ruleze aplicația schelet:   - Să se ruleze aplicația schelet:
-    - în Eclipse: //File// → //New// → //Project// → //Android Project from existing code// SAU //File// → //Import// → //Android// → //Existing Android Code Into Workspace// și se indică directorul Laborator01/​labtasks/​eclipse;​ 
     - în Android Studio: //Open an existing Android Studio project// și se indică directorul Laborator01/​labtasks/​androidstudio;​     - în Android Studio: //Open an existing Android Studio project// și se indică directorul Laborator01/​labtasks/​androidstudio;​
   - În fișierul ''​MainActivity.java''​ din pachetul ''​ro.pub.cs.systems.eim.lab01''​ (directorul ''​src''​),​ să se modifice metoda ''​onClick''​ a clasei interne ''​ButtonClickListener''​ astfel încât:   - În fișierul ''​MainActivity.java''​ din pachetul ''​ro.pub.cs.systems.eim.lab01''​ (directorul ''​src''​),​ să se modifice metoda ''​onClick''​ a clasei interne ''​ButtonClickListener''​ astfel încât:
Line 1030: Line 1049:
 </​code>​ </​code>​
   - Să se ruleze un exemplu de proiect Android, dintre cele disponibile,​ folosind dispozivitul virtual instalat în cadrul emulatorului Genymotion. Să se simuleze un eveniment de tipul rotirea ecranului și să se observe modul în care se comportă aplicația.   - Să se ruleze un exemplu de proiect Android, dintre cele disponibile,​ folosind dispozivitul virtual instalat în cadrul emulatorului Genymotion. Să se simuleze un eveniment de tipul rotirea ecranului și să se observe modul în care se comportă aplicația.
-    ​- în Eclipse, ''​AccelerometerPlay''​ din cadrul exemplelor corespunzătoare nivelului de API 16 (legacy); +    - în Android Studio, ''​AccelerometerPlay''​ , din cadrul categoriei //Getting Started//​. ​(sau https://​github.com/​googlearchive/​android-AccelerometerPlay)
-    ​- în Android Studio, ''​Action Bar Compat - Basic'',​ din cadrul categoriei //Getting Started//.+
  
 ===== Resurse Utile ===== ===== Resurse Utile =====
eim/laboratoare/laborator01.1582144753.txt.gz · Last modified: 2020/02/19 22:39 by dragos.niculescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0