Android: Guía de referencia para el desarrollo de aplicaciones móviles

Android

Gracias a este conjunto de recursos podrás iniciarte en el mundo del desarrollo de aplicaciones móviles bajo sistema Android. No pretende ser un manual en el que se explique paso a paso cómo diseñar tu propia aplicación, aunque se aproxime, se trata solamente de una lista de documentos clasificados y ordenados para utilizarlos en el desarrollo de un nuevo proyecto Android.

 

Android Studio

Android Studio es el IDE oficial y gratuito para el desarrollo de aplicaciones Android. Incluye soporte para la instalación del SDK de Android así como su propio emulador para probar y depurar las aplicaciones. Se basa en el entorno de desarrollo IntelliJ IDEA de JetBrains.

Emuladores alternativos

Aunque Android Studio posee su propio emulador de móviles con imágenes oficiales, existen otros emuladores con iguales o mejores resultados de rendimiento para probar tus proyectos.

 

Desarrolladores

Existen una serie de recursos en Internet que los desarrolladores de Android deben conocer y visitar asiduamente.

 

Material Design

Material Design es el diseño oficial de Google que sigue para todas sus aplicaciones, y que insiste en que los desarrolladores de terceros utilicen las suyas propias.

Recursos libres

Os listamos una serie de webs interesantes donde encontrar recursos para vuestros proyectos.

 

Componentes de una aplicación

Una aplicación puede componerse de los siguientes componentes. Cada uno de ellos tiene un funcionalidad completamente diferente en el sistema Android.

Tanto la aplicación como el resto de componentes llevan asociado un contexto con una serie de funciones que pueden realizar:

 

Recursos de la aplicación

Android permite externalizar los recursos de una aplicación (cadenas, imágenes, layouts, estilos, etc.) y utlizar el adecuado en función del idioma, el tamaño de pantalla, etc.

 

Interfaz de usuario

Estos y muchos más son los elementos visuales que se pueden introducir en la interfaz gráfica de una aplicación Android.

 

Logs

Desde código se pueden ir generando mensajes con información del desarrollo de la aplicación o de errores producidos durante su ejecución.

 

Notificaciones simples

Mediante los siguientes tipos de notificaciones la aplicación puede informar al usuario sobre cualquier hecho de la misma.

 

Permisos

La aplicación Android debe solicitar durante su instalación (en las versiones más antiguas) o durante su ejecución (en las más modernas) los permisos necesarios para completar ciertas acciones en el dispositivo.

 

Tareas asíncronas e Indicadores de progreso

Las tareas asíncronas permiten ejecutar en segundo plano y de manera independiente a la actividad las tareas necesarias para no interferir con la usabilidad de la aplicación por parte del usuario. Estas tareas se pueden acompañar de indicadores de progreso para saber si se han completado o no.

 

Acceso a servicios de Internet

StrictMode

Manejo de contenido JSON

 

Almacenamiento

Android proporciona las siguientes opciones para almacenar información en un dispositivo. Se desarrollarán cada una de ellas en los siguientes apartados.

  1. Preferencias compartidas (SharedPreferences)
  2. Almacenamiento interno
  3. Almacenamiento externo
  4. Bases de datos SQLite

 

Almacenamiento interno

El almacenamiento interno corresponde con las carpetas privadas del dispositivo. En ellas sólo las aplicaciones pueden escribir, además de que cada aplicación sólo puede escribir en su carpeta asignada y nunca en las demás.

 

Almacenamiento externo

El almacenamiento externo corresponde con las carpetas públicas del dispositivo en el almacenamiento compartido, ya sea en la memoria interna del dispositivo o en la tarjeta de memoria. Atención: Hay que tener en cuenta que al montar el móvil como almacenamiento USB, el almacenamiento externo se desmonta y las aplicaciones que lo utilicen se matan y no podrán acceder a él durante ese tiempo.

 

Bases de datos SQLite

Android permite manejar bases de datos internas a la aplicación en formato SQLite.

  1. Utilizar la variable de almacenamiento externo.
  2. La base de datos no se elimina automáticamente, hay que eliminarla a mano al desinstalar la aplicación o eliminar sus datos.
  3. Se puede utilizar la aplicación X-plore o SQLite Viewer para visualizar las tablas, pero el fichero debe llevar la extensión .db para que se pueda abrir.

 

Preferencias

Las preferencias se pueden utilizar para almacenar información del tipo "clave/valor" en la memoria interna y privada del dispositivo.

SharedPreferences: para preferencias sin interfaz gráfico.

PreferenceActivity: para preferencias con interfaz gráfico.

 

Navegador interno

Podemos incluir en la aplicación un navegador para visualizar cualquier web de Internet y no depender de una aplicación diferente en el dispositivo.

 

Fragmentos

La interfaz gráfica de una actividad la podemos descomponer en pequeñas porciones y cargar en ellas diferentes fragmentos según nuestras necesidades o las características del dispositivo.

 

Localización

Podemos capturar la posición de un dispositivo así como los cambios sucesivos en su posición.

 

Google Maps

Podemos utilizar la API de Google Maps para insertar un mapa con información personalizada en nuestra aplicación.

 

Intents explícitos e implícitos

Los Intents permiten a nuestra aplicación enviar datos a otras aplicaciones del mismo dispositivo, de manera explícita si conocemos qué aplicación exacta es, o de manera implícita dejando al usuario que elija la aplicación que él quiera dentro de las que estén preparadas para trabajar  con esos datos. Por ejemplo:

 

Intent-filters

Podemos definir Intent-filters en nuestra para decirle a Android qué "Intents implícitos" somos capaces de aceptar desde nuestra aplicación.

 

BroadcastReceivers

Los BroadcastReceivers permiten a nuestra aplicación responder a los anuncios (broadcast) que hace el sistema u otra aplicación. Por ejemplo:

 

ContentProviders

Un ContentProvider nos permite compartir información entre aplicaciones.

 

Widgets

Los widgets permiten crear mini-aplicaciones para la pantalla del dispositivo.

 

Notificaciones Push

Las notificaciones Push son mensajes que se envían de forma directa a aplicaciones del dispositivo y que estas manejan, normalmente, avisando mediante una notificación en la barra de estado.

OneSignal

Firebase

Alternativas

 

Actividades especiales

Cómo implementar diferentes tipos de actividades.

 

Publicidad

Una de las maneras de monetizar nuestra aplicación consiste en inluir publicidad en la misma. Una de las opciones para ello es utilizar el programa de Google AdMob, específico para aplicaciones móviles.

 

Cuestionario

Pon a prueba tus conocimientos con los siguientes cuestionarios.

 

Pendiente de clasificar

A continuación dejo una serie de enlaces interesantes que aún no he podido probar para incluirlos en los apartados anteriores.

 

Licencia Creative Commons

Este artículo publicado en TicArte pertenece a Rafa Morales y está protegido bajo una Licencia Creative Commons.

Ir arriba