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:laborator02 [2015/03/02 07:54]
Andrei Roșu-Cojocaru [Componentele unei Activități]
laboratoare:laborator02 [2015/03/04 09:37] (current)
Andrei Roșu-Cojocaru [Activitate de Laborator]
Line 1: Line 1:
-====== Laborator 02. Structura unei Aplicații ​Android ​(I) ======+====== Laborator 02. Structura unei Aplicații (I) ======
  
 O aplicație Android poate conține mai multe componente: O aplicație Android poate conține mai multe componente:
Line 152: Line 152:
 <note tip>​Distincția între cele două situații în care o activitate este distrusă poate fi realizată prin intermediul metodei ''​isFinishing()''​.</​note>​ <note tip>​Distincția între cele două situații în care o activitate este distrusă poate fi realizată prin intermediul metodei ''​isFinishing()''​.</​note>​
  
-{{ :​laboratoare:​laborator02:​ciclul_de_viata_al_unei_activitati_2.png?​nolink&​500 }}+{{ :​laboratoare:​laborator02:​ciclul_de_viata_al_unei_activitati_2.png?​nolink&​700 }}
  
 <note important>​Fiecare dintre metodele ce gestionează ciclul de viață al activității trebuie să apeleze metoda părintelui. În cazul metodei ''​onCreate()'',​ este necesar ca acest lucru să fie realizat la începutul metodei.</​note>​ <note important>​Fiecare dintre metodele ce gestionează ciclul de viață al activității trebuie să apeleze metoda părintelui. În cazul metodei ''​onCreate()'',​ este necesar ca acest lucru să fie realizat la începutul metodei.</​note>​
Line 605: Line 605:
 ==== Depanarea unei aplicații Android ==== ==== Depanarea unei aplicații Android ====
  
 +Depanarea unei aplicații Android poate fi realizată în mod clasic, ca în cazul oricărui proiect (prin stabilirea unor puncte în care execuția codului sursă este întreruptă și rularea pas cu pas) sau prin intermediul unor utilitare specifice.
 +
 +În cadrul mediului integrat de dezvoltare Eclipse Luna SR1a (4.4.1), depanarea unei aplicații este facilitată prin împărțirea ecranului în mai multe perspective între care programatorul are posibilitatea de a comuta:
 +  * Java - pentru realizarea de modificări la nivelul codului sursă
 +  * Debug - pentru monitorizarea pas cu pas a execuției programului,​ cu posibilitatea de consultare a valorilor pe care le au la un moment dat diferite obiecte
 +  * DDMS - pentru furnizarea de informații detaliate la nivel de procese, fire de execuție, sistem de fișiere, memorie ocupată, evenimente specifice dispozitivelor mobile
 +  * Hierarchy View - pentru vizualizarea ierarhiei de componente grafice din cadrul interfeței afișate utilizatorului
 +
 +{{ :​laboratoare:​laborator02:​eclipse_perspectives_for_android.png?​nolink }}
 === Android Debug Bridge (ADB) === === Android Debug Bridge (ADB) ===
 Android Debug Bridge este un utilitar în linie de comandă care permite comunicarea cu cu un dispozitiv mobil fizic sau cu un emulator, prin intermediul unui program client-server ce include 3 componente: ​ Android Debug Bridge este un utilitar în linie de comandă care permite comunicarea cu cu un dispozitiv mobil fizic sau cu un emulator, prin intermediul unui program client-server ce include 3 componente: ​
Line 727: Line 736:
  
 Consultarea sistemului de fișiere al dispozitivului mobil poate fi realizat prin intermediul panoului **//File Explorer//​**,​ putând fi vizualizate datele aplicației,​ stocate în ''​data/​data/<​package-name>'',​ unde ''<​package-name>''​ este denumirea pachetului corespunzător aplicației investigate. Consultarea sistemului de fișiere al dispozitivului mobil poate fi realizat prin intermediul panoului **//File Explorer//​**,​ putând fi vizualizate datele aplicației,​ stocate în ''​data/​data/<​package-name>'',​ unde ''<​package-name>''​ este denumirea pachetului corespunzător aplicației investigate.
 +
 +{{ :​laboratoare:​laborator02:​ddms_file_explorer.png?​nolink&​600 }}
  
 **Simularea unor evenimente de tip întrerupere pentru emulator** **Simularea unor evenimente de tip întrerupere pentru emulator**
Line 809: Line 820:
     - se apasă butonul //OK// din cadrul aplicației (indiferent dacă datele de autentificare sunt corecte sau nu)     - se apasă butonul //OK// din cadrul aplicației (indiferent dacă datele de autentificare sunt corecte sau nu)
     - se ține apăsat butonul //Home// o perioadă de timp mai mare     - se ține apăsat butonul //Home// o perioadă de timp mai mare
-    - se primește un apel telefonic\\ a) pentru ​dispozitive fizice root-ate / AVD, se poate folosi //DDMS// → //Emulator Control//\\ b) pentru Genymotion se poate simula doar formarea unui număr de telefon <​code>​+    - se primește un apel telefonic\\ a) pentru AVD, se poate folosi //DDMS// → //Emulator Control//\\ b) pentru Genymotion se poate simula doar formarea unui număr de telefon <​code>​
 student@pdsd2015:/​opt/​android-sdk-linux/​platform-tools$ adb devices student@pdsd2015:/​opt/​android-sdk-linux/​platform-tools$ adb devices
 List of devices attached ​ List of devices attached ​
 192.168.56.101:​5555 device 192.168.56.101:​5555 device
 student@pdsd2015:/​opt/​android-sdk-linux/​platform-tools$ adb -s 192.168.56.101:​5555 shell student@pdsd2015:/​opt/​android-sdk-linux/​platform-tools$ adb -s 192.168.56.101:​5555 shell
-student@pdsd2015:/opt/​android-sdk-linux/​platform-tools$ ​am start -a android.intent.action.CALL tel:​1122334455+root@android:/ # am start -a android.intent.action.CALL tel:​1122334455
 </​code>​ </​code>​
       - se acceptă convorbirea       - se acceptă convorbirea
laboratoare/laborator02.1425275651.txt.gz · Last modified: 2015/03/02 07:54 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