dijous, 25 de juliol del 2013

Estructura d'un projecte Android



En desplegar a Eclipse el primer projecte HolaMon veiem una sèrie de carpetes i subcarpetes:

src
Carpeta on s'emmagatzema de forma estructurada el codi font del nostre projecte.
gen
En aquesta carpeta es troba el fitxer R.java. Es genera de forma automàtica,
i no és recomanable modificar ja que inclou identificadors de recursos que pertanyen al projecte, i que es generen per defecte.
res
Conjunt de fitxers de recursos necessaris per a l'execució del projecte, poden ser imatges, vídeos, cadenes de text, etc. Aquests recursos apareixen distribuïts en diferents subcarpetes:



  • res/drawable. Conté les imatges. Susceptible de ser dividit en altres subcarpetes per donar suport a les diferents resolucions que té Android (res/drawable-ldpi, res/drawable-MDPI, res/drawable-hdpi). res/layout. Conté la definició d'interfície gràfica de la nostra aplicació. Al seu torn pot ser subdividit en carpetes, depenent de la resolució de pantalla i / o de l'orientació de la mateixa (alguns exemples són res/layout/, res/layout-land/, res/layout-xlarge, etc)
  • res/anim. Aquí es defineixen les animacions utilitzades en l'aplicació.
  • res/xml. Conté els fitxers XML utilitzats per l'aplicació. 

  • res/values. Conté altres recursos de l'aplicació, com ara cadenes de text (strings.xml), estils (styles.xml), colors (colors.xml), etc. Aquesta carpeta es pot dividir en altres depenent dels idiomes de els que donarem suport en la nostra aplicació. Així doncs, en res/values guardem les dades de l'idioma per defecte, a res/values-es els l'espanyol, a res/values-en els de l'anglès, i així amb molts més idiomes.  
  • res/raw. Conté recursos addicionals que no haguem inclòs en les altres carpetes, com ara bases de dades, fitxers de àudio/vídeo, etc

assets
Aquesta carpeta contindrà fitxers auxiliars, necessaris per la nostra aplicació. La diferència entre la carpeta res/raw i aquesta és que a la primera se li assignaria un ID al recurs accedint a ell a través d'aquells mètodes propis per obtenir els recursos. En canvi per als que es troben situats a la carpeta assets no se'ls assigna cap ID, i per accedir-hi es fa com si d'un sistema de fitxers es tractés. Farem servir un o altre segons les necessitats de la nostra aplicació.


AndroidManifest.xml
En aquest fitxer es defineix els aspectes principals de l'aplicació en format XML, com ara el nom de l'aplicació, la versió, la icona que utilitza, les Activity que la formen, els permisos necessaris per a la seva correcta execució, etc. 



<Manifest. És l'element que engloba tots els altres. Pren una sèrie d'atributs. Els
principals són:
xmlns: android = "http://schemas.android.com/apk/res/android". Ha d'estar sempre, ja que indica l'espai de noms d'Android.
package = "com.lina.cursandroid.holamom". Indica el nom del paquet de la nostra aplicació. Ha de ser únic i un cop pugi l'aplicació al market, aquest nom ja no es
podrà canviar.
android: versionCode = "1". És un nombre enter que serveix per determinar si una versió és més nova que una altra. Cada vegada que actualitzem l'aplicació hem d'augmentar aquest nombre.
android: versionname = "1.0". És el nombre de versió que serà visible per l'usuari.
<uses-sdk>. Serveix per indicar quines versions d'Android podran córrer l'aplicació. En aquest cas s'ha assignat l'atribut android: minSdkVersion = "8", el que indica que com a mínim es necessitaria la versió d'Android 2.2.
<application>. Conté la declaració de l'aplicació, la icona que utilitza, el nom, les Activities, els Services, etc. En aquest cas tenim el següent:
android: icon = "@drawable/ic_launcher". Indica la icona de l'aplicació, que en aquest cas està situat a la carpeta drawable i es diu ic_launcher.png.
android: label = "@string/app_name". Indica el nom de l'aplicació. Sol estar definit  en values​​/strings.xml.
<activity>. S'usa per definir una Activity. Inclou els atributs android: label i android: name.
El primer és per definir l'etiqueta de la Activity (si no s'assigna, s'usa la definida en el  element <application>) i el segon és el nom de la Activity en si. Es pot posar la ruta completa incloent el paquet on es troba, o si, com en aquest cas, la Activity es troba en el mateix paquet definit en l'etiqueta <manifest>, n'hi ha prou només amb posar un punt i el nom d'aquesta.


default.properties

Aquest fitxer el genera automàticament el SDK. MAI s'ha de modificar. S'utilitza per verificar la versió de l'API i altres aspectes quan s'instal·la l'app.





Cap comentari:

Publica un comentari a l'entrada