Entradas

Mostrando entradas de agosto, 2019

Navegando por la aplicación (2ª parte)

Imagen
En esta entrada, que es una continuación de Navegando entre fragmentos , vamos a ver cómo facilitar al usuario otras maneras de navegar por una aplicación, y concretamente, partiendo de la aplicación Test CI que vimos en esa entrada, vamos a añadir nuevas posibilidades para moverse entre fragmentos. Para ello vamos a presentar el contenido secuenciado en tres pasos a modo de objetivos:

Clases restringidas o selladas (sealed classes) en Kotlin

Imagen
Antes de entrar en las clases selladas vamos a recordar lo que vimos en su día sobre los enumerados o enum class en Kotlin con un ejemplo:

Navegando entre fragmentos

Imagen
En esta entrada vamos desarrollar una aplicación para ilustrar el uso de fragmentos (en la primera parte) y las rutas de navegación (en una segunda parte) en Android con Kotlin. La aplicación representa un sencillo test de inteligencia cuyo diseño se distribuye en varios componentes principales (estos componentes nos servirán de referencia a la hora de crear los fragmentos):

Android Studio con Java 8

Imagen
Desde la versión 3.0 (y posteriores) Android Studio admite todas las funciones del lenguaje Java 7 además de un subconjunto de funciones de Java 8 que varía según la versión de la plataforma (hay que tener en cuenta que, aunque el uso de Java 8 es opcional, para la compilación de aplicaciones con Java 7 se debe usar JDK 8).

Fundamentos de Android: Introducción a los Fragmentos

Imagen
Android introduce los fragmentos en Android 3.0 (nivel de API 11) principalmente para admitir diseños de la interfaz de usuario (IU o UI, de user interface ) más dinámicos y flexibles en pantallas grandes, como las de las tablets, dividiendo el diseño de una actividad en fragmentos, lo que permite modificar el aspecto de la actividad en tiempo de ejecución. Un fragmento ( fragment ) representa una parte de la IU en una actividad. Podemos combinar múltiples fragmentos en una sola actividad para construir una IU compleja,

Operaciones con colecciones IX: Operaciones de escritura

Imagen
Aunque más adelante veremos otras características y funcionalidades de las colecciones, y concretamente operaciones específicas para listas, conjuntos y diccionarios, con esta entrada terminamos la serie dedicada a las operaciones con colecciones . Las colecciones mutables admiten ciertas operaciones que permiten cambiar su contenido, por ejemplo agregando o eliminando elementos

Ejercicio de diseño: de LinearLayout a ConstraintLayout

Imagen
Hasta ahora hemos visto diversos conceptos relativos al diseño y la distribución de elementos en la pantalla, pero la mejor manera de familiarizarse con ellos es utilizarlos y trastear con el editor de diseño . Por ello, en esta entrada vamos a practicar con el diseño de una aplicación, y concretamente vamos a transformar una aplicación diseñada a base de LinearLayout para convertir el contenedor principal de elementos en un ConstraintLayout (ver Fundamentos de Android: Diseño con ConstraintLayout ) y

Data Binding para mostrar datos

Imagen
En la entrada anterior ( Fundamentos de Android: Data Binding ) vimos cómo utilizar Data Binding para acceder a los elementos del diseño desde la actividad. Pero además podemos usar data binding para mostrar datos haciendo que los objetos de una data class (ver Clase de datos o data class en Kotlin ) estén directamente disponibles para un elemento del diseño.

Fundamentos de Android: Data Binding

Imagen
Hasta ahora hemos visto dos maneras para acceder a los elementos visuales del diseño ( views ) desde la actividad: El clásico método findViewById con la referencia del recurso del elemento como argumento, por ejemplo: val dadoBoton : Button = findViewById ( R . id . dado_boton ) Y el " método síntético " ( synthetics ) de las extensiones de Android de esta manera:

Fundamentos de Android: Diseño con ConstraintLayout

Imagen
Hasta ahora en nuestros diseños hemos utilizado LinearLayout como contenedor de elementos. En esta entrada vamos a utilizar ConstraintLayout para realizar el diseño de una aplicación sencilla, además de repasar otros conceptos ya conocidos como, por ejemplo, el manejo de recursos de distinto tipo (dimensiones, texto, estilos, fuentes...) y la interacción del usuario que puedes revisar en entradas previas.

Operaciones con colecciones VIII: obtener valores de agrupación

Imagen
Continuando la serie sobre operaciones con colecciones , en esta entrada vamos a ver un conjunto de funciones que realizan operaciones (de agrupación o agregación, del inglés aggregate operations ) para calcular ciertos valores o índices de agrupación a partir de los datos de la colección, como por ejemplo, los valores mínimo y máximo, el número de elementos, la suma de todos los elementos, la media o la suma acumulada