Sunteți pe pagina 1din 21

Universitatea Transilvania din Brașov

Facultatea de Inginerie Electrică și Știința Calculatoarelor


Departamentul Automatică şi Tehnologia Informaţiei

PROIECT LA PA

Librăria semnelor
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Necula George-Andrei
Gr.4LF403B, AIA II

Voronețchi Igor
Gr.4LF403B, AIA II

2
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Bunea Cezar-Andrei
Gr.4LF401A, AIA II

Duță Vlad Alexandru


Gr.4LF402A, AIA II

3
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

CUPRINS

1. Tema proiectului
1.1. Despre tema proiectului
1.2. Istoria comunicării cu persoanele deficiente de auz
1.3. Scopul aplicaței

2. Despre aplicație
2.1. IDE folosit
2.2. Limbaj de programare
2.3. Cod
2.4. Resurse

3. Interfața grafica
3.1. Elemente constitutive

4. Probleme întâmpinate și soluții


4.1. Detectarea problemei și soluția

5. Concluzii
5.1. Concluzii generale
5.2. Elemente de originalitate
5.3. Direcții viitoare de dezvoltare
5.4. Impresii

6. Bibliografie

4
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

1. Tema proiectului

1.1. Despre tema proiectului

Proiectul nostru are ca temă principală crearea unei aplicații pentru telefon, cu ajutorul
căreia utilizatorul poate comunica, prin intermediul videoclipurilor si al imaginilor, cu persoanele
deficiente de auz.

1.2. Istoria comunicării cu persoanele deficiente de auz

Spaniolul Pedro Ponce de Leon este primul care a folosit limbajul oral (vorbirea
articulată) ca formă a demutizării. Juan Pablo Bonet, pe la 1600, a folosit alfabetul dactil pentru
formarea comunicării verbale, dar şi limbajul scris, oral și mimico-gesticular. In Anglia, John
Wallis sublinia rolul limbajului scris în dezvoltarea psihică a surdomutului şi preciza că pentru a
facilita evoluția vorbirii trebuie exclus limbajul dactil din demutizare. În Olanda, Johan Konrad
Amman neagă utilizarea folosirii dactilemelor, insistând pe vorbirea orală fapt pentru care este
considerat fondatorul așa-numitei școli oraliste. Reprezentantul cel mai de seamă al școlii
franceze este Charles Michel de l‘ Épée care a întemeiat o școală pentru surdomuți și a aplicat o
nouă metodă și anume „metoda mimicii”, prin intermediul căreia se fundamentează comunicarea
prin mimico-gesticulație. În Polonia, Jakobs Falkowschi întemeiază un institut pentru surdomuți
și orbi, unde folosește metoda gesturilor, pentru început, iar apoi adoptă în exclusivitate metoda
orală.
In secolele XIX și XX , specialiștii ruși aduc o contribuție interesantă, mai exact au
contribuit la fundamentarea psihopedagogică a învățământului pentru copii cu deficiențe de auz.
Pe baza acestor date rezultă că, pentru învățarea limbii de către persoanele handicapate de auz,
s-a aplicat o tehnică bazată pe imitație , asemănătoare cu principiul învățării vorbirii la copilul
mic normal, cât și o tehnică similară cu formarea deprinderii de a comunica într-o limbă străină.
Ambele tehnici au fost cunoscute sub numele de „metoda naturală”. Având în vedere
toate aceste demersuri, din punct de vedere metodologic, pentru învățarea limbii au fost
structurate trei metode principale:
1) Metode care folosesc, preponderent, limbajul oral (metode orale);
2) Metode are folosesc, preponderent, limbajul scris (metode scrise);
3) Metode combinate ( metode mixte ), care fac apel şi la mijloacele Auxiliare.

1.3. Scopul aplicației

Aplicația vizează comunicarea cu persoanele cu deficit de auz/surde, prin utilizarea


înregistrărilor video. Pe scurt, persoana auzitoare accesează aplicația, selectează din ea un cuvânt,
propoziție, fraza și arată înregistrarea persoanei surde. Există o astfel de aplicație, dar utilizarea ei
este laborioasă, datorită necesitații de a utiliza funcția de căutare. Aplicația noastră are un rol
practic mai ridicat, filmulețele fiind ușor accesibile în categorii și subcategorii, pentru cele mai
uzuale expresii utilizate la școală.

5
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

2. Despre aplicație

2.1. IDE folosit

Pentru dezvoltarea aplicației am ales să folosim Android Studio, fiind cea mai utilizată
opțiune atunci când vine vorba despre crearea de aplicații pentru telefoanele cu sistem de operare
Android.
Android Studio este mediul de dezvoltare integrat (Integrated Development Environment - IDE)
oficial pentru sistemul de operare Android de la Google, construit pe software-ul IntelliJ IDEA al
JetBrains și conceput special pentru dezvoltarea Android. Este disponibil pentru descărcare pe
sistemele de operare bazate pe Windows, macOS și Linux sau ca serviciu pe bază de abonament
din 2020. Este un înlocuitor pentru Eclipse Android Development Tools (E-ADT) ca IDE
principal pentru dezvoltarea de aplicații Android native.

2.2. Limbaj de programare

În ceea ce privește limbajul de programare, am ales Java deoarece în primul rand,


Android Studio a fost conceput pentru a înlocui Eclipse, un IDE pentru programare în Java, ceea
ce face ca acest limbaj să fie cel mai optim de utilizat. Totodată, sursele de informare despre
dezvoltarea de aplicații în Android Studio cu ajutorul limbajului Java sunt într-un număr foarte
mare, iar acest lucru a fost decisiv pentru noi.
Am avut parte de o tranziție lină de la baza noastră de cunoștinte în Java către proiectarea de
aplicații în Android Studio, ce a presupus doar acumularea de noi abilitați specifice pentru
realizarea proiectului nostru.
Java este un limbaj de programare la nivel înalt, bazat pe clasă, orientat pe obiecte, care
este proiectat să aibă cât mai puține dependențe de implementare. Este un limbaj de programare
de uz general destinat să permită programatorilor să scrie o dată, să ruleze oriunde (Write Once
Run Anywhere - WORA), ceea ce înseamnă că codul Java compilat poate rula pe toate
platformele care acceptă Java fără a fi nevoie de recompilare. Aplicațiile Java sunt de obicei
compilate în bytecode care poate rula pe orice mașină virtuală Java (JVM), indiferent de
arhitectura computerului subiacent. Sintaxa Java este similară cu C și C++, dar are mai puține
facilități de nivel scăzut decât oricare dintre ele. Runtime Java oferă capabilități dinamice (cum ar
fi reflecția și modificarea codului de rulare) care de obicei nu sunt disponibile în limbajele
compilate tradiționale. Începând cu 2019, Java a fost unul dintre cele mai populare limbaje de
programare utilizate conform GitHub, în special pentru aplicațiile web client-server, cu 9
milioane de dezvoltatori raportați.

6
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

2.3. Cod

Pentru a putea fi vizualizate cât mai ușor și rapid cuvintele specifice fiecărei categorii de
cuvinte am ales să folosim liste. Cu ajutorul adapterului ListView (Fig. 1.1), am creat aceste liste,
câte un ListView pentru fiecare subcategorie în parte. În acest mod a fost foarte ușor de urmat și
indicațiile clientului ce dorea aceasta structura formata din categorii și subcategorii.

Fig. 1.1 Crearea unei liste

Un ListView este un adapter view care nu cunoaște detaliile, cum ar fi tipul și conținutul
vizualizărilor pe care le conține. În schimb, ListView solicită vizualizări la cerere de la un
ArrayAdapter după cum este necesar, cum ar fi pentru a afișa noi vizualizări pe măsură ce
utilizatorul derulează în sus sau în jos.
Astfel, în concordanță cu ListView apare și ArrayAdapter, alt adapter view cu ajutorul
căruia inseram elementele dorite în listă (Fig. 1.2), ce vor fi afișate în ListView.

Fig. 1.2 Inserarea elementelor în lista

Adaptorul acționează ca o punte între Componenta UI și Sursa de date. Convertește datele din
sursele de date în elemente de vizualizare care pot fi afișate în Componenta UI. Sursa de date
poate fi Arrays, HashMap, Database etc., iar componentele UI pot fi ListView, GridView,

7
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Spinner etc. ArrayAdapter este cel mai frecvent utilizat adaptor în Android. Când avem o listă de
articole de un singur tip care sunt stocate într-o matrice, puteem utiliza ArrayAdapter.
De asemenea am folosit și butoane în aplicația noastră pentru a putea selecta elementele din
meniul principal al aplicației cât și pentru selectarea subcategoriilor. În acest sens am utilizat
elementul de interfață numit Button (Fig. 1.3) ce ne permite să introducem butoane în interfața
aplicației.

Fig. 1.3 Definirea activității primului buton din meniul principal

Pe lângă declararea din activitatea respectivă, un buton necesită și un fișier XML (Fig. 1.4) în
cadrul căruia este definit aspectul acestuia și un id la care ne referim atunci când vrem să atribuim
o funcție butonului în activitatea dorită.

Fig 1.4 Fișierul XML în care definim primul buton

În Android Studio, Button este un element al interfeței de utilizator care este folosit pentru a
efectua o acțiune ori de câte ori utilizatorul face clic sau atinge pe el. În general, Butoanele din
Android Studio vor conține un text sau o pictogramă sau ambele și vor efectua o acțiune atunci
când utilizatorul îl atinge.

Pe lângă folosirea butoanelor, pentru a facilita accesul mai rapid la cele șase mari categorii de
cuvinte (Animale, Persoane, Culori, Obiecte, Verbe, Emoții), am recurs la GridLayout (Fig. 1.5)
ce este un alt AdapterView, o alternativă la ListView.

8
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Fig. 1.5 Crearea unui GridLayout

GridLayout reprezintă un aspect care își plasează copiii într-o grilă dreptunghiulară. Grila este
compusă dintr-un set de linii infinit de subțiri care separă zona de vizualizare în celule. Pe tot
parcursul API-ului, liniile de grilă sunt referite prin indici de grilă. O grilă cu N coloane are N + 1
indici de grilă care rulează de la 0 la N inclusiv. Indiferent de modul în care este configurat
GridLayout, indicele grilei 0 este fixat pe marginea anterioară a containerului, iar indicele grilei
N este fixat pe marginea sa finală (după ce este luată în considerare umplutura).

În cadrul a GridLayout am folosit butoane (Fig. 1.6 , Fig. 1.7), ce reprezintă copiii grilei ce fac
parte din liniile și coloanele declarate.

Fig. 1.6 Declararea a două butoane din GridLayout

Fig. 1.7 Definirea a două butoane din GridLayout

În continuare, pentru fiecare membru al unei liste din subcategoriile de cuvinte am folosit
VideoView (Fig. 1.8) pentru a putea reda un videoclip specific fiecărui cuvânt.

Fig. 1.8 Crearea unui VideoView

9
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

În Android Studio, VideoView este folosit pentru a afișa un fișier video. Poate încărca imagini
din diverse surse (cum ar fi furnizorii de conținut sau resurse), având grijă să calculeze măsurarea
acestuia din videoclip, astfel încât să poată fi utilizat pentru orice manager de layout, oferind
opțiuni de afișare precum scalarea și nuanțarea.

Iar în legătură cu VideoView am importat în Android Studio, mai exact în folderul proiectului
numit "raw", câte un video specific fiecărui cuvânt în parte din subcategorii și i-am apelat numele
(Fig. 1.9) acestuia în contextul declarării funcționalității VideoView din activitatea fiecărui
cuvânt.

Fig. 1.9 Inserarea unui videoclip specific cuvantului “albină”

Pentru VideoView am folosit MediaController (Fig. 1.10) ce ne ajuta să putem porni videoclipul
pentru a-l putea vizualiza.

Fig. 1.10 Declararea MediaControllerului

Media Controller este o vizualizare care conține controale pentru un MediaPlayer. De obicei,
conține butoane precum „Redare/Pauză”, „Înapoi”, „Înainte rapidă” și un glisor de progres. Se
ocupă de sincronizarea controalelor cu starea MediaPlayer-ului. Modul de utilizare a acestei clase
este de a o instanția în mod programatic. MediaController va crea un set implicit de controale și
le va pune într-o fereastră plutitoare deasupra aplicației. Mai exact, controalele vor pluti deasupra
vizualizarii specificate cu setAnchorView(). Fereastra va dispărea dacă este lăsată inactiv timp de
trei secunde și va reapărea când utilizatorul atinge vizualizarea ancoră.

Pentru ce-a de-a doua funcție a aplicației noastre am folosit ImageView (Fig. 1.11), pentru a
putea insera în lista cu literele alfabetului câte o imagine cu o dactilema corespunzătoare fiecărui
element.

Figure 1.11 Crearea unui ImageView

În Android Studio, clasa ImageView este folosită pentru a afișa un fișier imagine în aplicație.
Fișierul imagine este ușor de utilizat, dar greu de stăpânit în Android, din cauza diferitelor

10
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

dimensiuni ale ecranului pe dispozitivele Android. Un Android este îmbogățit cu unele dintre
cele mai bune widget-uri de design UI care ne permit să construim aplicații arătătoare și atractive
bazate pe UI.

Inițial am declarat atât funcția ImageView cât și folderul ce aparține proiectului în Android
Studio numit "drawable" (Fig. 1.12), acolo unde am stocat toate imaginile necesare.

Fig. 1.12 Declararea ImageView și a folderului drawable în activitatea unui cuvânt

După care urmează definirea funcției și apelarea imaginii din folderul "drawable" (Fig. 1.13).

Fig. 1.13 Functia ImageView pentru a afisa imaginea “b”

Pentru întreg proiectul am utilizat și butonul de înapoi, numit Back Button (Fig. 1.14).

Fig. 1.14 Definirea a Back Button

Butonul înapoi (Back Button) este folosit pentru a vă deplasa înapoi de la ecranul vizitat anterior
de către utilizator. Majoritatea dispozitivelor Android au un buton de înapoi dedicat, iar un buton
de înapoi pe bara de acțiuni îmbunătățește experiența utilizatorului.

2.4. Resurse

Resursele folosite pentru aplicația noastră au fost videoclipuri și imagini ce ne-au ajutat să
completăm funcțiile aplicației. Imaginile au fost copiate în folderul numit "drawable" și
videoclipurile în folderul cu numele "raw". De asemenea, am folosit și un font special plasat
în folderul numit "font", ce a fost folosit pentru a modifica aspectul textului folosit pentru
butoane.

3. Interfață grafică

3.1. Elemente constitutive

În primul rand avem meniul principal format din 3 butoane magenta aflate pe un background
mov-alb (Fig. 2.1).

11
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Fig. 2.1 Meniu principal

Pentru selectarea categoriilor avem un GridLayout cu butoane pentru fiecare categorie în parte și
în stangă-sus a aplicației avem un Back Button (Fig. 2.2).

12
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Fig. 2.2 Alegerea categoriei dorite

Alegerea subcategoriei și Back Button (Fig. 2.3).

13
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Fig. 2.3 Alegerea subcategoriei

Lista unei subcategorii si Back Button este ceea ce urmează după ce alegem subcategoria (Fig.
2.4).

14
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Fig. 2.4 Lista cu elemente si Back Button

În final selectam un cuvânt și putem observa caseta în care se afla videoul corespunzător
cuvântului, împreună cu un Media Controller și un text sugestiv ce ne indica unde trebuie să
apasă prima data pentru a apărea Media Controllerul și a da play videoclipului (Fig. 2.5).

15
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Fig. 2.5 Redarea videoclipului si Media Controllerul

Pentru funcția numita Alfabet, avem o lista cu toate litrele alfabetului și un Back Button (Fig.
2.6).

16
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Fig. 2.6 Lista alfabetului si Back Button

În final după ce alegem o litera putem vedea imaginea cu dactilema corespunzătoare (Fig. 2.7).

17
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

Fig. 2.8 Afisarea imaginii dactilemei

18
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

4. Probleme întâmpinate și soluții

4.1. Detectarea problemei și soluția

Inițial am încercat să folosim în loc de ListView, RecyclerView, ce era o opțiune mult


mai eficientă deoarce încarca în timplu derulării listei doar elementele ce apăreau pe
ecran și astfel pentru viitor, daca vor fi liste mult mai mari, aplicația vă rula foarte rapid
indiferent de numărul elementelor. RecyclerView necesita cod în limbajul de programare
Kotlin și de aceea am ales să înlocuim aceasta idee cu ListVIew ce îndeplinește aceeași
funcție și este destul de rapidă pentru aplicația noastră în momentul de față.

O altă problemă întâmpinată a fost aranjarea butoanelor pentru a selecta categoriile.


Inițial am dorit să aranjăm din fișierul XML locul butoanelor, dar acest lucru s-a dovedit
destul de dificil de realizat deoarce nu reușeam să găsim o simetrie potrivită. Astfel, am
apleat la GridLayout ce ne-a ajutat să rezolvăm aceasta problemă, deoarce ne-a oferit
posbilitatea de insera în layout butoanele fară a ne mai gândi la poziționarea acestora.

5. Concluzii

5.1. Concluzii generale

În ceea ce privește aplicația, este în concordanță cu cerințele clientului, elementele


acesteia funcționează fară probleme iar dimensiunea acesteia este una redusă ceea nu
poate împedica un posibil utilizator de a nu o instala chiar și pe un telefon cu o memorie
mai redusă. Am creat o aplicație accesibilă și totodată simplu de utilizat conform
cerințelor oferite în urma dialogului cu clientul.

5.2. Elemente de originalitate

Aplicația noastră are o structură sugestivă și ușor de utilizat. În momentul de față avem
una dintre cele mai ușor de învățat aplicații pentru persoanle ce vor să comunice cu
persoanele ce au deficiențe de auz. De la categoriile clar definite și videoclipuri ce nu
necesită conexiue la internet, până la imagini clare ce explică clar o anumită literă, fară a
fi încărcată și cu alte elemente ce distrag atenția.

5.3. Direcții viitoare de dezvoltare

Pentru viitor ne-am dori să implementăm și alte funcții precum: logarea într-un cont,
posibilitatea de a creea categorii personalizate, de a adăuga propriile videoclipuri și
imagini, precum și funcția de a reseta aplicația la setările inițiale. Un website unde să ne
expunem produsul cât și patch-urile aplicației și funcțiile ce urmează să fie lansate ar fi de
asemenea un scop al nostru.

19
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

5.4. Impresii

Tema aplicației a fost una ce ne-a bucurat foarte mult, deoarce ne-a impus să învățam să
lucram în Android Studio, ne-am dezvoltat mai mult baza de cunoștinte pe care o
dețineam în ceea ce privește limbajul Java și faptul că ne putem vedea produsul final
funcțional pe smartphone, dispozitiv indispensabil pentru noi în ziua de astăzi ne face
mândrii de ce am reușit să realizam. Faptul că proiectul a fost atât de practic și am
dobândit acest set de noi abilitați nu ne face decât să ne dorim să exploram mai mult ceea
ce putem realiza din aplicația noastră.

6. Bibliografie

[1] ***, https://www.geeksforgeeks.org/android-listview-in-java-with-example/,


Realizarea unui ListView
[2] ***, https://data-flair.training/blogs/android-gridlayout/, Realizarea unui GridLayout
[3] ***, https://abhiandroid.com/ui/videoview, Realizarea unui VideoView
[4] ***, https://www.javatpoint.com/playing-video-in-android-example, Realizarea unui
ImageView
[5] ***, https://abhiandroid.com/ui/button, Realizarea unui Button
[6] ***, http://www.adventurekids.ro/3-7-ani/Fise-de-colorat/Fise-de-colorat---Alfabet-
surdo-mut--sID2--cID329.html, Imagini folosite
[7] ***, http://dlmg.ro/dictionar/, Videoclipuri folosite
[8] ***, https://www.dafont.com/letters-for-learners.font, Fontul folosit

20
Departamentul Automatică şi Tehnologia Informaţiei
Programul de studii Automatică şi Informatică Aplicată
Proiect la PA

21

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