Tutorial Android (3) – Cum sa dezvolti, testezi si sa intelegi o aplicatie de tip Hello World
In acest articol vom vedea modul de utilizare a
mediului de lucru Eclipse si a plugin-ului ADT (Android Development
Toolkit) pentru a dezvolta o aplicatie mobila Android, clasicul exemplu Hello World!
. In ciuda simplitatii sale, aplicatia imprima doar un mesaj pe ecran,
ea este foarte importanta pentru a intelege platforma Android deoarece
structura ei reprezinta nucleul pentru orice alta aplicatie mobila
Android.
Alte concepte descrise in acest articol va vor ajuta sa:- creati un proiect pentru o aplicatie mobila Android utilizand Eclipse si plugin-ul ADT (Android Development Toolkit);
- testati aplicatia folosind diferite emulatoare pentru dispozitive mobile Android ;
- intelegeti si sa cititi structura proiectului Android.
Alte subiecte care fac parte din acest tutorial Android sunt accesibile prin intermediul articolului Tutorial Android – Descriere si cuprins.
Software-ul necesar pentru a dezvolta aplicatia Android Hello World este descris in Tutorial Android (01) – Instrumente necesare si configurare mediu de lucru, iar unele concepte cheie la care se face referire in acest articol au fost descrise in detaliu in Android Tutorial (02) – Concepte, activitati si resurse ale unei aplicatii Android.
Cum sa dezvolti prima aplicatie Android, Hello World
- Dupa ce ati pornit mediul de lucru Eclipse, configurati spatiul de lucru intr-o locatie cunoscuta; in Eclipse acest lucru se face selectand File –> Switch Workspace –> Other…din meniul principal;
- Din meniul IDE-ului Eclipse, selectati File -> New -> Project (NUJava Project);
- Daca ati instalat plugin-ul ADT (Android Development Toolkit) si SDK-ul Android (daca NU, atunci cititi Tutorial Android (01) – Instrumente necesare si configurare mediu de lucru), veti vedea categoria Android in fereastra de dialog New Project; din aceasta selectati Android Project;
- Setati proprietatile pentru proiectul Android:
- Project name (Numele proiectului): HelloWorldAndroid;
- Create new project in workspace (Creati un nou proiect in spatiul de lucru): bifat (valoare implicita);
- Use default location (Utilizati locatia implicita): in mod implicit in spatiul de lucru Eclipse sau o puteti modifica;
- Build target (Versiune platforma Android): selectati Android 2.3.3 (Gingerbread), deoarece de la versiunea 3.0 (Honeycomb), platforma Android este destinata tabletelor si dispozitivelor cu ecran mai mare;
- Application name (Numele apicatiei): Hello World Android (acesta este numele care va fi afisat si in bara de titlu a ferestrei principale);
- Package name (Numele pachetului): eu.itcsolutions.tutorial.android (aceasta corespunde conventiilor Java de denumire pentru pachete);
- Create Activity (Crearea activitate): HelloActivity (lasati bifata optiunea si setati numele activitatii);
- Min SDK Versiune: 10;
- Asta este tot; apasati Finish.
Cum sa testezi aplicatia Android, Hello World
Daca vrem sa testam aplicatie Android Hello World trebuie sa folosim un emulator pentru platforma Android – un Android Virtual Device (AVD). Emulatoarele sunt gestionate de Android SDK and AVD manager (citeste Tutorial Android (01) – Instrumente necesare si configurare mediu de lucru).Deoarece emulatorul sau dispozitivul virtual – Android Virtual Device (AVD) ia ceva timp sa se incarce este mai bine sa-l deschideti si sa il lasati sa ruleze intre intre sesiuni diferite de testare a aplicatiei. Deoarece vom folosi platforma Android 2.3.3 ( Gingerbread), vom crea un AVD pentru ea:
- deschide Android SDK and AVD manager din Windows folosind Start -> Programs -> Android SDK Tools sau din Eclipse, utilizând optiunea Window -> Android SDK and AVD Manager din meniu;
- in panoul din stânga, selectati categoria Virtual devices;
- in panoul principal faceti clic pe butonul New…;
- in fereastra Create new Android Virtual Device setati numele emulatorului virtual ( A ), Platforma Android ( B ), dimensiunea cardului de memorie ( C ), skin-ul emulatorului (D ) si alte setari hardware ( E);
- selectati dispozitivul virtual nou creat (A) si porneste emulatorul cu ajutorul butonului Start… butonul (B);
- definiti setarile de afisare a emulatorului:
- asteptati pentru a se incarca emulatorul (poate dura pâna la 1-2 minute):
Daca doriti sa schimbati modul in care se executa aplicatia mobila Android (poate doriti sa o testati) puteti utiliza optiunea Run -> Run As din meniul Eclipse.
Dupa ce a aplicatia a inceput sa ruleze in emulator, veti vedea mesajul simplu Hello World, HelloActivity! pe ecranul dispozitivului virtual.
- Important !
- Intre sesiuni diferite de rulare a aplicatiei, nu inchideti emulatoru deoarece trebuie sa asteptati ca acesta sa se incarce de fiecare data. Lasati-l sa ruleze si de fiecare data când porniti aplicatia Android, acesta va fi reincarcata automat in emulator.
Cum sa citesti si sa intelegi aplicatia Hello World
In ciuda simplitatii sale, aplicatia tip Hello World este importanta deoarece va ajuta sa intelegeti:- pasii de dezvoltare;
- modul de utilizare a instrumentelor de dezvoltare;
- Important ! structura si componentele aplicatiei mobile Android;
Daca ne uitam la structura proiectului Android in fereastra Package Explorer din Eclipse vom observa o serie de directoare:
- src/ – utilizat pentru a stoca toate fisierele Java ale proiectului Android, care sunt definite de programator; contine clase utilitare interne sau clase asociate cu activitati, Views, …; fisierul HelloActiviy.java contine definitia clasei HelloActivity , care este derivata din clasa Activity; clasa HelloActivity gestioneaza formularul principal al aplicatiei si furnizeaza metode pentru evenimente ce notifica schimbarile care survin in starea activitatii (cum ar fi onCreate(Bundle savedInstanceState))
public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { //call to the base class method super.onCreate(savedInstanceState); //set the layout of the display setContentView(R.layout.main); } }
- gen/ – folosit pentru a stoca fisiere Java generate de IDE si plugin-ul ADT; daca va reamintiti noutiunile din Android Tutorial (02) – Concepte, activitati si resurse ale unei aplicatii Android, pentru fiecare resursa din directorul res, este generat un ID unic in fisierul R.java; ID-ul este folosit pentru a referi aceste resurse fara a utiliza siruri de caractere constante; dupa cum se poate observa in metoda onCreate() din clasa HelloActivity, se utilizeaza declaratia R.layout.main pentru a referi design-ul interfetei ce este definit de fisierul main.xml.
public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { //id of the application name string public static final int app_name=0x7f040001; //id of the Hello World, HelloActivity! string public static final int hello=0x7f040000; } }
- Important !
- Nu este recomandat sa modificati direct fisierul R.java deoarece acesta este generat automat de plugin-ul ADT.
- res/ – utilizat pentru stocarea resurselor aplicatiei mobile (Android Tutorial (02) – Concepte, activitati si resurse ale unei aplicatii Android); fiecare nume de subdirector are o semnificatie (de exemplu, directorul layout contine setarile, sub forma de fisier XML, pentru interfata aplicatiei); de exemplu directorul res/values/ contine fisiere XML care stocheaza diferite tipuri de valori, cum ar fi siruri de caractere in strings.xml.
- Important !
- Deoarece fisierele ce definesc resurse sunt compilate, NU salvati fisiere direct in interiorul directorului res/, deoarece aceasta va provoca o eroare de compilare.
<resources> <string name="hello">Hello World, HelloActivity!</string> <string name="app_name">Hello World Android</string> </resources>
- AndroidManifest.xml – fisierul XML reprezinta fisierul manifest al aplicatiei Android utilizat pentru a declara componentele aplicatiei, permisiunile utilizatorilor, nivelul minim al API-ului Android necesar rularii aplicatiei, specificatii hardware si software si alte caracteristici (pentru detalii puteti citi Android Developers page on the Manifest File):
Fereastra principala a aplicatiei mobile Android este gestionata de un obiect de tip Activity (Android Tutorial (02) – Concepte, activitati si resurse ale unei aplicatii Android). Continutul ferestrei/formularului este compus din obiecte de tip View. In exemplul anterior, textul face parte dintr-un control de tip TextView.
In articolele urmatoare vor fi detaliate metodele de proiectare si de control al interfatei pentru aplicatii mobile Android.
Alte subiecte care fac parte din acest tutorial Android sunt accesibile prin intermediul articolului Tutorial Android – Descriere si cuprins.
Daca ai probleme cu exemplele sau crezi ca nu ai inteles elementele descrise, pune o intrebare in zona de comentarii si iti vom raspunde imediat. De asemenea, orice sugestie sau obervatie care duce la imbunatatirea materialului este bine venita.
Daca ti-a placut sau ti-a fost util acest tutorial atunci spune-le si altora despre el sau arunca-ti o privire pe reclamele din aceasta pagina. Referirea acestui material este cel mai bun mod de a aprecia autorul.