Sie sind auf Seite 1von 16

FICHA DE IDENTIFICACIÓN DE PROYECTO

Título
Proyecto de Mensajeria en Android Studio

Nombres y Apellidos Código de estudiantes


Autor/es Lorgio Alejandro Llanos Cruz 201504038

Fecha 05/12/2018

Carrera Ing. Sistema


Asignatura Diseño y Desarrollo de Compiladores
Grupo “A”
Docente Maria Rosario Rocha Montaño
Periodo
Académico Segunda Gestión del 2018
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

Tabla De Contenidos

INTRODUCCIÓN ..................................................................................................................... 3
1. DESCRIPCIÓN DEL PROYECTO .......................................................................................... 4
2. Información General ................................................................................................................. 4
2.1 Android Studio ........................................................................................................................ 4
2.2 Firebase ................................................................................................................................... 7
3. Diseño de la Base de Datos .................................................................................................... 9
4. Android Studio ..................................................................................................................... 10
5. Funcionalidades.................................................................................................................... 14
Capítulo 6. Conclusiones ......................................................................................................... 15
Referencia ................................................................................................................................ 16

Asignatura: Diseño y Desarrollo de Compiladores


Página 2 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

INTRODUCCIÓN

Android Studio es el nombre de la nueva plataforma de desarrollo de Android. ¿Su


objetivo?, llegar a ser la herramienta indispensable en la creación de las aplicaciones
Android y ser un digno sucesor de Eclipse. Quien anteriormente había estado a cargo
de la elaboración de todas y cada una de las aplicaciones que se deseaba tener en la
plataforma móvil. Es así como Android Studio se convierte en la herramienta más
codiciada hoy en día. Pues no solamente promete mucha mayor calidad que su
predecesor, sino que además, una vez que le agarres el modo, te será mucho más fácil
realizar cualquier tipo de aplicación, desde la más sencilla, hasta aquella aplicación
sumamente compleja que deseas hacer.

Asignatura: Diseño y Desarrollo de Compiladores


Página 3 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

1. DESCRIPCIÓN DEL PROYECTO

En este proyecto aprenderemos a desarrollar un “sistema de mensajes “en la arquitectura de


software de Android Studio.
Utilizando como gestor de base datos Firebase, para que podamos obtener las capacidades
necesarias y poder desarrollar el proyecto web con Android Studio.

2. Información General

2.1 Android Studio

Android Studio es el entorno de desarrollo integrado oficial para la plataforma Android.


Fue anunciado el 16 de mayo de 2013 en la conferencia Google I/O, y reemplazó
a Eclipse como el IDE oficial para el desarrollo de aplicaciones para Android. La
primera versión estable fue publicada en diciembre de 2014.

Está basado en el software IntelliJ IDEA de JetBrains y ha sido publicado de forma


gratuita a través de la Licencia Apache 2.0. Está disponible para las
plataformas Microsoft Windows, macOS y GNU/Linux. Ha sido diseñado
específicamente para el desarrollo de Android.

Estuvo en etapa de vista previa de acceso temprano a partir de la versión 0.1, en mayo
de 2013, y luego entró en etapa beta a partir de la versión 0.8, lanzada en junio de
2014. La primera compilación estable, la versión 1.0, fue lanzada en diciembre de
2014.1 La última versión estable es la 3.0, y fue lanzada en octubre de 2017. 1

Características de Android Studio

 Excelente Estructura. Anteriormente con Eclipse, se llegaba a tener ciertos


problemas con lo que es la estructura, el orden y el diseño en como se
acomodaban las cosas en el panel de desarrollo. Sin embargo con Android Studio,
tendremos a nuestra disposición, una estructura simple y organizada para llevar a
cabo la elaboración de proyectos de cualquier tamaño.

Asignatura: Diseño y Desarrollo de Compiladores


Página 4 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

 Es Robusto. Algo que debemos aceptar, comparando Eclipse con Android Studio,
es que eta última tiene un ambiente mucho más robusto. Incluso a simple vista
pareciera una herramienta sumamente compleja y difícil de utilizar. Sin embargo,
una vez que estas trabajando con ella, te das cuenta que lo robusto solo es para
darle personalidad, pues Android Studio es sumamente intuitiva, simple y fácil.
 Excelente Visualización. Seguramente te ocurre, que estás en medio desarrollo y
te gustaría ver un demo de como va quedando todo. Pues con Android Studio esto
es una gran posibilidad. Tendremos a nuestra disposición, la función de
visualización en vivo, con la cual podremos ver el aspecto del diseño de nuestra
aplicación en pleno desarrollo, algo que sin duda será de gran ayuda para todos.
 Usa Plantillas. No creas que se trata de plantillas como las que utilizan los
gestores de contenido. Android Studio cuenta con plantillas para el diseño de
diversos elementos. Como un buen ejemplo, te pongo los mapas. Siempre habrá
una plantilla prediseñada para lo que pueda llegar a ser la inserción de un mapa,
por lo tanto en este aspecto superficial, pues simplemente no te deberás
preocupar.
 Fácil Creación de Apps. Algo que debemos valorar en grande manera, con el
entorno de Android Studio, es que es realmente fácil la creación de proyectos, los
cuales posteriormente pueden ser ejecutados en cualquier dispositivo que cuente
con el sistema operativo de android. Esta es otra de sus excelentes ventajas,
dejando de lado la posible complejidad que para muchos era Eclipse.
 Permite usar Emuladores. Por si pensabas que ya lo habías visto todo con
Android Studio. Ahora también podrás disfrutar de la utilización de emuladores.
Con estos, podrás ver a detalle el funcionamiento en tiempo real, de tus
aplicaciones en desarrollo y te permitirán comprobar que tus aplicaciones creadas
se pueden ejecutar correctamente y sin problema alguno o si bien, necesitan
meterse a consola nuevamente.

Estas son solamente algunas de las características, que ahora como


desarrolladores podremos disfrutar en el ambiente de desarrollo de aplicaciones
para android, pero por si fuera poco hay algo mucho más excelente que

Asignatura: Diseño y Desarrollo de Compiladores


Página 5 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

seguramente muchos agradecerán y se trata de la multicompatibilidad con los


sistemas operativos de escritorio.

Android Studio compatible con Windows, Mac OS y Linux

Anteriormente podíamos tener ciertas dificultades para trabajar con otros sistemas
operativos. Sin embargo la tendencia indica que la multiplataforma es lo de hoy y en
este caso, Android Studio se pone las pilas en ese aspecto. Así que hoy ya no importa
si usas Windows, eres chico linux o manejas un Mac. En realidad tendrás la posibilidad
de utilizar Android Studio de forma perfecta en cada una de las plataformas, sin
limitantes ni cualquier tipo de problema.

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.

Asignatura: Diseño y Desarrollo de Compiladores


Página 6 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

2.2 Firebase

Almacena y sincroniza datos con nuestra base de datos NoSQL alojada en la nube. Los
datos se sincronizan con todos los clientes en tiempo real y se mantienen disponibles
cuando la app no tiene conexión.
Firebase Realtime Database es una base de datos alojada en la nube. Los datos se
almacenan en formato JSON y se sincronizan en tiempo real con cada cliente
conectado. Cuando compilas apps multiplataforma con nuestros SDK de iOS, Android y
JavaScript, todos los clientes comparten una instancia de Realtime Database y reciben
actualizaciones automáticamente con los datos más recientes.

Tiempo real
En lugar de solicitudes típicas de HTTP, Firebase Realtime Database usa la
sincronización de datos (cada vez que cambian los datos, los dispositivos conectados
reciben esa actualización en milisegundos). Proporciona experiencias colaborativas y
envolventes sin pensar en el código de red.
Sin conexión
Las apps Firebase continúan respondiendo, incluso sin conexión, dado que el SDK de
Firebase Realtime Database hace que tus datos persistan en el disco. Cuando se
restablece la conexión, el dispositivo cliente recibe los cambios que faltaban y los
sincroniza con el estado actual del servidor.
Acceso desde dispositivos cliente
Se puede acceder a Firebase Realtime Database directamente desde un dispositivo
móvil o un navegador web; no se necesita un servidor de aplicaciones. La seguridad y
la validación de datos están disponibles a través de las reglas de seguridad de
Firebase Realtime Database: reglas basadas en expresiones que se ejecutan cuando
se leen o se escriben datos.
Escalamiento en varias bases de datos
Con Firebase Realtime Database y el plan de precios Blaze, puedes satisfacer las
necesidades de datos de la app a gran escala: podrás dividir la información en diversas
instancias de bases de datos dentro del mismo proyecto de Firebase. Usa

Asignatura: Diseño y Desarrollo de Compiladores


Página 7 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

Firebase Authentication para optimizar el proceso de autenticación en el proyecto.


Podrás autenticar a usuarios en varias instancias de la base de datos. Controla el
acceso a la información de cada base de datos. Para ello, usa las reglas
personalizadas de Firebase Realtime Database en cada una de las instancias de la
base de datos.

Cómo funciona
Firebase Realtime Database te permite compilar aplicaciones ricas y colaborativas, ya
que permite el acceso seguro a la base de datos directamente desde el código del
cliente. Los datos persisten de forma local. Además, incluso cuando no hay conexión,
se siguen activando los eventos en tiempo real, lo que proporciona una experiencia
adaptable al usuario final. Cuando el dispositivo vuelve a conectarse, Realtime
Database sincroniza los cambios de los datos locales con las actualizaciones remotas
que ocurrieron mientras el cliente estuvo sin conexión, lo que combina los conflictos de
forma automática.
Realtime Database proporciona un lenguaje flexible de reglas basadas en expresiones,
llamado reglas de seguridad de Firebase Realtime Database, para definir cómo se
deberían estructurar los datos y en qué momento se pueden leer o escribir. Integrar
Firebase Authentication permite que los programadores definan quién tiene acceso a
qué datos y cómo acceden a ellos.
Realtime Database es una base de datos NoSQL y, como tal, tiene diferentes
optimizaciones y funcionalidades en comparación con una base de datos relacional. La
API de Realtime Database está diseñada para permitir solo operaciones que se puedan
ejecutar rápidamente. Eso permite crear una excelente experiencia de tiempo real que
puede servir a millones de usuarios sin afectar la capacidad de respuesta. Es
importante pensar cómo deben acceder a los datos los usuarios y estructurarlos según
corresponda.

Asignatura: Diseño y Desarrollo de Compiladores


Página 8 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

3. Diseño de la Base de Datos

Asignatura: Diseño y Desarrollo de Compiladores


Página 9 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

4. Android Studio

Código para enviar mensajes.

import java.util.Map;

/**
* Created by Hp on 05/12/2018.
*/

public class MensajeEnviar extends Mensaje {


private Map hora;

public MensajeEnviar() {
}

public MensajeEnviar(Map hora) {


this.hora = hora;
}

public MensajeEnviar(String mensaje, String nombre, String fotoPerfil, String type_mensaje, Map hora) {
super(mensaje, nombre, fotoPerfil, type_mensaje);
this.hora = hora;
}

public MensajeEnviar(String mensaje, String urlFoto, String nombre, String fotoPerfil, String
type_mensaje, Map hora) {
super(mensaje, urlFoto, nombre, fotoPerfil, type_mensaje);
this.hora = hora;
}

public Map getHora() {


return hora;
}

Asignatura: Diseño y Desarrollo de Compiladores


Página 10 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

public void setHora(Map hora) {


this.hora = hora;
}
}

Código para recibir mensajes

/**
* Created by Hp on 05/12/2018.
*/

public class MensajeRecibir extends Mensaje {

private Long hora;

public MensajeRecibir() {
}

public MensajeRecibir(Long hora) {


this.hora = hora;
}

public MensajeRecibir(String mensaje, String urlFoto, String nombre, String fotoPerfil, String
type_mensaje, Long hora) {
super(mensaje, urlFoto, nombre, fotoPerfil, type_mensaje);
this.hora = hora;
}

public Long getHora() {


return hora;
}

public void setHora(Long hora) {


this.hora = hora;
}]

Asignatura: Diseño y Desarrollo de Compiladores


Página 11 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

Código para leer mensajes

/**
* Created by Hp on 05/12/2018.
*/

public class Mensaje {

private String mensaje;


private String urlFoto;
private String nombre;
private String fotoPerfil;
private String type_mensaje;

public Mensaje() {
}

public Mensaje(String mensaje, String nombre, String fotoPerfil, String type_mensaje) {


this.mensaje = mensaje;
this.nombre = nombre;
this.fotoPerfil = fotoPerfil;
this.type_mensaje = type_mensaje;
}

public Mensaje(String mensaje, String urlFoto, String nombre, String fotoPerfil, String type_mensaje) {
this.mensaje = mensaje;
this.urlFoto = urlFoto;
this.nombre = nombre;
this.fotoPerfil = fotoPerfil;
this.type_mensaje = type_mensaje;
}

public String getMensaje() {


return mensaje;
}

public void setMensaje(String mensaje) {


this.mensaje = mensaje;
}

Asignatura: Diseño y Desarrollo de Compiladores


Página 12 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

public String getNombre() {


return nombre;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public String getFotoPerfil() {


return fotoPerfil;
}

public void setFotoPerfil(String fotoPerfil) {


this.fotoPerfil = fotoPerfil;
}

public String getType_mensaje() {


return type_mensaje;
}

public void setType_mensaje(String type_mensaje) {


this.type_mensaje = type_mensaje;
}

public String getUrlFoto() {


return urlFoto;
}

public void setUrlFoto(String urlFoto) {


this.urlFoto = urlFoto;
}

Asignatura: Diseño y Desarrollo de Compiladores


Página 13 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

5. Funcionalidades

Aplicación funcionando en el teléfono.

Asignatura: Diseño y Desarrollo de Compiladores


Página 14 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

Capítulo 6. Conclusiones

Definitivamente Android Studio es una maravilla de plataforma de desarrollo. Si eres


desarrollador y no haz probado Android Studio, te invito desesperadamente a que
vayas a probarlo, lo podrás descargar del sitio oficial si lo deseas y podrás empezar a
desarrollar aplicaciones android. Recuerda que este tipo de aplicaciones pueden ser
monetizadas con publicidad, así que también puede servir para aprender y para ganar
algo de dinero con la publicidad que puedas poner dentro de tu app.

Sin duda Android Studio es una plataforma que no le pide nada a nadie y que ya
muchas empresas están considerando para trabajar con ellas y dejar de lado todo lo
demás.

Asignatura: Diseño y Desarrollo de Compiladores


Página 15 de 16
Carrera: Ing. Sistema
Título: Proyecto Android Studio
Autor/es: Jonathan Rojas, Lorgio Alejandro Llanos Cruz

Referencia

(domestika, 2000) https://www.domestika.org/es/forums/5-programacion-cliente/topics/71556-


mvc-quien-verifica

(codigofacilito, s.f.) https://codigofacilito.com/articulos/mvc-model-view-controller-explicado

(techopedia., s.f.) https://www.techopedia.com/definition/1243/sql-server

(walmart, s.f.) https://corporate.walmart.com/our-story

Asignatura: Diseño y Desarrollo de Compiladores


Página 16 de 16
Carrera: Ing. Sistema

Das könnte Ihnen auch gefallen