🧪 Activitate de Laborator


  • Să se instaleze toate instrumentele necesare pentru a putea dezvolta o aplicație Android, urmând instrucțiunbilke din secțiunea Configurări.
    • kit de dezvoltare pentru limbajele de programare Java i Kotlin;
    • SDK pentru Android;
    • mediu integrat de dezvoltare Android Studio cu plugin-uri pentru Android;
    • emulator AVD bazat pe lineage OS în care se configurează un dispozitiv virtual LineageOS-EIM - API 35 - 960x540;
  • Să se instaleze Git, în cazul în care nu există deja.
  • Să se acceseze 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.
student@eim-lab:~$ git config --global user.name "Perfect Student"
student@eim-lab:~$ git config --global user.email "perfect_student@cti.pub.ro"
student@eim-lab:~$ git config --global core.editor gedit
student@eim-lab:~$ git config --global merge.tool diff

Verificarea valorii pe care o au variabilele de configurare poate fi realizată în mai multe moduri:

student@eim-lab:~$ git config --list
student@eim-lab:~$ cat .git/config
student@eim-lab:~$ git config user.name
student@eim-lab:~$ git config user.email
student@eim-lab:~$ git config core.editor
student@eim-lab:~$ git config merge.tool

Să se creeze un depozit/repo 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 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.

student@eim-lab:~$ git clone https://github.com/eim-lab/Laborator01.git

Să se încarce conținutul descărcat în cadrul depozitului 'Laborator01' de pe contul Github personal.

student@eim-lab:~$ cd Laborator01
student@eim-lab:~/Laborator01$ git remote add Laborator01_perfectstudent https://github.com/perfectstudent/Laborator01
student@eim-lab:~/Laborator01$ git push Laborator01_perfectstudent master

Să se ruleze aplicația schelet:

în Android Studio: Open an existing Android Studio project și se indică directorul Laborator01/labtasks/MyFirstAndroidApplication;

Î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:

mesajul afișat să includă numele utilizatorului, așa cum apare în widget-ul de tip EditBox;


greetingTextView.setText(greetingTextView.getText().toString().replace("xxx", "\n"+userNameEditText.getText()));
  • să se aplice un efect de fade, astfel încât mesajul afișat să dispară treptat în decurs de TRANSPARENCY_EFFECT_DURATION milisecunde.
AlphaAnimation fadeEffect = new AlphaAnimation(1.0f, 0.0f);
fadeEffect.setDuration(TRANSPARENCY_EFFECT_DURATION);
fadeEffect.setFillAfter(true);
greetingTextView.setAnimation(fadeEffect);

Să se încarce modificările realizate în cadrul depozitului 'Laborator01' de pe contul Github personal, folosind un mesaj sugestiv.

student@eim-lab:~/Laborator01$ git add MyFirstAndroidApplication/src/ro/pub/cs/systems/eim/lab01.MainActivity.java
student@eim-lab:~/Laborator01$ git commit -m "implemented functionality for customized message and fade effect"
student@eim-lab:~/Laborator01$ git push Laborator01_perfectstudent master

Task săptămânal

În fiecare săptămână studenții vor clona scheletul, vor lucra în labtasks, și vor da push în propriul cont la taskurile implementate la laborator. Taskurile neimplementate vor fi completate acasă, astfel încât commiturile inițiale cât și cele suplimentare ale fiecărui laborator vor fi vizibile asistenților spre verificare.

Bonus

încercați proiectul AccelerometerPlay