El gran libro de Android. Jesus Tomás Gironés

El gran libro de Android - Jesus Tomás Gironés


Скачать книгу

      Illustration Vídeo[tutorial]: Clases enumeradas en Kotlin

      Illustration Ejercicio: El enumerado TipoLugar

      En este ejercicio vamos a crear un tipo enumerado para diferenciar entre diferentes tipos de establecimientos en la aplicación Mis Lugares. Además, a cada tipo de lugar le asociaremos un String con el nombre y un recurso gráfico.

      1. Vamos a crear un nuevo tipo enumerado. Para ello pulsa con el botón derecho en el paquete com.example.mislugares. Selecciona New > Java Class e introduce en Name: TipoLugar, en Kind: Enum y pulsa OK.

      2. Reemplaza el código por el siguiente (dejando la línea del package):

Illustration Illustration

      Si quieres puedes definir otros tipos de lugares para adaptar la aplicación a tus necesidades. Observa como a cada constante le asociamos un String con el nombre del tipo de lugar y un entero. El entero se utilizará más adelante para indicar un recurso gráfico en Android con un icono representativo del tipo.

      3. Abre la clase Lugar. En Kotlin añade el código subrayado y salta al punto 8:

Illustration

      En Java añade el siguiente atributo a la clase:

Illustration

      4. Añade el parámetro TipoLugar en el constructor de la clase e inicializa el atributo anterior con este parámetro:

Illustration

      5. Añade los métodos getter y setter correspondientes. Para ello pulsa con el botón derecho y seleccionar la opción Generate > Getter and Setter.

      6. Vamos a volver a generar el método toString(). Para ello pulsa con el botón derecho y seleccionar la opción Generate > toString(). Pulsa Yes para reemplazar el método actual.

      7. Abre la clase Principal y modifica la inicialización del objeto para que se incluya el nuevo parámetro, TipoLugar.EDUCACION, en el constructor.

      8. Verifica el resultado ejecutando el proyecto.

      Illustration Ejercicio: La interfaz RepositorioLugares

      En este ejercicio vamos a crear una interfaz que nos permita almacenar una lista de objetos Lugar. A lo largo del curso esta interfaz será implementada por dos clases. En esta unidad usaremos una lista almacenada en memoria y en la última unidad una base de datos. Usar esta interface nos va a permitir desacoplar la forma en la que almacenamos los datos del resto de la aplicación. Por ejemplo, si en un futuro queremos que los datos se almacenen en la nube, solo será necesario cambiar la implementación de esta interface, dejando idéntica el resto de la aplicación.

      1. Dentro del explorador del proyecto mislugares / java / com.example.mislugares, pulsa con el botón derecho y selecciona New > Java Class o New > Kotlin File/Class.

      2. Introduce en el campo Name: RepositorioLugares y en Kind: Interface.

      3. Reemplaza el código por el siguiente (dejando la línea del package):

Illustration Illustration

      Una clase que implemente esta interfaz va a almacenar una lista de objetos de tipo Lugar. Mediante los métodos indicados vamos a poder acceder y modificar esta lista. Una interfaz también puede tener funciones estáticas, como añadeEjemplos(). En Java solo está permitido con API mínima >24, por lo que lo añadiremos esta función en una clase no abstracta.

      4. Esta interface será usada en uno de los siguientes apartados.

      Illustration Vídeo[tutorial]: Colecciones en Kotlin: introducción

      Illustration Vídeo[tutorial]: Colecciones en Kotlin: List, Set y Map

      Illustration Ejercicio: La clase LugaresLista

      En este ejercicio vamos a crear la clase LugaresLista, que tiene como finalidad almacenar y gestionar un conjunto de objetos Lugar dentro de una lista.

      1. Dentro del paquete com.example.mislugares añade la clase LugaresLista y reemplaza el código por el siguiente:

Illustration Illustration

      2. Pulsa Alt-Intro para que se añadan los import de las clases utilizadas.

Illustration

      3. Para Java, añade la siguiente sobrecarga al constructor a la clase Lugar:

Illustration

      Esto nos permitirá crear un nuevo lugar sin indicar sus atributos.

      4. Abre la clase Principal y reemplaza el código del método main() por:

Illustration

      5. Verifica que el resultado es similar al siguiente:

Illustration

      __________


Скачать книгу