Você está na página 1de 5

1.

Marco teórico

1.1. ¿Qué es Android?


Android es un sistema operativo muy versátil empleado principalmente para dispositivos móviles.
Basado en el Kernel de Linux, es un sistema libre, gratuito y multiplataforma, con gran
capacidad de adaptación a todo tipo de dispositivos lo que le confiere un gran
potencial de desarrollo.

Esta libertad facilita la labor a los desarrolladores ya que libera


periódicamente su código y no tiene ningún coste añadido en licencias.
Android tiene una serie de librerías en C/C++ y las aplicaciones se realizan
principalmente en JAVA usando Dalvik, una adaptación de la máquina virtual de
JAVA para dispositivos con poca memoria. El sistema operativo tiene una
serie de API’s para el uso de las distintas funciones del teléfono: GPS,
giroscopio, etc.…

1.2. Aplicación Móvil


Una aplicación móvil es un programa que usted puede descargar y al que puede acceder
directamente desde su teléfono o desde algún otro aparato móvil.

1.2.1. Tipos de aplicación móvil


Existen tres tipos principales de aplicaciones móviles, cada una de las cuales se caracteriza por sus
distintas propiedades, limitaciones o proceso de programación.

Encontramos, por ejemplo, las Aplicaciones Nativas, aquellas que


han sido desarrolladas con el software que ofrece cada
sistema operativo. De esta forma, iOS, Android y Windows
Phone tienen software distinto, comúnmente denominados
SDK o Software Development Kits.

Las aplicaciones nativas se diseñan y se desarrollan especialmente en cada uno de estos SDK, ya sea
de iOS, para uso de iPhone; de Android, para uso de móviles con tecnología Android; o de Windows
Phone, para uso de móviles con tecnología Windows.
Por otro lado, existe el término “Aplicaciones Web”, un concepto quizás confuso. Las aplicaciones
web, comúnmente llamadas “web apps” son construidas principalmente en los lenguajes HTML,
Javascript y CSS. A diferencia de las nativas, este tipo de aplicaciones no emplean un SDK o Software
Development Kit. Esto quiere decir que, como desarrollador de web apps, puedes programar en la
plataforma que desees, independientemente del sistema operativo en el cual tu aplicación será
utilizada. Esto evita también el tedioso proceso de desarrollar un código distinto para cada una de
las plataformas o sistemas operativos.

Por último, encontramos las famosas Aplicaciones Híbridas, las cuales se caracterizan por ser una
combinación o, como su nombre lo indica, un “híbrido” entre las dos aplicaciones que hemos visto
anteriormente. En cuestiones de diseño, desarrollo y programación, una aplicación híbrida será
realizada a partir de HTML, Javascript y CSS, -tal como las web apps; la diferencia radica en que una
vez que la aplicación está finalizada en cuanto a su diseño y programación, se compilará de tal
manera que el resultado final será muy similar a una aplicación nativa.

Ilustración 1: Desarrollo de aplicaciones móviles.


1.2.2. ¿A qué tipo de datos pueden acceder las aplicaciones?
Cuando usted se registra en una tienda de aplicaciones o cuando descarga aplicaciones individuales,
es posible que le pidan su autorización para que permita que se acceda a la información de su
aparato. Desde algunas aplicaciones se puede acceder a:
 Su lista de contactos de teléfono y de email.
 Al registro de llamadas.
 A los datos transmitidos por internet.
 A la información de su calendario.
 A llos datos de localización del aparato.
 Al código de identificación exclusivo de su aparato.
 A información que indica la manera en que usted usa la aplicación propiamente dicha.

1.3. Android Studio


Android Studio es un entorno de desarrollo integrado para la plataforma de Android. fue anunciado
el 16 de mayo de 2013 en la conferencia Google I/O. La primera versión estable fue publicada en
diciembre de 2014. Está basado en el software IntelliJ IDEA de JetBrains, y es publicado de forma
gratuita a través de la Licencia Apache 2.0. Está disponible para las plataformas Microsoft Windows,
Mac OS X y GNU/Linux.

1.3.1. Características de Android Studio


 Soporte para programar aplicaciones para Android Wear.
 Herramientas Lint. Detecta el código no compatible entre arquitecturas diferentes o código
confuso.
 Utiliza ProGuard, para poder optimizar y reducir el código del proyecto al exportar a APK,
para dispositivos de gama con limitaciones.
 Nuevo diseño del editor con un soporte para la posible edición de
temas.
 Actualizaciones frecuentes (diferentes canales).
 Nueva interfaz específica para el desarrollo en Android.
 Alertas en tiempo real de errores sintácticos,
compatibilidad o rendimiento antes de acabar la aplicación.
 Vista previa, en diferentes tipos de proyectos y resoluciones.
 Posibilita la opción del control de versiones accediendo a un repositorio y poder descargar
Mercurial, Git, Github o Subversion.
 Y como no, permite la importación de los proyectos realizados desde Eclipse.

1.3.2. Ventajas y desventajas de Android Studio


 Compilación rápida.
 Ejecución de la app en tiempo real gracias al emulador.
 Ejecución de la app directamente desde el móvil.
 No soporta el desarrollo para NDK, pero intellij con el plugin Android sí.
 Tiene renderizado en el tiempo real, layouts y puede hacer uso de parámetros tools.
 Funciona bien (sobre todo si usas versiones estables).
 Contiene todo lo necesario para desarrollar cualquier IDE.
 Es capad de asociar automáticamente carpetas y archivos con su papel en la aplicación, la
creación de nuevas carpetas, borrado de archivos en values… esto es muy cómodo.
 (Desventaja) Los requisitos son un poco elevados (tendrás que tener una buena máquina
para que te funcione bien el emulador). Pero esto hace que sea el mejor entorno para
programar en Android, por lo que es necesario. Tira bastante del PC y gasta batería como
consecuencia.

1.4. APIS
las API son un conjunto de comandos, funciones y protocolos informáticos que permiten a los
desarrolladores crear programas específicos para ciertos sistemas operativos. Las API simplifican
en gran medida el trabajo de un creador de programas, ya que no tiene que «escribir» códigos
desde cero. Estas permiten al informático usar funciones predefinidas para interactuar con el
sistema operativo o con otro programa.

Ilustración 2: Interfaz de Programación de Aplicaciones.


1.5. Librearías Android
Existe una gran cantidad de librerías para Android, algunas de ellas muy populares y que son
utilizadas casi en cualquier aplicación. A continuación, se describen algunas librearías más
conocidas:

 GSON: Es una librería desarrollada por Google, que se utiliza para convertir objetos Java en
JSON y viceversa. Además, GSON tiene una muy buena integración con Retrofit.
 GLIDE: Es una increíble librería que nos abstrae de mucho trabajo cuando tenemos que
tratar con la gestión de imágenes. Tiene varias opciones para implementar diferentes tipos
de caché, nos permite aplicar transformaciones, redimensionar, tiene soporte para
imágenes GIF, etc.
 LEAKCANARY: Así como el error: java.lang.OutOfMemoryError. Son de los errores más
comunes y más tediosos de detectar, pero por suerte y gracias a los chicos de Square
tenemos LeakCanary, una librería que nos ayuda en la detección de fugas de memoria a
medida que ocurren.
 DBFLOW: Es sin duda uno de los mejores ORM (mapeo objeto-relacional) simple, muy
rápido y potente que mediante anotaciones nos facilita la persistencia de nuestros objetos
y también nos evita la necesidad de escribir sentencias SQL para nuestras queries.
 LOGGER: Es una librería que nos ayuda a tener un registro de logs más ameno y práctico
que el que tenemos por defecto en Android Studio.
 Nos proporciona información sobre el thread, la clase, el método, también imprime los
JSON de una manera más limpia, etc.