0% au considerat acest document util (0 voturi)
58 vizualizări11 pagini

A1

Raportul prezintă rezultatele unei lucrări de laborator la disciplina Programarea aplicațiilor mobile. Scopul lucrării a fost dezvoltarea unei aplicații mobile care să conțină anumite elemente UI și să implementeze funcționalități precum notificări, căutare pe Google și captură de fotografii cu camera.

Încărcat de

Amarfii Sergiu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
58 vizualizări11 pagini

A1

Raportul prezintă rezultatele unei lucrări de laborator la disciplina Programarea aplicațiilor mobile. Scopul lucrării a fost dezvoltarea unei aplicații mobile care să conțină anumite elemente UI și să implementeze funcționalități precum notificări, căutare pe Google și captură de fotografii cu camera.

Încărcat de

Amarfii Sergiu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Ministerul Educației al Republicii Moldova

Universitatea Tehnica a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Ingineria Software și Automatica

Raport
la lucrarea de laborator nr.1
la disciplina:
,,Programarea aplicațiilor mobile’’
Tema: UI View Model

A efectuat: [Link]–161
Amarfii Sergiu

A verificat: [Link].
Antohi Ion

Chișinău 2020
Obiective:

Dezvoltarea unei aplicații pe una din platformele stabilite la Laboratorul Nr.0 , utilizând mediul de
dezvoltare corespunzător acesteia.

Scopul:

De prezentat o aplicație ce rulează pe un dispozitiv sau emulator, ce va conține pe interfața sa,


următoarele elemente:

1. 4 butoane (ce vor executa condițiile de mai jos);


2. 1 TextBox (pentru input);
3. 2 Radio butoane (pentru camera față, spate);

Condiții:

De utilizat componentele UI pentru a realiza următoarele condiții:

1. De creat un push notification pe ecranul dispozitivului care se va trata peste 10s.

2. De utilizat browserul intern al dispozitivului, pentru a inițializa o căutare în Google,


conform cuvântului cheie introdus în TextBox.

3. De rulat evenimentul de lucru a camerei frontale și/sau spate la selectarea unuia din cele 2
radio butoane propuse.

4. de tratat evenimentul de captare a pozei executate cu una din cele doua camere, și de afișat
într-o altă Activitate;

5. este un punct la dorința voastră (sau un brainstorming);

Realizarea lucrarii de laborator a fost implementata in limbajul de programare Kotlin:


Intii de toate a fost implementata partea View a aplicatiei, ce contine elementele de interactiune cu
aplicatia.
Pentru aceasta a fost creat View-ul activity_main.xml, in care se include layout-ul
content_main.xml.
Activity_main.xml
content_main.xml
content_main.xml

Dupa cum vedem mai sus in cadrul fisierelor xml activity_main si content_main, avem declarat ui-ul
ce e compus din:
Wrapper-ul principal a screen-ului, ce contine bara de navigare superioara, si layout-ul importat din
fisierul content_main.
In content main avem creat layoutul ce contine urmatoarele elemente:
- Butonul ce declanseaza un push notification;
- Butonul ce declanseaza cautarea pe google a textului introdus in input
-Un Text Input, ce permite introducerea textului spre cautare;
- Butonul ce invoca un intend pentru a face o poza cu camera;
- Switch-ul ce permite switch-ul camerelor;

O data ce am finisat cu ui-ul, trecem la implemetarea functionalului, ce e implementat in fisierul


[Link]

In acest fisier importam dependentele, declaram o clasa de tip AppCompatActivity, ce contine


totalitatea metodelor folosite de catre View-uri, si deasemenea comportamentul aplicatiei pe
parcursul ciclului de viata, prin override-ul metodelor respective predefinite in AppCompatActivity.

Importarea dependentelor si declararea pachetului

Deci, declaram functia MainActivity, ce contine o singura proprietate, currentImagePath, folosita


pentru a pastra directoriul pozei ce urmeaza sa fie salvate.
Din metode, clasa data contine metoda onCreate, in cadrul careia am facut operatiile de initializare,
(apelarea metodelor claselor parinte, setare a view-ului, atasarea metodelor ce vor rula la anumite
evenimente, etc.)
Deasemenea, aici sunt declarate metoda getImageFile, ce e folosita pentru salvarea imaginii, si
setarea locatiei acestei imagini in proprietatea currentImagePath, metoda displayImage, ce
ruleaza o activitate noua, in care afisam imaginea, si metoda captureImage, ce e folosita pentru a
crea intentia de captare a imaginii, si de a salva imaginea(prin metoda getImageFile) din aplicatia
de stoc a camerei.
Totul incepe cu crearea Activitatii, si rularea metodei onCreate:
Aici face urmatoarele operatii:
- apelam metoda oncreate a instantelor superioare
-setam layoutul ce va fi afisat
- apelam metoda setSuportActionBar ce adauga suportul ActionBar-ului pentru activitatea curenta.
- setam functionalitatile ce trebuie sa ruleze la evenimentul click pe fiecare buton, si anume:
1) pentru butonul searchBtn, deschidem browserul default al userului pe pagina google
pentru a face search cu valoarea inputului searchInput;
2) pentru notificationBtn cream un push- notification cu ajutorul modulului
NotificatonManagerCompat si NotificationCompat. Notificatia data va disparea in decurs de 10
secunde.
3) pentru turnCameraBtn vom rula metoda captureImage()
4) Funcția displayImage() este rulată pentru showPhotoIMG

Deasemenea, a fost creata inca o activitate DisplayImage, in care se afiseaza imaginea obtinuta.

activity_display_image.xml
[Link]
Anexe:

S-ar putea să vă placă și