This shows you the differences between two versions of the page.
|
pdm:laboratoare:02 [2016/03/20 23:48] alexandru.radovici [Structura] |
pdm:laboratoare:02 [2016/03/20 23:54] (current) alexandru.radovici |
||
|---|---|---|---|
| Line 9: | Line 9: | ||
| * Programale de compilare a aplicațiilor | * Programale de compilare a aplicațiilor | ||
| - | Pentru a face instalarea mai ușoară, Google oferă un pachet cu toate cele trei componente configurate. Acesta se numește ADT Bundle și se poate descărca de la adresa [[http://developer.android.com/sdk/index.html|acesta]]. Fișierul este o arhivă zip, care conține două directoare: eclipse și sdk. În primul director se află editorul, iar în al doilea se află compilatorul, biblioteciile și simulatoarele de Android. În continuare, vom denumi SDK_ROOT directorul în care am dezarhivat ADT Bundle. Vom porni editorul Eclipse din SDK_ROOT/Eclipse/eclipse. În Windows, acesta se numește eclipse.exe. Odată pornit, va trebui să verificăm că avem instalate toate pachetele necesare. Pentru acesta, vom merge în eclipse, la meniul Window/Android SDK Manager. {{ :laboratoare:figura_2.png | Android SDK Manager}} Verificăm să fie instalate următoarele: | + | Pentru a face instalarea mai ușoară, Google oferă un pachet cu toate cele trei componente configurate. Acesta se numește ADT Bundle și se poate descărca de la adresa [[http://developer.android.com/sdk/index.html|acesta]]. Fișierul este o arhivă zip, care conține două directoare: eclipse și sdk. În primul director se află editorul, iar în al doilea se află compilatorul, biblioteciile și simulatoarele de Android. În continuare, vom denumi SDK_ROOT directorul în care am dezarhivat ADT Bundle. Vom porni editorul Eclipse din SDK_ROOT/Eclipse/eclipse. În Windows, acesta se numește eclipse.exe. Odată pornit, va trebui să verificăm că avem instalate toate pachetele necesare. Pentru acesta, vom merge în eclipse, la meniul Window/Android SDK Manager. |
| + | {{ :pdm:laboratoare:figura_2.png | Android SDK Manager}} | ||
| + | Verificăm să fie instalate următoarele: | ||
| * Android SDK Tools | * Android SDK Tools | ||
| Line 95: | Line 97: | ||
| </code> | </code> | ||
| - | Pentru ca functia sa fie apelata la apasarea butonului, va trebui sa facem legatura intre buton si functie. Acest lucru se poate face in doua moduri: din codul programului sau din fisierul . Alegem cea de-a doua varianta, in care vom adauga urmatoarea linie in tag-ul butonului: ''%%android:onClick="apasa"%%'' Pentru a rula aplicatia, este necesar un simulator. Vom crea unul astfel: in Eclipse vom selecta | + | Pentru ca functia sa fie apelata la apasarea butonului, va trebui sa facem legatura intre buton si functie. Acest lucru se poate face in doua moduri: din codul programului sau din fisierul . Alegem cea de-a doua varianta, in care vom adauga urmatoarea linie in tag-ul butonului: |
| + | |||
| + | <code>android:onClick="apasa"</code> | ||
| + | |||
| + | Pentru a rula aplicatia, este necesar un simulator. Vom crea unul astfel: in Eclipse vom selecta | ||
| {{ :laboratoare:figura_3.png |}} | {{ :laboratoare:figura_3.png |}} | ||
| Line 109: | Line 115: | ||
| Utilitarul pentru depanarea aplicatiilor pentru Android se numeste DDMS (Dalvik Debug Monitor System). Acesta foloseste de fapt un alt utilitar, numit ADB (Android Debug Bridge), pentru a se conecta la simulatoare sau dispozitive fizice. Cu ajutorul DDMS putem vizualiza parametrii dispozitivului si a programelor ce ruleaza pe acesta. DDMS poate fi accesat sub forma unei perspective in Eclipse. | Utilitarul pentru depanarea aplicatiilor pentru Android se numeste DDMS (Dalvik Debug Monitor System). Acesta foloseste de fapt un alt utilitar, numit ADB (Android Debug Bridge), pentru a se conecta la simulatoare sau dispozitive fizice. Cu ajutorul DDMS putem vizualiza parametrii dispozitivului si a programelor ce ruleaza pe acesta. DDMS poate fi accesat sub forma unei perspective in Eclipse. | ||
| - | Activarea se face din meniul: ''%%Window%%'' ''%%->%%'' ''%%Open%%'' ''%%Perspective%%'' ''%%->%%'' ''%%DDMS%%'' | + | Activarea se face din meniul: |
| + | <code>Window -> Open Perspective -> DDMS</code> | ||
| Line 116: | Line 123: | ||
| Cele mai importrante functii pe care DDMS le poate indeplini sunt: | Cele mai importrante functii pe care DDMS le poate indeplini sunt: | ||
| - | ''%% * Afisarea log-urilor dispozitivelor%%''\\ | + | * Afisarea log-urilor dispozitivelor |
| - | ''%% * Afisarea informatiilor despre procesele curente %%''\\ | + | * Afisarea informatiilor despre procesele curente |
| - | ''%% * Controlul simulatoarelor%%'' | + | * Controlul simulatoarelor |
| === Dispozitive === | === Dispozitive === | ||
| Line 194: | Line 201: | ||
| <code java> | <code java> | ||
| - | public class Evenimente extends Activity { | + | public class Evenimente extends Activity |
| - | + | { | |
| - | ''%% @Override%%''\\ | + | @Override |
| - | ''%% public void onCreate(Bundle savedInstanceState) %%''\\ | + | public void onCreate(Bundle savedInstanceState) |
| - | ''%% {%%''\\ | + | { |
| - | ''%% super.onCreate(savedInstanceState);%%''\\ | + | super.onCreate(savedInstanceState); |
| - | ''%% }%%''\\ | + | } |
| - | \\ | + | |
| - | ''%% @Override%%''\\ | + | @Override |
| - | ''%% public void onStart ()%%''\\ | + | public void onStart () |
| - | ''%% {%%''\\ | + | { |
| - | ''%% super.onStart();%%''\\ | + | super.onStart(); |
| - | ''%% }%%''\\ | + | } |
| - | \\ | + | |
| - | ''%% @Override%%''\\ | + | @Override |
| - | ''%% public void onRestart ()%%''\\ | + | public void onRestart () |
| - | ''%% {%%''\\ | + | { |
| - | ''%% super.onRestart();%%''\\ | + | super.onRestart(); |
| - | ''%% }%%''\\ | + | } |
| - | \\ | + | |
| - | ''%% @Override%%''\\ | + | @Override |
| - | ''%% public void onResume ()%%''\\ | + | public void onResume () |
| - | ''%% {%%''\\ | + | { |
| - | ''%% super.onResume();%%''\\ | + | super.onResume(); |
| - | ''%% }%%''\\ | + | } |
| - | \\ | + | |
| - | ''%% @Override%%''\\ | + | @Override |
| - | ''%% public void onPause ()%%''\\ | + | public void onPause () |
| - | ''%% {%%''\\ | + | { |
| - | ''%% super.onPause();%%''\\ | + | super.onPause(); |
| - | ''%% }%%''\\ | + | } |
| - | \\ | + | |
| - | ''%% @Override%%''\\ | + | @Override |
| - | ''%% public void onStop ()%%''\\ | + | public void onStop () |
| - | ''%% {%%''\\ | + | { |
| - | ''%% super.onStop();%%''\\ | + | super.onStop(); |
| - | ''%% }%%''\\ | + | } |
| - | \\ | + | |
| - | ''%% @Override%%''\\ | + | @Override |
| - | ''%% public void onDestroy ()%%''\\ | + | public void onDestroy () |
| - | ''%% {%%''\\ | + | { |
| - | ''%% super.onDestroy();%%''\\ | + | super.onDestroy(); |
| - | ''%% }%%''\\ | + | } |
| - | \\ | + | |
| - | ''%% // functii folosite pentru salvarea si restaurarea starii %%''\\ | + | // functii folosite pentru salvarea si restaurarea starii |
| - | \\ | + | |
| - | ''%% @Override%%''\\ | + | @Override |
| - | ''%% public void onSaveInstanceState (Bundle outState)%%''\\ | + | public void onSaveInstanceState (Bundle outState) |
| - | ''%% {%%''\\ | + | { |
| - | ''%% // apelarea functiei din activitatea parinte este recomandata, dar nu obligatorie%%''\\ | + | // apelarea functiei din activitatea parinte este recomandata, dar nu obligatorie |
| - | ''%% super.onSaveInstanceState(outState);%%''\\ | + | super.onSaveInstanceState(outState); |
| - | ''%% }%%''\\ | + | } |
| - | \\ | + | |
| - | ''%% @Override%%''\\ | + | @Override |
| - | ''%% public void onRestoreInstanceState (Bundle inState)%%''\\ | + | public void onRestoreInstanceState (Bundle inState) |
| - | ''%% {%%''\\ | + | { |
| - | ''%% // apelarea functiei din activitatea parinte este recomandata, dar nu obligatorie%%''\\ | + | // apelarea functiei din activitatea parinte este recomandata, dar nu obligatorie |
| - | ''%% super.onRestoreInstanceState(inState);%%''\\ | + | super.onRestoreInstanceState(inState); |
| - | ''%% }%%'' | + | } |
| } | } | ||
| </code> | </code> | ||