Entradas

Mostrando las entradas etiquetadas como Tutorial

MVVM en Android con architecture components

Imagen
MVVM es un patrón de arquitectura que nos permite enlazar las vistas con nuestros modelos e interactuar más fácilmente con la UI, separando la capa lógica con las vistas. El ViewModel se encargará de gestionar toda la lógica y reglas de negocio y proveerá a la vista los bindings necesarios para interactuar entre ellos. Lo primero que debemos hacer es instalar la librería lifecycle components y habilitar el data binding, todo esto en el archivo build.gradle . Posteriormente debemos crear nuestro modelo y ViewModel, el cual extiende de BaseObserver , clase que nos proporciona lo necesario para notificar que una propiedad cambió con el método notifyPropertyChanged . El data annotation @Bindable nos ayuda a exponer y permite que una propiedad pueda ser enlazada en la UI. NOTA: La clase BR es auto generada después de usar el data annotation en nuestras propiedades y compilar el proyecto. Al generar nuestro Activity Layout, el elemento raíz tiene q...

Inyección de dependencias en Xamarin Forms con Autofac

Imagen
La inyección de dependencias es un patrón de diseño, el cual provee los objetos requeridos por una clase, en vez de que la misma clase los gestione. Esto nos ayudaría a cumplir uno de los principios de SOLID que es Dependency inversion principle . Es una manera de tener el software de manera modular. Un injector nos provee de las los objetos instanciados de los servicios requeridos por un cliente. En Xamarin Forms lo podemos integrar para gestionar las dependencias nativas (Dependency Service), ViewModels y Servicios. Lo primero que debemos hacer es instalar el Nuget de Autofac , librería que nos provee de un contenedor que se encargará de cumplir la tarea del Injector. Posteriormente deberemos crear nuestros servicios y dependencias nativas que se inyectarán en el constructor de nuestro ViewModel. En este caso AppInformation y LoggerService . NOTA: La mejor práctica es inyectar una interface, ya que esto nos permitirá realizar un Mock en las pruebas un...

Instalar Android Nougat con play store en ASUS Thinker Board

Imagen
Requisitos Micro SD (8 GB Mínimo) Win32DiskImager WINDOWS SD Card Formatter WINDOWS (opcional) Android Nougat Image Instalación en Windows Después de instalar Win32 Disk Imager, al ejecutar el programa debemos definir la imagen, seleccionar la micro SD y dar clic en Write . NOTA: Para crear respaldos de nuestros sistemas operativos tendríamos que dar clic en Read en lugar de Write. La aplicación SD CARD FORMATTER es opcional pero es muy buena para formatear nuestras Micro SD, ya que nos permite disponer del espacio completo de la memoria. Instalación en Linux Con el comando sudo fdisk -l podemos ver los dispositivos de almacenamiento y obtener el la ruta de la micro SD en este caso /dev/sda1 Debemos asegurarnos de desmontar la memoria con el comando umount [path_to_usb] o en este caso umount /dev/sda1 Por último escribimos la imagen con el comando sudo dd=[path_to_img] of=[path_to_usb] bs= 4M Más imágenes en Forum Thread:   htt...

Instalar Kotlin en Windows

Imagen
Kotlin es un lenguaje de programación de tipado estático introducido por la empresa JetBrians en el año 2012. El lenguaje corre en la Java Virtual Machine, lo que lo hace oficialmente soportado por Android y multiplataforma pudiendo generar código nativo o Javascript. Esto lo convierte en una buena opción para aprender un nuevo lenguaje de programación. Primero debemos debemos verificar que tengamos instalado java en una versión 1.6 o superior. Posteriormente tendremos que descargar el compilador disponible en GitHub . Después de descargarlo deberemos extraerlo en la ruta que queramos, en este caso c:\kotlinc . Para que kotlinc se encuentre disponible en todo el sistema debemos agregar la variable de entorno de la ruta del compilador. Por último debemos reiniciar el equipo. Podemos verificar la instalación con el comando kotlinc -version.

Diccionario de recursos y multilenguaje en Xamarin Forms

Imagen
Una buena práctica en nuestros proyectos es utilizar diccionarios que nos ayuden a gestionar los recursos de las aplicaciones, esto hace que nuestro código esté mejor estructurado, sea más escalable y facilite el mantenimiento del mismo. Estos nos dan grandes beneficios, por ejemplo proporcionar de manera sencilla el multilenguaje a nuestras aplicaciones o solo cambiar una vez el valor en nuestro diccionario y que todos los elementos que hagan referencia a él se vean reflejados inmediatamente. Para empezar deberíamos agregar un nuevo Resources File Podemos tener varios diccionarios por lenguaje, diferenciando los por el código del lenguaje. En caso de no agregarle un código de lenguaje ese será el diccionario por default . Una vez creados deberemos agregar los elementos con un formato de llave-valor en el que el Name será la llave y Value el valor. La llave deberá estar presente en ambos archivos. Para llamarlo en nuestro código XAML es bastante se...

Cómo crear librería Android y compartirla

Imagen
Cuando trabajamos en una tecnología detectamos patrones, controles, helpers etc. que pueden ser reutilizados por nosotros mismos en otros proyectos y así reducir tiempo de desarrollo en algo que previamente ya trabajamos o simplemente queremos compartirlo con la comunidad. Es por eso la creación de librerías es importante. Lo primero que debemos hacer es crear un nuevo proyecto en Android Studio. Una vez creado dando clic derecho al proyecto agregamos un nuevo módulo y seleccionamos el tipo Android Library El módulo tiene una estructura parecida a un proyecto android, en el que podemos crear recursos, utilizar las API de android etc. Una vez que terminemos de programar nuestra librería es necesario realicemos un Commit and Push en el repositorio GitHub que alojará el proyecto. Después del Push registramos un nuevo release en GitHub Por último ingresamos a https://jitpack.io/ e ingresamos nuestro repositorio de Git y damos clic en...

Patrón ViewHolder en Android

Imagen
El uso de listas en las apps es una buena opción al momento de mostrar información, solo hay que analizar la aplicación de twitter para darnos cuenta que cada tweet es un elemento de una lista, solo por mencionar un ejemplo de las muchas aplicaciones que lo implementan. Cuando nosotros vemos una lista renderizada en Android significa que solo ha sido creada la parte que visualizamos, cuando realizamos un scroll down se van creando los nuevos elementos que se van a mostrar. Cada que creamos un nuevo elemento debemos buscar elemento de nuestro Layout al que le vamos a realizar el Bind de los datos, esto lo hacemos con el método findViewById, esta función puede parecer simple pero si tomamos en cuenta que podemos tener una lista muy grande entonces se convierte en un tema de performance que puede afectar el rendimiento de la aplicación. Para esto con el patrón ViewHolder, crearemos una clase que contenga los elementos que vamos a enlazar con los datos y en el método sobrescri...

Patrón MVP en Android

Imagen
Los patrones de diseño son estructuras de código estrictas, pretenden solucionar problemas de performance, diseño, seguridad etc. Una buena práctica para nuestros proyectos es aplicar patrones de diseño, estos no ayudan a reducir errores, tener código más limpio y mantenible entre otras cosas. Para cada tecnología hay diferentes patrones que cubren distintas necesidades.. Uno de los patrones de diseño más conocido en Android es MVP (Model-View-Presenter), que divide el código en tres capas. Model: Estructura que representa nuestros datos. View: Son las activities solo se deben encargar de actualizar los datos notificados por el Presenter y todo lo relacionado con la UI. Presenter: Tiene toda la lógica de negocio y no debe incluir ninguna librería android, se encargará de notificar a la vista cuando algo cambie. En el siguiente ejemplo en nuestro View tendremos un simple formulario para guardar los datos de una persona y un contador de personas almacenadas, es...