Diferencia entre revisiones de «PDM UD1 CoñecendoAndroidStudio»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 8: Línea 8:
  
 
==Crear un proxecto Android: OlaMundo==
 
==Crear un proxecto Android: OlaMundo==
 +
 +
* Imos crear un proxecto de Android que nos vai servir de 'base' para facer a unidade 2.
 +
 +
 
<gallery caption="Ola Mundo" widths="350" heights="300px" perrow="2">
 
<gallery caption="Ola Mundo" widths="350" heights="300px" perrow="2">
 
Image:PDM_Interface_1_.jpg| Comezamos creando un novo proxecto de Android.
 
Image:PDM_Interface_1_.jpg| Comezamos creando un novo proxecto de Android.
Línea 15: Línea 19:
 
Image:PDM_Interface_5_.jpg| Como paso final indicamos o nome da activity e do seu layout (un layout ven ser a parte gráfica da activity, imos especificar a posición dos botóns, caixas de texto,...).  O layout soamente pode ter letras minúsculas, números e _. Desmarcaremos o check '''Backwards Compatibility'''. Isto fai que ao proxecto non se engada unha librería de compatibilidade. As librerías de compatibilidade son usadas por Android para que as novas funcionalidades que van aparecendo poidan ser utilizadas por versións anteriores. Máis información [https://developer.android.com/topic/libraries/support-library/features.html neste enlace]. Prememos o botón '''Finish'''.  
 
Image:PDM_Interface_5_.jpg| Como paso final indicamos o nome da activity e do seu layout (un layout ven ser a parte gráfica da activity, imos especificar a posición dos botóns, caixas de texto,...).  O layout soamente pode ter letras minúsculas, números e _. Desmarcaremos o check '''Backwards Compatibility'''. Isto fai que ao proxecto non se engada unha librería de compatibilidade. As librerías de compatibilidade son usadas por Android para que as novas funcionalidades que van aparecendo poidan ser utilizadas por versións anteriores. Máis información [https://developer.android.com/topic/libraries/support-library/features.html neste enlace]. Prememos o botón '''Finish'''.  
 
Image:PDM_Interface_6_.jpg| Observar como o nome da clase Java garda relación co indicado na imaxe anterior.
 
Image:PDM_Interface_6_.jpg| Observar como o nome da clase Java garda relación co indicado na imaxe anterior.
−
Image:PDM_Interface_7_.jpg| O mesmo acontece co ficheiro XML do layout.
+
Image:PDM_Interface_7_.jpg| O mesmo acontece co ficheiro XML do layout. Comentar que no layout se definen o aspecto,posicións e elementos gráficos da cada Activity.
 
Image:PDM_Interface_8_.jpg| Ficheiro XML que define o Layout e os elementos que o compoñen. Por agora ten unha etiqueta.
 
Image:PDM_Interface_8_.jpg| Ficheiro XML que define o Layout e os elementos que o compoñen. Por agora ten unha etiqueta.
 
</gallery>
 
</gallery>
−
 
  
 
==Ficheiros do proxecto Android==
 
==Ficheiros do proxecto Android==

Revisión del 18:27 14 ago 2016

Introdución

  • Neste apartado vanse describir os cartafoles e ficheiros máis esenciais dos que se compón un proxecto Android.
  • Comezaremos creando un proxecto: OlaMundo, e estudaremos as partes nas que se divide.
  • Os proxectos vanse nomear e numerar da seguinte forma: U2_XX_NomeDaAplicación, para facilitar o seguimento. Sendo U2 a unidade 2 e XX o número de proxecto dentro da Unidade.
  • Estes van estar no seguinte cartafol /ProxectosStudio/PlategaAndroid/Unidade2/<proxectos>


Crear un proxecto Android: OlaMundo

  • Imos crear un proxecto de Android que nos vai servir de 'base' para facer a unidade 2.


Ficheiros do proxecto Android

A continuación imos ver os contidos dos distintos cartafoles que compoñen un proxecto.

/app/

  • É o nome do módulo da aplicación.
  • Un módulo ven ser un conxunto de arquivos dunha aplicación (activities, layouts,...) e arquivos de configuración do Android Studio e da aplicación.
  • Un módulo pode depender doutro para a súa execución ou poden ser totalmente independentes.
  • Por defecto, cando creamos un proxecto AndroidStudio, crea un módulo de nome 'app'.

Máis información neste enlace.

/app/java

Nota: Ven ser no que en Eclipse era /src/. Veremos mais adiante que podemos cambiar a 'vista' de como se visualiza o proxecto e volver a ter o cartafol /src/.

/app/res

Cartafol /app/res (Resources/Recursos): almacena todos os ficheiros de recursos necesarios para a aplicación: imaxes, vídeos, ficheiros xml, animacións, ficheiros para a internacionalización, etc.


PDM UD1 Estrutura 3.jpg


  • /app/res/drawble: Almacena as imaxes da aplicación en función da densidade (dpi) do dispositivo de destino. En Android veremos que podemos ter diferentes resolucións de imaxes para que a aplicación se vexa correctamente en dispositivos de tamaños e resolucións diferentes. Estas imaxes gardaríanse dentro dun cartafol de nome 'drawble-sufixo' no que o sufixo indicará con que código a que tipo de dispositivo debe cargarse as imaxes que estean dentro do cartafol. Por exemplo, o cartafol '/res/drawable-large' tería imaxes que se cargaría con dispositivo de entre 4 e 7 polgadas aproximadamente (observar imaxe).
  • /app/res/layout: Almacena os ficheiros xml onde se definen os elementos gráficos e a súa disposisición, das distintas pantallas que compoñen a aplicación. Igual que no caso anterior tamén imos poder ter diferentes sufixos para cargar layouts en función dos dispositivos. Así, por exemplo, se creamos o cartafol /app/res/layout-land cargaríamos os layouts que estean dentro deste cartafol cando teñamos o dispositivo en posición 'apaisada', é dicir, tumbado.
  • /app/res/mipmap: Almacena a icona que vai representar a aplicación cando estea instalada nun dispositivo. Ven ser a icona de lanzamento. Pódese ver na imaxe que indica que hai 5 iconas. Isto é así xa que crea unha por cada tipo de densidade. A densidade a veremos máis adiante pero ven ser o número de puntos por pulgada que ten o dispositivo. Fisicamente temos un cartafol por cada unha das densidades e dentro de cada cartafol temos o arquivo a cargar, o que pasa que AndroidStudio oculta os cartafoles. Tam
  • /app/res/values: Almacena constantes que definen: cadeas de texto, estilos, cores, dimensións, etc.
  • dimens.xml Están declaradas as dimensións que se usaban no layout.
  • strings.xml Están declaradas cadeas de texto. A última é usada no layout, logo veremos onde se usan as demais.
  • colors.xml Están declaradas constantes que representar unha cor.
  • styles.xml Están declaradas constantes que representan estilos (como se van representar os elementos gráficos e as activities, como podan ser a combinación de cores, negrilla, cursiva, se vai ter menú,...)
  • Hai máis arquivos e cartafoles para xa o iremos vendo.

Nota: Todos son arquivos de configuración son XML que poden ser editados. Máis información neste enlace.

/gen

O cartafol /gen contén codigo Java creado automaticamente ao compilar a aplicación. O ficheiro máis importante é R.java.

/assets

  • Contén o resto de ficheiros que se precisen para a aplicación: ficheiros de configuración, de datos, etc. Para acceder a estes recursos non se fai a a través da clase R senón que a través da súa ruta no sistema

Archivo:Android 2013 U2 01 OlaMundo 25.jpg


/bin

  • Unha vez que se compila a aplicación xerase o apk da aplicación para poder ser instalada nun dispositivo.

Ficheiro AndroidManifest.xml

  • Contén a definición das características máis importantes da aplicación: nome, versión, icono, activities, servizos, instrumentación, permisos de acceso aos recursos, etc.

Importando clases necesarias dentro dunha activity

Manualmente

  • Cando utilizamos novas clases dentro dunha actiivity, é necesario importalas para poder facer uso delas.
Por exemplo, se quere usar un TextView (ven ser un label de texto), podería poñer este código na Activity:
 1 public class MainActivity extends Activity {
 2 
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_main);
 7 
 8         TextView texto = new TextView(this);
 9     }
10 }
Ao facelo, veremos que se pon en vermello a clase TextView e que se nos informa que podemos premer a combinación de teclas Alt + Intro:

PDM UD1 CoñecendoAndroidStudio 1.jpg


Se prememos dita combinación podemos ver como se engade automaticamente o 'import' correspondente a clase TextView:
 1 import android.app.Activity;
 2 import android.os.Bundle;
 3 import android.widget.TextView;
 4 
 5 public class MainActivity extends Activity {
 6 
 7     @Override
 8     protected void onCreate(Bundle savedInstanceState) {
 9         super.onCreate(savedInstanceState);
10         setContentView(R.layout.activity_main);
11 
12         TextView texto = new TextView(this);
13     }
14 }


Automaticamente

  • Para facer que o Android Studio importe automaticamente as clases, debemos cambiar a configuración do IDE:

Unha vez feito o anterior xa engade automaticamente as clases.



  • Pode suceder que ao querer utilizar unha clase, esta poda provir de dous paquetes diferentes. Neste caso teremos que utilizar a combinación de clase Alt+Intro e escoller o paquete correcto:



Modificando a versión compilada de debug a release





-- Ángel D. Fernández González -- (2016).