Differences

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

Link to this comparison view

ss:laboratoare:02 [2026/03/03 01:29]
ciprian.popescu0411 [Recomandări]
ss:laboratoare:02 [2026/03/09 19:19] (current)
ciprian.popescu0411 [Recomandări]
Line 2: Line 2:
  
 În laboratorul trecut ne-am familiarizat cu aplicația web (serverul) care primește imaginile trimise prin MQTT. În cadrul acestui laborator ne vom axa pe clientul mobil responsabil de transmiterea imaginilor. În laboratorul trecut ne-am familiarizat cu aplicația web (serverul) care primește imaginile trimise prin MQTT. În cadrul acestui laborator ne vom axa pe clientul mobil responsabil de transmiterea imaginilor.
- 
-===== Exemple de imagini pentru procesare ===== 
-Puteti folosi ca si exemplu pentru inregistrarea si procesare urmatoarele imagini. Obiectul este cel de a extrage textul din imaginile sau PDF-ul atasat. 
- 
-Din imaginea atasata putem extrage informatie despre persoana, profesia, locul de munca, avizul medical si tipul controlului de medicina muncii. 
-{{ :​ss:​laboratoare:​medicina_muncii.jpeg?​nolink&​250 | Imagine raport medicina muncii}} 
- 
-Pentru a simplifica partea de procesare pe partea de web se pot extrage aceste informatii din fisierul PDF atasat ca alternativa. 
- 
-{{ :​ss:​laboratoare:​vaduva_jan_alexandru.pdf | PDF raport medicina muncii}} 
  
 ===== Recomandări ===== ===== Recomandări =====
Line 19: Line 9:
   * **Mediu de dezvoltare**:​ Utilizați Android Studio ca mediu de dezvoltare. Acesta include un emulator (mașină virtuală), util dacă nu aveți la dispoziție un dispozitiv Android fizic. Cea mai simplă metodă de instalare și gestionare este prin [[https://​www.jetbrains.com/​toolbox-app/​|JetBrains Toolbox]].   * **Mediu de dezvoltare**:​ Utilizați Android Studio ca mediu de dezvoltare. Acesta include un emulator (mașină virtuală), util dacă nu aveți la dispoziție un dispozitiv Android fizic. Cea mai simplă metodă de instalare și gestionare este prin [[https://​www.jetbrains.com/​toolbox-app/​|JetBrains Toolbox]].
   * **Schelet de cod**: Pentru această materie vom utiliza scheletul oficial disponibil [[https://​github.com/​ResearchYou/​ss-mobile|aici]].   * **Schelet de cod**: Pentru această materie vom utiliza scheletul oficial disponibil [[https://​github.com/​ResearchYou/​ss-mobile|aici]].
 +  * **Mașină virtuală**:​ În cazul în care nu dispuneți de un dispozitiv cu Android, puteți folosi emulatorul din Android Studio cu următoarea configurație:​
 +
 +^Setare ​               ^Opțiune ​                                   ^
 +|Device ​               |Pixel 6                                    |
 +|API                   ​|31 ​                                        |
 +|System image          |Google APIs Intel x86_64 Atom System Image |
 +|Camera rear           ​|VirtualScene ​                              |
 +|Default boot          |Cold                                       |
 +|Internal storage ​     |6 GB                                       |
 +|Expanded storage ​     |None                                       |
 +|CPU cores             ​|4 ​                                         |
 +|Graphics acceleration |Automatic ​                                 |
 +|RAM                   |4 GB                                       |
 +|VM heap size          |512 MB                                     |
 +
 +<note warning>​Este posibil ca emulatorul de Android să dea SEGFAULT pe sistemele de operare Linux din cauza driverelor grafice Vulkan, astfel este necesară crearea unui fișier de inițializare denumit ''​advancedFeatures.ini''​ în directorul ''​~/​.android''​ cu următorul conținut:
 +<file ini advancedFeatures.ini>​
 +Vulkan = off
 +GLDirectMem = on
 +</​file>​
 +</​note>​
  
 <note important>​În situația în care nu ați parcurs [[ss:​laboratoare:​01|primul laborator]],​ puteți testa funcționalitatea acestui schelet prin rularea locală a unui broker MQTT și utilizarea unui client care să recepționeze imaginile.</​note>​ <note important>​În situația în care nu ați parcurs [[ss:​laboratoare:​01|primul laborator]],​ puteți testa funcționalitatea acestui schelet prin rularea locală a unui broker MQTT și utilizarea unui client care să recepționeze imaginile.</​note>​
Line 130: Line 141:
     * ''​ImageUtils''​ – procesare formate imagine (YUV → NV21, rotație)     * ''​ImageUtils''​ – procesare formate imagine (YUV → NV21, rotație)
     * ''​PermissionHandler''​ – gestionare permisiuni     * ''​PermissionHandler''​ – gestionare permisiuni
-  * **''​test/''​** – Teste unitare ​(rulează pe JVM)+  * **''​test/''​** – Conține teste unitare ​care rulează ​direct ​pe JVM și sunt folosite pentru a testa logica ce nu depinde de framework-ul Android
-  * **''​androidTest/''​** – Teste instrumentate (rulează pe dispozitiv/​emulator).+  * **''​androidTest/''​** – Teste instrumentate (rulează pe dispozitiv/​emulator), folosite pentru a testa componente ce depind de contextul Android.
  
 ===== Cerințe ===== ===== Cerințe =====
Line 141: Line 152:
   - Testați conexiunea cu brokerul MQTT.   - Testați conexiunea cu brokerul MQTT.
  
 +**Livrabil:​** Directorul ''​received_photos''​ populat cu imaginile capturate din aplicația mobilă
 ===== Resurse ===== ===== Resurse =====
   * Documentație MQTT: [[https://​mqtt.org/​]]   * Documentație MQTT: [[https://​mqtt.org/​]]
ss/laboratoare/02.1772494179.txt.gz · Last modified: 2026/03/03 01:29 by ciprian.popescu0411
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