Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
laboratoare:laborator02 [2015/03/02 09:47] Andrei Roșu-Cojocaru [DDMS] |
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 811: | 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 | ||
