Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
laboratoare:laborator01 [2015/02/23 08:43]
Andrei Roșu-Cojocaru [Activitate de Laborator]
laboratoare:laborator01 [2015/02/24 09:18] (current)
Andrei Roșu-Cojocaru
Line 1: Line 1:
 ====== Laborator 01. Introducere în Programarea Android ====== ====== Laborator 01. Introducere în Programarea Android ======
  
-===== Sistemul de Operare Android ​(recapitulare) ​=====+===== Materiale Ajutătoare ===== 
 + 
 +  * [[http://​pdsd2015.andreirosucojocaru.ro/​_media/​laboratoare/​laborator01/​pdsd2015-lab01-slides.pdf|pdsd2015-lab01-slides.pdf]] 
 +  * [[http://​pdsd2015.andreirosucojocaru.ro/​_media/​laboratoare/​laborator01/​pdsd2015-lab01-slides-3pp.pdf|pdsd2015-lab01-slides-3pp.pdf]] 
 + 
 +===== Sistemul de Operare Android =====
  
 ==== Android - Prezentare Generală ===== ==== Android - Prezentare Generală =====
Line 108: Line 113:
   * SDK-ul pentru Android - va fi instalat în ''/​opt/​android-sdk-linux''​ <​code>​   * SDK-ul pentru Android - va fi instalat în ''/​opt/​android-sdk-linux''​ <​code>​
 student@pdsd2015:​~$ cd /tmp student@pdsd2015:​~$ cd /tmp
-student@pdsd2015:/​tmp$ wgethttp://​wi-fi.cs.pub.ro/​~dniculescu/​didactic/​pdsd/​eclipse/​tgz/​opt.android-sdk-linuz.tgz+student@pdsd2015:/​tmp$ wgethttp://​wi-fi.cs.pub.ro/​~dniculescu/​didactic/​pdsd/​eclipse/​tgz/​opt.android-sdk-linuz.zip
 student@pdsd2015:/​tmp$ sudo bash student@pdsd2015:/​tmp$ sudo bash
 root@pdsd2015:/​tmp#​ cd / root@pdsd2015:/​tmp#​ cd /
-root@pdsd2015:/# ​tar xzvf opt.android-sdk-linuz.tgz+root@pdsd2015:/# ​unzip /tmp/opt.android-sdk-linuz.zip
 root@pdsd2015:/#​ exit root@pdsd2015:/#​ exit
-student@pdsd2015:/​tmp$ rm -f opt.android-sdk-linuz.tgz+student@pdsd2015:/​tmp$ rm -f opt.android-sdk-linuz.zip
 </​code>​ </​code>​
   * mediul integrat de dezvoltare Eclipse Luna SR1a (4.4.1), cu plugin-uri pentru Android și Genymotion - va fi instalat în /​opt/​eclipse (configurările vor fi plasate în ''/​home/​student/​.eclipse''​) ​ <​code>​   * mediul integrat de dezvoltare Eclipse Luna SR1a (4.4.1), cu plugin-uri pentru Android și Genymotion - va fi instalat în /​opt/​eclipse (configurările vor fi plasate în ''/​home/​student/​.eclipse''​) ​ <​code>​
 student@pdsd2015:​~$ cd /tmp student@pdsd2015:​~$ cd /tmp
-student@pdsd2015:/​tmp$ wgethttp://​wi-fi.cs.pub.ro/​~dniculescu/​didactic/​pdsd/​eclipse/​tgz/​opt.eclipse.tgz+student@pdsd2015:/​tmp$ wgethttp://​wi-fi.cs.pub.ro/​~dniculescu/​didactic/​pdsd/​eclipse/​tgz/​opt.eclipse.zip
 student@pdsd2015:/​tmp$ sudo bash student@pdsd2015:/​tmp$ sudo bash
 root@pdsd2015:/​tmp#​ cd / root@pdsd2015:/​tmp#​ cd /
-root@pdsd2015:/# ​tar xzvf opt.eclipse.tgz+root@pdsd2015:/# ​unzip /tmp/opt.eclipse.zip
 root@pdsd2015:/#​ exit root@pdsd2015:/#​ exit
-student@pdsd2015:/​tmp$ rm -f opt.eclipse.tgz +student@pdsd2015:/​tmp$ rm -f opt.eclipse.zip 
-student@pdsd2015:/​tmp$ wgethttp://​wi-fi.cs.pub.ro/​~dniculescu/​didactic/​pdsd/​eclipse/​tgz/​dot.eclipse.tgz+student@pdsd2015:/​tmp$ wgethttp://​wi-fi.cs.pub.ro/​~dniculescu/​didactic/​pdsd/​eclipse/​tgz/​dot.eclipse.zip
 student@pdsd2015:/​tmp$ sudo bash student@pdsd2015:/​tmp$ sudo bash
 root@pdsd2015:/​tmp#​ cd / root@pdsd2015:/​tmp#​ cd /
-root@pdsd2015:/# ​tar xzvf dot.eclipse.tgz+root@pdsd2015:/# ​unzip /tmp/dot.eclipse.zip
 root@pdsd2015:/#​ exit root@pdsd2015:/#​ exit
-student@pdsd2015:/​tmp$ rm -f dot.eclipse.tgz+student@pdsd2015:/​tmp$ rm -f dot.eclipse.zip
 </​code>​ </​code>​
   * emulatorul Genymotion - va fi instalat în ''/​opt/​genymotion'' ​ <​code>​   * emulatorul Genymotion - va fi instalat în ''/​opt/​genymotion'' ​ <​code>​
 student@pdsd2015:​~$ cd /tmp student@pdsd2015:​~$ cd /tmp
-student@pdsd2015:/​tmp$ wgethttp://​wi-fi.cs.pub.ro/​~dniculescu/​didactic/​pdsd/​eclipse/​tgz/​opt.genymotion.tgz+student@pdsd2015:/​tmp$ wgethttp://​wi-fi.cs.pub.ro/​~dniculescu/​didactic/​pdsd/​eclipse/​tgz/​opt.genymotion.zip
 student@pdsd2015:/​tmp$ sudo bash  student@pdsd2015:/​tmp$ sudo bash 
 root@pdsd2015:/​tmp#​ cd / root@pdsd2015:/​tmp#​ cd /
-root@pdsd2015:/# ​tar xzvf opt.genymotion.tgz+root@pdsd2015:/# ​unzip /tmp/opt.genymotion.zip
 root@pdsd2015:/#​ exit root@pdsd2015:/#​ exit
-student@pdsd2015:/​tmp$ rm -f opt.genymotion.tgz+student@pdsd2015:/​tmp$ rm -f opt.genymotion.zip
 </​code>​ </​code>​
  
Line 904: Line 909:
   - 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.
-  - Să se realizeze configurațiile globale, specificând informații precum ''​user.name'',​ ''​user.email'',​ ''​core.editor'',​ ''​merge.tool''​. Verificați faptul că informațiile au fost introduse corect, prin două metode diferite.+  - Să se realizeze configurațiile globale, specificând informații precum ''​user.name'',​ ''​user.email'',​ ''​core.editor'',​ ''​merge.tool''​. Verificați faptul că informațiile au fost introduse corect, prin două metode diferite. ​<​code>​ 
 +student@pdsd2015:​~$ git config --global user.name "​Perfect Student"​ 
 +student@pdsd2015:​~$ git config --global user.email "​perfect_student@cti.pub.ro"​ 
 +student@pdsd2015:​~$ git config --global core.editor gedit 
 +student@pdsd2015:​~$ git config --global merge.tool diff 
 +</​code>​ Verificarea valorii pe care o au variabilele de configurare poate fi realizată în mai multe moduri: <​code>​ 
 +student@pdsd2015:​~$ git cofig --list 
 +</​code>​ <​code>​ 
 +student@pdsd2015:​~$ cat .git/​config 
 +</​code>​ <​code>​ 
 +student@pdsd2015:​~$ git config user.name 
 +student@pdsd2015:​~$ git config user.email 
 +student@pdsd2015:​~$ git config core.editor 
 +student@pdsd2015:​~$ git config merge.tool 
 +</​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/​pdsd2015/​Laborator01|]]. În urma acestei operații, directorul Laborator01 va trebui să se conțină proiectul Eclipse denumit ''​MyFirstAndroidApplication'',​ fișierul ''​README.md''​ și un fișier ''​.gitignore''​ care indică tipurile de fișiere (extensiile) ignorate. +  - Să se cloneze în directorul de pe discul local conținutul depozitului la distanță de la [[https://​www.github.com/​pdsd2015/​Laborator01|]]. În urma acestei operații, directorul Laborator01 va trebui să se conțină proiectul Eclipse denumit ''​MyFirstAndroidApplication'',​ fișierul ''​README.md''​ și un fișier ''​.gitignore''​ care indică tipurile de fișiere (extensiile) ignorate. ​<​code>​ 
-  - Să se încarce conținutul descărcat în cadrul depozitului '​Laborator01'​ de pe contul Github personal.+student@pdsd2015:​~$ git init 
 +student@pdsd2015:​~$ git clone https://​www.github.com/​pdsd2015/​Laborator01 
 +</​code>​ 
 +  - Să se încarce conținutul descărcat în cadrul depozitului '​Laborator01'​ de pe contul Github personal. ​ <​code>​ 
 +student@pdsd2015:​~$ cd Laborator01 
 +student@pdsd2015:​~/​Laborator01$ git remote add Laborator01_perfectstudent https://​github.com/​perfectstudent/​Laborator01 
 +student@pdsd2015:​~/​Laborator01$ git push Laborator01_perfectstudent master 
 +</​code>​
   - În fișierul ''​MainActivity.java''​ din pachetul ''​ro.pub.cs.systems.pdsd.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.pdsd.lab01''​ (directorul ''​src''​),​ să se modifice metoda ''​onClick''​ a clasei interne ''​ButtonClickListener''​ astfel încât:
-    - mesajul afișat să includă numele utilizatorului,​ așa cum apare în widget-ul de tip ''​EditBox'';​ +    - mesajul afișat să includă numele utilizatorului,​ așa cum apare în widget-ul de tip ''​EditBox''; ​<code java> 
-    - să se aplice un efect de fade, astfel încât mesajul afișat să dispară treptat în decurs de ''​TRANSPARENCY_EFFECT_DURATION''​ milisecunde. +greetingTextView.setText(greetingTextView.getText().replace("​xxx",​ "​\n"​+userNameEditText.getText()));​ 
-  - Să se încarce modificările realizate în cadrul depozitului '​Laborator01'​ de pe contul Github personal, folosind un mesaj sugestiv.+</​code>​ 
 +    - să se aplice un efect de fade, astfel încât mesajul afișat să dispară treptat în decurs de ''​TRANSPARENCY_EFFECT_DURATION''​ milisecunde. ​ <​code java> 
 +AlphaAnimation fadeEffect = new AlphaAnimation(1.0f,​ 0.0f); 
 +fadeEffect.setDuration(TRANSPARENCY_EFFECT_DURATION);​ 
 +fadeEffect.setFillAfter(true);​ 
 +greetingTextView.setAnimation(fadeEffect);​ 
 +</​code>​ 
 +  - Să se încarce modificările realizate în cadrul depozitului '​Laborator01'​ de pe contul Github personal, folosind un mesaj sugestiv. ​ <​code>​ 
 +student@pdsd2015:​~/​Laborator01$ git add MyFirstAndroidApplication/​src/​ro/​pub/​cs/​systems/​pdsd/​lab01.MainActivity.java 
 +student@pdsd2015:​~/​Laborator01$ git commit -m "​implemented functionality for customized message and fade effect"​ 
 +student@pdsd2015:​~/​Laborator01$ git push Laborator01_perfectstudent master 
 +</​code>​
   - Să se ruleze proiectul ''​AccelerometerPlay''​ din cadrul exemplelor corespunzătoare nivelului de API 16. Să se ruleze proiectul folosind emulatorul Genymotion. Să se simuleze un eveniment de tipul rotirea ecranului și să se observe modul în care se comportă aplicația.   - Să se ruleze proiectul ''​AccelerometerPlay''​ din cadrul exemplelor corespunzătoare nivelului de API 16. Să se ruleze proiectul folosind emulatorul Genymotion. Să se simuleze un eveniment de tipul rotirea ecranului și să se observe modul în care se comportă aplicația.
 ===== Resurse Utile ===== ===== Resurse Utile =====
laboratoare/laborator01.1424673814.txt.gz · Last modified: 2015/02/23 08:43 by Andrei Roșu-Cojocaru
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0