Entradas

Mostrando las entradas etiquetadas como Android

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...

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...

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...

Construye aplicaciones nativas multiplataforma con Xamarin

Imagen
Hoy en día el desarrollo de aplicaciones móviles tiene una demanda brutal, si a esto añadimos las oportunidades que podemos explotar en el mercado móvil, el desarrollo de apps se convierte en una opción atractiva para todos los desarrolladores. Cuando empecé a programar aplicaciones nativas para Android en Java y para IOS en swift, me topé con el inconveniente de el tiempo de desarrollo se ampliaba bastante al tener que desarrollar la misma aplicación para 2 plataformas, más para equipos de desarrollo pequeños y proyectos personales, por lo que busqué alternativas que me ayudarán a solucionar este problema. La primer alternativa que probé fue React Native(en la cuál hablaré en otro blog), la segunda opción bastante obvia fué Xamarin, ya que actualmente trabajo con tecnologías Microsoft como asp net, azure etc. La proyecto Xamarin fué fundado en 2011 por los creadores del proyecto Mono y en Febrero del 2016 es comprada por Microsoft. La intención de Microsoft inicialmente e...