23: Android: el código generado en el proyecto
Cuando creamos un proyecto Android, se genera un módulo por defecto. En ese módulo se encuetran los archivos de nuestro proyecto.
Aunque un proyecto viene con un módulo por defecto, podemos añadirle otros módulos. Crear más módulos dentro de un mismo proyecto, será necesario en los siguientes casos:
El "Explorador de archivos" cuenta con varias "vistas" o maneras de visualizar el "Explorador de archivos". La vista que se muestra por defecto es la llamada vista "Android":
pero si clicamos sobre ella podremos cambiar la vista o manera en que se muestra el "Explorador de archivos":
En cualquier caso, de momento, mantendremos activa la vista "Android".
Si expandimos la carpeta "app", veremos lo siguiente:
Veamos lo que cada uno de esas carpetas y archivos contienen.
1. carpeta "manifests"
En la carpeta "manifests" podemos encontrar el archivo "AndroidManifest.xml":
Es un archivo en formato XML, en el que se indica la configuración de nuestro proyecto.
2. carpeta "java"
La carpeta "java" contiene 3 subcarpetas. La primera de ellas, contiene el código fuente del módulo que se ha generado por defecto al crear el proyecto. Es el corazón de nuestra aplicación Android. Dentro de ella escribiremos nuestro código Java.
En el interior de dicha carpea encontramos el archivo "MainActivity". Este archivo es un archivo con una clase Java en su interior. Aunque no aparezca en el explorador de archivos, la extensión de un archivo Java, es ".java" (MainActivity.java). Si hacemos doble click sobre él aparecera lo siguiente:
La primera linea de dicho archivo se corresponde con el nombre del paquete que identifica a nuestro proyecto. Un paquete o "package" es la manera de referirnos a un grupo de archivos Java que forman por ejemplo una aplicación o una librería.
La segunda linea del mismo archivo empieza por "import". Si hacemos "click" sobre el signo "+" que aparece a la izquierda veremos esto:
En realidad, la linea "import..", aparece "comprimida" y esconde más lineas, en concreto 2.
La primera de esas lineas, esta importando la clase "AppCompatActivity" y la segunda de ellas la clase "Bundle". Cuando importamos una clase, podremos usarlar en el archivo desde donde se están importando. En nuestro caso, en el archivo "MainActivity.java":
En el caso de "AppCompatActivity", hemos importado la clase porque la estamos usando en el "MainActivity" para extender la clase "MainActivity" desde "AppCompatActivity".
Cuando creamos una clase extendiendola desde otra clase, estamos usando el mecanismo de herencia de la POO que Java usa. En este caso decimos que la clase "MainActivy" hereda de la clase "AppCompatActivy", o que la clase "MainActivity" es hija la clase "AppCompatActivity".
En el caso de la clase "Bundle", estamos haciendo referencia a ella porque el parametro de la método "onCreate()", es de tipo "Bundle".
¿Que ocurre si eliminamos alguna de las dos lineas "import..."?
Si eliminamos la primera linea ocurrirá esto:
Como vemos, aparecen en rojo algunas cosas, el tipo "Bundle" del parametro de onCreate(). Como podemos suponer, cuando queremos hacer uso de clases de librerías externas, tendremos que importarlas primeramente.
Para restaurar la linea "import" que hemos borrado, hacemos "click" sobre la palabra Bundle que se ha puesto en rojo, y a continuación pulsamos "Ctrl-Enter" y en el menú contextual que aparece elegimos "Import class". Ahora la linea "import.." aparecerá de nuevo:
Despues de las 2 lineas "import" aparece la definición de la clase "MainActivity".En el interior de esta, aparece la definición del método "onCreate".
En el interior del método "onCreate", vemos que se está llamando al método "setContentView()", que como argumento, se le pasa "R.layout.activity_main". El método setContenView() es el encargado de establecer cual será la "vista" de nuestra aplicación, es decir la interfaz gráfica.
En este caso "R.layout.activity_main" representa al archivo "activity_main.xml" que está en ruta "res > layout > activity_main.xml" del "Explorador de archivos".
Aunque un proyecto viene con un módulo por defecto, podemos añadirle otros módulos. Crear más módulos dentro de un mismo proyecto, será necesario en los siguientes casos:
- Si queramos crear varias versiones de nuestra aplicación: una para dispositivo móvil, otra para Wear, otra para TV, etc, etc.
- Si queremos crear una misma aplicación con un nivel mínimo de SDK distinto del que hemos elegido al crear el proyecto.
Partes de Android Studio
Explorador de archivos:El "Explorador de archivos" cuenta con varias "vistas" o maneras de visualizar el "Explorador de archivos". La vista que se muestra por defecto es la llamada vista "Android":
pero si clicamos sobre ella podremos cambiar la vista o manera en que se muestra el "Explorador de archivos":
En cualquier caso, de momento, mantendremos activa la vista "Android".
Explorando los archivos de nuestro proyecto
En el "Explorador de archivos" podemos encontrar los siguientes carpetas:Si expandimos la carpeta "app", veremos lo siguiente:
Veamos lo que cada uno de esas carpetas y archivos contienen.
1. carpeta "manifests"
En la carpeta "manifests" podemos encontrar el archivo "AndroidManifest.xml":
Es un archivo en formato XML, en el que se indica la configuración de nuestro proyecto.
2. carpeta "java"
La carpeta "java" contiene 3 subcarpetas. La primera de ellas, contiene el código fuente del módulo que se ha generado por defecto al crear el proyecto. Es el corazón de nuestra aplicación Android. Dentro de ella escribiremos nuestro código Java.
En el interior de dicha carpea encontramos el archivo "MainActivity". Este archivo es un archivo con una clase Java en su interior. Aunque no aparezca en el explorador de archivos, la extensión de un archivo Java, es ".java" (MainActivity.java). Si hacemos doble click sobre él aparecera lo siguiente:
La primera linea de dicho archivo se corresponde con el nombre del paquete que identifica a nuestro proyecto. Un paquete o "package" es la manera de referirnos a un grupo de archivos Java que forman por ejemplo una aplicación o una librería.
La segunda linea del mismo archivo empieza por "import". Si hacemos "click" sobre el signo "+" que aparece a la izquierda veremos esto:
En realidad, la linea "import..", aparece "comprimida" y esconde más lineas, en concreto 2.
La primera de esas lineas, esta importando la clase "AppCompatActivity" y la segunda de ellas la clase "Bundle". Cuando importamos una clase, podremos usarlar en el archivo desde donde se están importando. En nuestro caso, en el archivo "MainActivity.java":
En el caso de "AppCompatActivity", hemos importado la clase porque la estamos usando en el "MainActivity" para extender la clase "MainActivity" desde "AppCompatActivity".
Cuando creamos una clase extendiendola desde otra clase, estamos usando el mecanismo de herencia de la POO que Java usa. En este caso decimos que la clase "MainActivy" hereda de la clase "AppCompatActivy", o que la clase "MainActivity" es hija la clase "AppCompatActivity".
En el caso de la clase "Bundle", estamos haciendo referencia a ella porque el parametro de la método "onCreate()", es de tipo "Bundle".
¿Que ocurre si eliminamos alguna de las dos lineas "import..."?
Si eliminamos la primera linea ocurrirá esto:
Como vemos, aparecen en rojo algunas cosas, el tipo "Bundle" del parametro de onCreate(). Como podemos suponer, cuando queremos hacer uso de clases de librerías externas, tendremos que importarlas primeramente.
Para restaurar la linea "import" que hemos borrado, hacemos "click" sobre la palabra Bundle que se ha puesto en rojo, y a continuación pulsamos "Ctrl-Enter" y en el menú contextual que aparece elegimos "Import class". Ahora la linea "import.." aparecerá de nuevo:
Despues de las 2 lineas "import" aparece la definición de la clase "MainActivity".En el interior de esta, aparece la definición del método "onCreate".
En el interior del método "onCreate", vemos que se está llamando al método "setContentView()", que como argumento, se le pasa "R.layout.activity_main". El método setContenView() es el encargado de establecer cual será la "vista" de nuestra aplicación, es decir la interfaz gráfica.
En este caso "R.layout.activity_main" representa al archivo "activity_main.xml" que está en ruta "res > layout > activity_main.xml" del "Explorador de archivos".
Comentarios
Publicar un comentario