Proyecto de App

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 19

Instituto De Educación

Superior Tecnológico Público


“La Oroya”

ENFERMERÍA TÉCNICA

Desarrollo de una aplicación para dispositivos móviles


para el acceso de información de precios y stock de
medicamentos

PROYECTO DE INVESTIGACION DE:


Técnico en enfermería

AUTORES:
Arzapalo Barrios, Stasy

LA OROYA- JUNIN
2023
DEDICATORIA:
AGRADECIMIENTOS:
ÍNDICE
PAG

DEDICATORIA………………………………………………………………………………………..III
AGRADECIMENTOS………………………………………………………………..……………..IV
ÍNDICE DE CONTENIDO………………………………………………………………………….V
RESUMEN………………………………………………………………………………………………XI
SUMARY………………………………………………………………………………………………..XII

I. INTRODUCCION..............................................................................01
II. PLANTEAMIENTO DE LA INVESTIGACION......................................01
2.1PLANTEAMIENTO DEL PROBLEMA...……………………..…….01
a) CARACTERIZACION DEL PROBLEMA…………...............
III. JUSTIFICACION………….………………………..………………………………………….
IV. OBJETIVOS………….………………………..……………………………………………….
4.1 OBJETIVO GENERAL…………………..…………………………………..
4.2 OBJETIVO ESPECIFICO………..……………………………………….…
V. BENEFICIARIOS………….………………………..………………………………………….
VI. FUNDAMENTO TEORICO……….………………………..……………………………..
VII. MATERIALES Y METODOLOGIA………….………………………..………………….
VIII. COSTO……………………..……………………………………………………………..……….
IX. RESULTADOS………..……………………………………………………………..…………..

CONCLUSIONES Y RECOMENDACIONES…………………………………………..……..IX
REFEREMCIAS BIBLIOGRAFICAS…………………………………………..…….….………..X
I. INTRODUCCION:

La salud es una necesidad primaria y un derecho que le corresponde a todo


ser humano. Durante mucho tiempo los países han buscado la manera de
satisfacer este derecho implementado reformas en salud con la finalidad de
ampliar el acceso a los servicios de salud, en los cuales se brinde atención
de calidad sin distinción de estratos. Es aquí donde llega el reto, poder
integrar un trabajo por proyectos con un operación compleja como es la del
sector salud, incluyendo otros componentes como la tecnología, lo digital,
aplicaciones móviles que para muchas personas aún sigue siendo una
barrera pero que para la dinámica actual se vuelve una necesidad para
dinamizar las actividades diarias. Esta integración debe establecer y no
perder de vista el objetivo de organizaciones de este tipo que es brindar el
mejor servicio a la población dando los soportes digitales como ventajas
para la obtención del mismo, además de la eficiencia que estas pueden
traer en ahorro en tiempo, transporte, costos y riesgos.
El principal problema que motiva la creación de este proyecto es la ausencia
de una plataforma que integre información sobre farmacia (horarios y día
de turno), medicamentos (costo, si está en venta o se acabó), principios
activos (uso, contraindicaciones, propiedades, etc.) y números de
emergencia en solo un lugar, de fácil uso y accesible para gran parte de la
población. Si bien esta información se encuentra disponible en este
aplicativo y en éste se encuentran segregadas y no todos los usuarios logran
encontrarlas cuando las necesitan.
El objetivo del presente proyecto es crear una aplicación para dispositivo
móvil para la observación de precios de medicamentos, nace de la idea de
entregar información relevante a la población de manera simple y expedita,
haciendo uso de dispositivos móviles con sistema Androide para lograrlo,
debido a la gran cantidad de aparatos de este tipo que posee la comunidad.
Además toda la información recogida se enviará a una base de datos vía e-
mail (3G o WIFI), para poder llevar acabo el desarrollo de la aplicación se
debe tener en cuenta. También se hará uso de almacenamiento local en los
dispositivos en que se instale la aplicación, para almacenar información
propia de cada usuario. Finalmente, se obtiene una aplicación para
dispositivos móviles con sistema androide y un servicio web que interactúa
con la aplicación, los que juntos dan cumplimiento a los requisitos que
nacen de la necesidad de información de la población.

II. PLANTEAMIENTO DE LA INVESTIGACION

2.1 PLANTEAMIENTO DEL PROBLEMA:

En los últimos años el aumento del uso de dispositivos móviles se ha


convertido en una parte integral en la vida cotidiana de las personas, lo
que conduce a la expansión del desarrollo de aplicaciones y el desafío de
utilizarlas para las diferentes plataformas. Hoy en día, las aplicaciones
están dirigidas a dispositivos móviles específicos, la expectativa radica en
que sea ejecutable en la mayor cantidad de dispositivos; es decir, que
sean multiplataforma, combinando lo mejor de la programación nativa y
web, esto proporciona un entorno inmejorable para el desarrollo de
aplicaciones capaces de usar de forma eficiente los recursos del
dispositivo y esté sea utilizado en el mayor número de plataformas,
reduciendo el tiempo y costo por mantenimiento o crecimiento del
software desarrollado.
Nuestro país cuenta con variados servicios e instituciones dispuestas
para ayudar a la población cuando esta lo necesite, pero en muchos casos
la información para acceder a estos servicios, a pesar de ser pública, no
es conocida por la ciudadanía. Por lo que frente a la ocurrencia de algún
tipo de emergencia o cualquier situación que requiera la obtención de
este tipo de datos, suele darse el caso de que los usuarios no saben con
quién debe comunicarse o dónde conseguir dicha información. Lo
anterior trae consigo una serie de situaciones negativas, como la pérdida
de valioso tiempo, malgasto de recursos, e incluso el entorpecimiento de
estos mismos servicios.

El uso de tecnología móvil en el ámbito médico es un elemento de gran


auge en la actualidad; su empleo es efectuado con el objetivo de alcanzar
una mejor atención en salud para el paciente contribuyendo a potenciar
la asistencia médica. La tecnología móvil facilita una mejor prevención en
lo concerniente a la salud, ya que la carencia del acceso de información
para los usuarios respecto a los medicamentos que dispone en un puesto
de salud ya que la falta de transparencia en los precios, la variabilidad en
los costos de los medicamentos y la dificultad para acceder a información
actualizada sobre precios y opciones de compra son desafíos comunes.

En el caso puntual de la farmacia de un puesto de salud, es de vital


importancia que la población conozca las instituciones cercanas o que se
encuentran de turno y cómo llegar a estas, ya que se ahorrará valioso
tiempo al ir directo al establecimiento indicado. En el caso de los
medicamentos, también es de suma importancia que los usuarios
conozcan sus valores, si se encuentran disponibles para su compra y cuál
de estas ofrece una alternativa más económica. Actualmente, para
acceder a tal información, los usuarios deben recurrir a distintas fuentes,
como buscadores en Internet, los que entregan información que no
siempre está verificada y puede ser errónea. En el caso de que exista una
entidad verificada que ponga información a disposición, no muchos
usuarios tienen conocimiento de estas fuentes o no les son del todo
cómodas, por lo que evitan o reducen su uso. Por ello se identificó el
problema que es necesario considerar la investigación como fuentes,
aplicaciones que se encuentran en play store; para así mismo dar la
creación del aplicativo móvil, como:
El Ministerio de Salud (Minsa) pone a disposición de la población el
Observatorio de Precios de Medicamentos. A través de este
enlace http://observatorio.digemid.minsa.gob.pe/ podrás informarte
sobre medicamentos, sus precios y su disponibilidad.

Mediante esta página web observamos que es una herramienta de


búsqueda, a cargo de la Dirección General de Medicamentos, Insumos y
Drogas (Digemid), que permite conocer las farmacias y boticas en las que
puede adquirir los medicamentos prescritos y optar por aquella que
ofrezca el menor precio, según región, provincia y distrito. A manera de
testimonio, manifestar que accedí en el ingreso de la plataforma virtual
de la página web OBSERVATORIO PERUANO DE PRODUCTO
FARMACEUTICOS, donde procedí ingresar los siguientes datos como :
nombre del fármaco, el departamento, provincia o lugar donde resido,
categoría de establecimiento, tipo de establecimiento y por ultimo por
laboratorio o por una farmacia/botica especifica; y como resultado de la
consulta no dio ninguna información pese haber ingresado por reiteradas
veces; por lo cual, se concluye que dicha plataforma virtual se encuentra
desactualizada y/o desfasada, ya que esa plataforma se creó en el año
2016.

a) CARACTERIZACION DEL PROBLEMA:

La realización de este proyecto implica identificar y comprender


los desafíos clave que el aplicativo busca abordar, se hace cada
vez más necesario tener una fuente de información confiable, de
fácil y rápido acceso, que permita a la población obtener lo que
necesitan de manera expedita, presentando la información de
manera cómoda e intuitiva. Esto, sumado al explosivo crecimiento
de las tecnologías de la información en los últimos años y su
mayor accesibilidad al público, hacen de una aplicación móvil, una
perfecta solución para este problema. El propósito final de este
proyecto de investigación se propone la creación de una
aplicación para dispositivos móviles Android que reúna
información sobre costo/precio de medicamentos que muestren
al usuario.
Todo lo anterior se realiza haciendo uso de variadas herramientas
y metodologías, como construcción de la aplicación, creación de
una base de datos en cada dispositivo móvil que utilice la
aplicación para facilitar el ingreso de compras de medicamentos y
procesamiento de archivos en busca de información.
III. JUSTIFICACION

Es necesario mejorar el acceso a la información del precio/stock de


medicamentos y las TIC podrían ayudar en esta tarea. El presente trabajo
pretende explorar las necesidades de información a los usuarios sobre
temas del mayor acceso a la información del medicamento deseado y lo
que este comprende. Para luego desarrollar un prototipo de APP, de tal
manera que pueda ser evaluado para su uso como una herramienta que
brinde información útil y actualizada sobre diversos aspectos del
precio/stock de los medicamentos de manera simple, fácil e intuitiva para
el usuario.

IV. OBJETIVOS

4.1 OBJETIVOS GENERALES:

Desarrollar una aplicación para la plataforma Android que permita conocer


información de utilidad pública, centrada en el área del precio/stock de
medicamentos; el cuál se llevará a cabo mediante los diferentes objetivos
específicos detallados a continuación.

4.2 OBJETIVOS ESPECIFICOS:

 Proveer una interfaz de usuario intuitiva y fácil de usar.


 Explorar las necesidades de información de los usuarios sobre el
precio/stock de medicamentos.
 Mostrar costo de medicamentos buscados por el usuario
 Desarrollar el prototipo de una APP móvil
 Evaluar un prototipo de APP móvil en términos de usabilidad

V. BENEFICIARIOS

POBLACION :
VI. FUNDAMENTO TEORICO
6.1 Sistema de salud en el Perú:
El sistema nacional de salud está constituido por organizaciones, entidades,
recursos y dependencias ligadas al sector salud. También lo integran los
profesionales que desempeñan alguna labor vinculada a dicha área. Todos
los países cuentan con un sistema de salud, pero un común denominador
entre ellos es la complejidad para lograr un sistema de salud coordinado ya
que depende de otros factores como: educación, trabajo, alimentación y
vivienda comprometiendo directamente a otros sectores. El objetivo
principal del sistema de salud es coordinar el flujo de la política nacional de
salud. En el Perú el sistema de salud se divide en sector público y privado
que a su vez están conformado por otras entidades. El sistema de salud
fragmentado que hay en nuestro país, afecta a la cobertura de los peruanos
ya que, una gran proporción de ellos no tienen acceso a los servicios de
salud debido a las barreras de acceso y las desigualdades presentes en el
sector.

APLICACIONES MOVILES
A) Qué son y cómo funcionan las apps móviles:
Los usuarios que tienen un teléfono inteligente, Smartphone o Tablet
probablemente cuentan con programas que les permite realizar tareas,
obtener información o solicitar servicios por medio de esta herramienta,
estas son llamadas aplicaciones móviles, regularmente son fáciles de usar,
descargar, y ayudan a disminuir el tiempo en el que una persona desea
realizar una tarea ya sea una transacción bancaria, pedir un domicilio,
solicitar un servicio de, y hasta divertirse con plataformas que te permite
escuchar música, ver vídeos o jugar.
Una definición acorde a lo que es una aplicación móvil es “Una aplicación
móvil es un programa que se puede descargar y al que puede acceder
directamente desde su teléfono o desde algún otro aparato móvil.
Como su nombre lo menciona las apps funcionan en dispositivos móviles
por tanto debe contarse ya sea con un teléfono inteligente o tablet para
poder implementar el uso de una de estas, en el momento que se adquiere
de estos aparatos debe usar el sistema operativo y por lo tanto usar
aplicaciones que corresponde a ese aparato, aunque en la actualidad las
aplicaciones móviles son creadas para operar en los diferentes sistemas
generando actualizaciones para lograr adaptar algunos de los sistemas
operativos móviles que encontramos en el mercado son Android, Apple,
Microsoft y BlackBerry.
B) Escenario aplicaciones móviles:
“Las tendencias de consumo de información de Internet móvil han
modificado el actual escenario de uso de los dispositivos móviles. El máximo
exponente de este cambio son las aplicaciones móviles (app) que
representan nuevas posibilidades para movilidad de contenidos basadas en
teléfonos inteligentes y tabletas. El uso de estas tecnologías permite el
consumo de información en cualquier lugar y a cualquier hora (everywhere,
every time).Los teléfonos inteligentes hoy en día generan una revolución
tecnológica permitiendo al consumidor estar conectado en cualquier
momento del día y en cualquier lugar, así poder tener acceso al contenido
al instante.
Con este escenario las aplicaciones móviles se convierten en una
herramienta para los usuarios que necesitan economizar y maximizar su
tiempo libre, esto permite y abre una brecha de oportunidad de diseñar la
iniciativas como aplicaciones móviles que brinden a los usuarios la
posibilidad de acceder a servicios de forma remota y eficiente.
Las TIC y su impacto en al sector salud:
Las TIC abarcan carreras como ingeniería, ciencias e informática, las cuales
mediante el desarrollo de equipos informáticos, programas y APP facilitan
la transferencia de información a la población a fin de homogenizar el
acceso a la información.
La inserción paulatina de las TIC en el ámbito de la salud ha logrado grandes
beneficios en flujo de atención y en la optimización de procesos desde la
implementación de las historias clínicas electrónicas hasta el desarrollo de
APP móviles para ayudar al monitoreo y control de paciente. En este
contexto la tecnología móvil es la más desarrollada para la asistencia
sanitaria.
MHealth
La tecnología móvil en el sector salud o más conocida como salud móvil
(mHealth) por sus siglas en ingles se refiere a la práctica médica y asistencial
basada en el uso de dispositivos móviles. Robert Istepanian fue el primer
científico que acuñó y definió este término. La introducción de mHealth y
con ello la inmersión de las APP móviles representa una gran oportunidad
para monitorear las conductas en salud y facilitar información a los
médicos, investigadores y población en general.
Las principales ventajas de la tecnología móvil son la portabilidad y
accesibilidad, además, que se trata de una tecnología inalámbrica, con
todas estas características se ha convertido en una herramienta esencial
para transmitir información en el ámbito de mHealth. La correcta
implementación de la tecnología móvil ayudaría a la población a reducir las
brechas existentes en el sector salud como lo son: la falta de médicos en
algunos establecimientos, la distancia de un centro a otro y la falta de
equipamientos de salud.
Por otra parte entre los beneficios más importantes de la mHealth está su
aplicación para su uso entre los profesionales de la salud porque les
ayudaría acceder a información actualizada que complemente su labor
profesional. Todo ello fomenta el acercamiento y la interacción entre
pacientes y profesionales de la salud a fin de empoderarlos.
El fácil acceso a la tecnología móvil ha promovido que en los países
emergentes se avance vertiginosamente en infraestructuras de
comunicación motivando a que más personas cuenten con esta tecnología
a tal punto de desplazar el acceso a las necesidades primarias como los
servicios de agua, educación y saneamiento
En el Perú la Asociación Peruana de Empresas de Investigación de Mercados
(APEIM) se encargó de mostrar los resultados de los niveles
socioeconómicos basados en la Encuesta Nacional de Hogares (ENAHO) del
año 2018 realizada por el Instituto Nacional de Estadística e Informática
(INEI), la cual refleja que el 93.7% del sector urbano y el 90.2% del sector
urbano-rural cuentan con celular.
6.2 DESARROLLO DE APP MOVIL:
El Ciclo de Vida del Desarrollo de Software (SDLC) móvil es una metodología
usada comúnmente por los desarrolladores de software móvil para
organizar los procedimientos y realizar evaluaciones por fases (metodología
incremental) para la creación apropiada de APP

Figura. Representación cíclica del desarrollo de una APP

6.3 FASES DEL DESARROLLO DE UNA APP MOVIL:


1) Especificación de requisitos y recopilación:
En esta fase se recaba información sobre las necesidades que manifiestan
la población (usuarios) a la que va dirigido la APP móvil. Esta fase se puede
hacer mediante encuestas, entrevistas o grupos focales. Se hace mención
que esta etapa es muy importante ya que de ella depende el correcto
desarrollo de la aplicación a fin de que sea una herramienta que realmente
se entienda y dé soluciones al usuario.
2) Estudio de viabilidad:
Es aquí donde se analiza si se podrá llevar a cabo el desarrollo de la APP de
tal manera que cumpla con todos los requerimientos solicitados por el
usuario también se analiza si realmente el balance costo beneficio,
realmente la APP será útil, financieramente hablando será cómodo,
generara más beneficios, valdrá la pena la inversión.

3) Análisis de la APP:
Luego de llegar a una conclusión de la viabilidad en la fase anterior, se
analiza a detalle los requerimientos de los usuarios obtenidos en la fase 1,
se pulirá las necesidades y las que presenten alguna anomalía o las que sean
complicadas de realizar se eliminaran de tal manera que se pueda organizar
todas las necesidades.

Después se procede a gestionar los recursos, diseñar el cronograma de


desarrollo del software.
4) Diseño de la APP:
En esta fase se elabora el diseño haciendo uso de diagramas de flujo a fin
de esquematizar bien los procesos con los que contará la APP móvil.
5) Desarrollo de la APP o codificación:
También denominado fase de programación aquí se plasman los códigos
en lenguaje de programación que harán posible la creación de la APP móvil.
6) Pruebas de la APP:
Los expertos realizan pruebas y examinan cada bloque meticulosamente
debido a que en esta etapa se debe garantizar que la APP carezca de
errores.
7) Implementación de la APP:
En esta fase se realiza la instalación del software en la plataforma para la
cual ha sido creada. Además, se comprueba que la adaptabilidad y
portabilidad sean características del software y en algunos casos se suele
dar capacitación a los usuarios acerca el uso apropiado del software.
8) Mantenimiento de la APP:
Esta es la fase final o complementaria aquí se realiza trabajos post
instalación del software y se le da soporte para evitar posibles
complicaciones. También se pueden instalar nuevas funciones o quitar
opciones obsoletas.

6.4 VALORACION DE LA APP MOVILES EN LA SALUD:


Generalmente la creación de las APP está orientada a brindar y orientar a
la población sobre temas específicos; además ante la gran disposición de
las APP existentes es necesario evaluar la confiablidad de información que
pueden ofrecer. Los profesionales de salud muchas veces no tienen certeza
de que la información que se encuentra en las APP provenga de buena
fuente y, por ende, no se sienten en la capacidad de recomendarlos a los
pacientes como herramienta de apoyo a su tratamiento de salud. Una
manera de clasificar o catalogar una APP como útil y bueno en el sector
salud es evaluando el impacto que ésta tiene en la población. Existen
distintos test o pruebas, pero entre las más populares resalta las pruebas
de calidad en las que se miden: la usabilidad, satisfacción, facilidad de uso
y de aprendizaje.

6.5 EVALUACION DE LA CALIDAD DE LAS APP:


Actualmente existe una cantidad de propuestas de APP que están a
disponibilidad de la población algunas de ellas gratis y otras con algún costo
para su funcionamiento. Considerando lo anterior surge la pregunta
¿cuántas de estas APP se mantienen en el medio?, la manera más apropiada
de saberlo es conociendo las perspectivas y/o apreciaciones de la los
usuarios respecto a estas APP. La usabilidad es una medida de control que
ayuda a evaluar la calidad de software. El software que posee esta
característica es más exitoso, más eficaz y más preciso. Evaluar la usabilidad
desde el proceso de diseño hasta su implementación evitaría costos
innecesarios, errores en el desarrollo, insatisfacción en los usuarios y sobre
todo pérdida de tiempo.

6.6 USABILIDAD:
Es la medición de la facilidad de interacción que tiene el usuario con la APP
de tal manera que le sea sencillo alcanzar sus objetivos de uso. La norma
ISO/IEC 25010 establece parámetros para evaluar la calidad del software.
Se define calidad a las características que hacen único y valorable a un
producto. Esta norma está basada en el enfoque de usabilidad, la cual se
mide mediante la evaluación de modelos de calidad de uso como: facilidad
de aprendizaje, facilidad de uso, utilidad y satisfacción. Éstos, a su vez, se
encuentran compuestos por las siguientes características o atributos.

VII. MATERIALES Y METODOLOGIA


Metodología de desarrollo:
Para el desarrollo de este proyecto se utiliza la metodología incremental, ya
que se adapta a la situación en que se llevará a cabo el desarrollo. Lo
anterior debido a que se requiere dar rápidamente ciertas funcionalidades
al software y aumentarlas en entregas posteriores. El modelo incremental
se centra en que cada incremento entrega un producto operativo. El primer
incremento entrega un producto fundamental, abordando solo los
requerimientos básicos. El usuario interactúa con este producto
fundamental y lo somete a una evaluación. Como resultado de esta
evaluación se desarrolla un plan para el siguiente incremento, que incluye
modificaciones del producto fundamental para adecuarse a las necesidades
del usuario, así como la entrega de más funcionalidades. Este proceso se
repite hasta terminar el producto final.
Para este proyecto se definieron 2 incrementos:
 El primer incremento contempla la implementación de varias
funcionalidades: consultar precio/stock de un medicamento.
 El segundo incremento corregirá los errores encontrados durante las
pruebas con los usuarios, además mejorará aspectos de interfaz para
mejorar la interacción con la aplicación. Finalmente agregará las
funcionalidades para consultarlos precios requeridos
Herramientas de apoyo al desarrollo de software que serán utilizadas:
 Android Studio: Es el entorno de desarrollo integrado oficial para
Android, basado en IntelliJ IDEA de JetBrains. Posee una licencia
Apache 2.0, por lo que es distribuido de forma gratuita. Este IDE
cuenta con todas las herramientas y características necesarias para
desarrollar aplicaciones.
 Draw.io: Página web que permite la realización de diagramas de
manera colaborativa, intuitiva y con integración a Google Drive.
 GitLab: Servicio web de control de versiones, que además de contar
con un gestor de repositorios, posee un sistema de seguimiento de
errores y puede ser conectado con Android Studio, permitiendo
realizar distintas operaciones como commits, pushs y pulls
directamente desde el IDE.
 GPS: Global Positioning System o sistema de posicionamiento global,
permite la localización de un objeto en todo el planeta, usando para
esto satélites que se encuentran orbitando la tierra con trayectorias
sincronizadas.
 Java Development Kit (JDK) 8: JDK es un entorno de desarrollo para
construir aplicaciones, applets y componentes usando el lenguaje de
programación Java. Se incluyen herramientas útiles para el desarrollo
y testeo de programas escritos en Java.
 MySQL: Sistema de gestión de base de datos de código abierto,
desarrollado y distribuido por Oracle Corporation. MySQL soporta
bases de datos relacionales.
 MySQL Workbench: Herramienta visual para administración de
bases de datos, que provee modelamiento de datos, desarrollo SQL
y herramientas para configuración de servidores, usuarios, respaldo
y mucho más.
 Servicio Web: Tecnología que usa variados protocolos y estándares
para el intercambio de información entre distintas aplicaciones.
 Spring Boot: Framework de desarrollo de aplicaciones para Java
Virtual Machine, que permite la creación de aplicaciones auto
contenidas, de fácil despliegue, flexible, extensible y con mínimas
configuraciones.
 Spring Tool Suite: Entorno de desarrollo personalizado para
desarrollar aplicaciones con Spring. Basado en Eclipse, permite
implementar, depurar, ejecutar y desplegar aplicaciones Spring,
además incluye integración con numerosas herramientas como Git,
Maven, Apache Tomcat, etc.
 SQL (Structured Query Language): Lenguaje especializado para
gestionar bases de datos relacionales.
 SQLite: Sistema de gestión de bases de datos relacionales, que
gracias a su reducido tamaño se encuentra incluido en Android,
permitiendo la creación de bases de datos privadas en un dispositivo.
 Vertabelo: Sitio web para diseñar bases de datos, que permite
trabajo colaborativo y posee licencia gratuita para uso académico.
 XML (extensible Markup Language): Es una meta-lenguaje que
permite, entre otras muchas cosas, el diseño de interfaces de usuario
en aplicaciones Android.
Arquitectura de software
MVP y Android
El patrón de diseño Modelo Vista Presentador (MVP) es una derivación del
Modelo Vista Controlador (MVC). Ambos patrones son simples y obvios,
incluso algunos consideran que no califican del todo como patrones. MVP
es usado para minimizar la alta dependencia de la vista, como es el caso en
MVC. Separa la vista y el modelo usando el presentador, el que decide qué
debe ser mostrado en la vista.
• Modelo: Representa los objetos en la aplicación. Contiene la lógica de
donde se buscarán los datos, como a bases de datos o servicios web.
• Vista: Muestra la información a los usuarios, usando archivos .xml,
activistas, fragmentos y diálogos. No contiene ningún tipo de lógica.
• Presentador: Lleva a cabo la tarea de controlador y actúa como mediador
entre la vista y el modelo. Pero a diferencia del controlador, no depende de
la vista. La vista interactúa con el presentador en busca de la información a
ser mostrada, entonces el presentador toma la información desde el
modelo y se la entrega a la vista en un formato presentable. El presentador
no contiene ningún componente de interfaz, solo manipula la información
del modelo y la muestra en la vista.
En el diseño MVP, el presentador se comunica con la vista a través de
interfaces. Las interfaces son definidas en la clase presentador. La
activity/fragment o cualquier componente de la vista implementan las
interfaces y muestra los datos. La conexión entre el presentador y la vista
es 1 a 1.
Figura. Interacción entre los componentes de MVP

REST
La transferencia de estado representacional (REST) es un estilo
arquitectónico definido para ayudar a crear y organizar sistemas
distribuidos. Un sistema organizado usando REST mejoraría en las
siguientes áreas: desempeño, escalabilidad de la interacción de
componentes, simplicidad de la interfaz, modificabilidad de los
componentes, portabilidad y confiabilidad. Ya que REST usa el protocolo
HTTP como punto de partida, hace uso de algunos de los verbos HTTP (GET,
POST, PUT y DELETE) para proveer el CRUD (Crear, Recuperar, Actualizar y
Eliminar).
Entre las principales características de REST se encuentran:
 Utiliza la arquitectura cliente-servidor, donde un servidor atiende a
las peticiones de los clientes, permitiendo la separación del código de
presentación al usuario del código del lado del servidor.
 La comunicación entre el cliente y el servidor debe ser sin estado,
esto significa que cada solicitud del cliente debe contener toda la
información necesaria para que el servidor la entienda.