PAREJA - Diseño e Implementación de Una Aplicación Móvil Docente
PAREJA - Diseño e Implementación de Una Aplicación Móvil Docente
PAREJA - Diseño e Implementación de Una Aplicación Móvil Docente
2017/2018
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
2
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Resumen
En este trabajo final de grado (TFG) se implementa una aplicación para uso docente
en la plataforma Android, se pretende facilitar la comunicación en los centros educativos
entre profesorado, alumnado y padres de los alumnos.
La funcionalidad consiste en que, mediante esta app, el profesor pueda subir contenido
al servidor que se podrá descargar desde esta misma, también ofrece la opción de poder
chatear tanto con padres y el alumno, además de que los usuarios podrán obtener
información del centro.
Abstract
In this Final Degree Project, a teaching application is implemented on the Android
platform in order to facilitate the communication in schools
between teachers, students and their parents.
The functionality is that, through this application, the teacher can upload material to the
server that can be downloaded from it. It also offers
the option of being able to chat with both the parents and the student, as well as the fact
that users can obtain information from the center.
For the development of this application, it has been used the official IDE of Android,
called Android Studio, a local 'apache' server has been created for the
storage of the database and the use of the Android application services.
For this purpose, I have had the collaboration of the public-school Sant Joan
Evangelista de Massamagrell management to know the needs that could be covered.
3
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Tabla de contenidos
1. Introducción .................................................................................................................7
1.1 Objetivos ............................................................................................................ 8
2. Android....................................................................................................................... 9
2.1 ¿Qué es Android? .............................................................................................. 9
2.2 Historia ................................................................................................................... 9
2.3 Arquitectura ...........................................................................................................10
2.2.1 Aplicaciones ...............................................................................................10
2.2.2 Framework de Aplicaciones ......................................................................10
2.2.3 Librerías.....................................................................................................10
2.2.4 Entorno de ejecución de Android .............................................................. 11
2.2.5 Núcleo Linux ............................................................................................. 11
2.4 Arquitectura ........................................................................................................... 11
3. Firebase ..................................................................................................................... 14
4. XAMPP ..................................................................................................................... 14
5. Estado del Arte ........................................................................................................... 15
5.1 Sistemas operativos para móviles .................................................................... 15
5.2 Aplicaciones relacionadas con la docencia ...................................................... 16
5.2.1 ClassDojo: ................................................................................................. 16
5.2.2 TokAppSchool: .......................................................................................... 17
5.2.3 Trello: ........................................................................................................ 17
6. Análisis de requisitos .................................................................................................. 17
6.1 Usuarios ............................................................................................................ 18
6.2 Requisitos funcionales ...................................................................................... 18
6.3 Requisitos no funcionales ................................................................................ 22
6.4 Diagrama de casos de uso ................................................................................ 23
6.5 Mockups software ............................................................................................ 26
6.6 Diagrama de clases ........................................................................................... 31
7. Implementación ......................................................................................................... 34
7.1 Arquitectura de aplicación ............................................................................... 34
7.1.1 Arquitectura hardware ............................................................................. 34
4
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
5
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Tabla de Figuras
Figura 1 : Arquitectura Android __________________________________________ 10
Figura 2 : Control XMAPP _____________________________________________ 15
Figura 3 : Sistemas Operativos Cuota de Mercado _____________________________ 15
Figura 4 : Android lidera el mercado ______________________________________ 16
Figura 5 : ClassDojo __________________________________________________ 16
Figura 6 : TokAppSchool_______________________________________________ 17
Figura 7 : Trello _____________________________________________________ 17
Figura 8: Casos de uso ________________________________________________ 25
Figura 9 : Inicio MU __________________________________________________ 26
Figura 10 : Registro MU ______________________________________________ 26
Figura 11 : Menú MU _________________________________________________ 27
Figura 12 : Mock Ups MU ______________________________________________ 27
Figura 13: Asignaturas MU _____________________________________________ 28
Figura 145: Documentos MU 2 __________________________________________ 28
Figura 156: Tablón MU 1 ______________________________________________ 29
Figura 167: Tablón MU 2 ______________________________________________ 29
Figura 17 : Chat MU 1 _________________________________________________ 30
Figura 18 : Chat MU 2 ________________________________________________ 30
Figura 19 : Chat MU 3 ________________________________________________ 30
Figura 20: Diagrama de clases __________________________________________ 33
Figura 21 :Arquitectura _______________________________________________ 34
Figura 22 :Relaciones Base de Datos ______________________________________ 37
Figura 23: Login ____________________________________________________ 41
Figura 24: Registro __________________________________________________ 41
Figura 25: Menú ____________________________________________________ 42
Figura 26:layoutMensaje ______________________________________________ 44
Figura 27: CardViewTablon ____________________________________________ 47
6
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
1. Introducción
Las TIC actualmente tienen una gran importancia en la educación, facilitan la
obtención de información y la comunicación entre los diferentes niveles
educativos.
El uso del PC ha sido superado por los dispositivos móviles, por eso muchas
compañías están invirtiendo en el desarrollo de ‘apps’ para poder competir en el
mercado.
En este contexto he decidido desarrollar una aplicación para uso docente, para
hacer más cómoda la comunicación entre profesorado y alumnado mediante el
uso de un sistema de almacenamiento, un tablón para colgar notificaciones y el
uso de chat entre los usuarios de la misma.
7
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
1.1 Objetivos
El objetivo del proyecto es realizar una aplicación móvil en la plataforma
Android para que se pueda distribuir mediante la Play Store para su
instalación. Aunque cada centro que quiera usar la aplicación deberá hacer
un registro previo para poder solicitar los datos y personalizar algunas
funcionalidades.
Para poder llevar a cabo este objetivo se deben alcanzar estas metas:
8
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
2. Android
2.1 ¿Qué es Android?
Android es un sistema operativo basado en el núcleo Linux, está diseñado
para dispositivos móviles con pantalla táctil, relojes inteligentes, televisores
y automóviles.
2.2 Historia
En el año 2003 Android fue desarrollado por la empresa Android Inc. La
empresa se centraba en el desarrollo de software para móviles, esta empresa
fue respaldada por Google económicamente.
Durante todos estos años Android ha ido evolucionando hasta llegar a ser el
sistema operativo más utilizado.
9
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
2.3 Arquitectura
Android contiene una pila de software agrupado en niveles siendo este
sistema operativo, middleware y aplicaciones básicas para el usuario. En la
Figura 1 podemos observar estas agrupaciones, así como sus módulos
principales.
2.2.1 Aplicaciones
En este nivel se incluyen todas las aplicaciones, las que añade el usuario y
las que vienen por defecto con el sistema operativo, están en el primer nivel
por que utilizan todo lo posterior.
2.2.3 Librerías
Estas librerías se han creado mediante C/C++ son junto con el núcleo
los pilares que constituyen Android.
10
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
2.4 Arquitectura
- Android 1.0 Nivel de API 1 (septiembre 2008):
No tubo uso comercial ya que fue la primera versión.
- Android 1.1 Nivel de API 2 (febrero 2009):
Se solucionaron errores de la anterior versión, es la opción a escoger
si queremos desarrollar una aplicación para todos los dispositivos,
casi no existen usuarios con esta versión.
- Android 1.5 Nivel de API 3 (abril 2009) Cupcake:
Teclado en pantalla con predicción de texto, grabación avanzada de
audio y video. Widgets y Live Folders.
- Android 1.6 Nivel de API 4 (septiembre 2009) Donut:
Búsqueda avanzada, incorpora gestures y síntesis de texto de voz,
trabaja con diferentes densidades de pantalla, nuevo atributo XML
onClick.
- Android 2.0 Nivel de API 5 (octubre 2009) Éclair:
La mayoría de los fabricantes pasaron directamente de la versión
1.6 a la 2.1.API para manejar bluetooth 2.1. Optimizado la velocidad
del hardware, nueva interfaz del navegador y soporte para HTML5.
- Android 2.1 Nivel de API 7 (enero 2010):
Permite introducir un campo de texto dictando sin necesidad de
usar el teclado. Fondos de pantalla animados, información sobre la
señal de la red actual que posea el dispositivo.
- Android 2.2 Nivel de API 8 (mayo 2010) Froyo:
Incremento de velocidad CPU, instalar aplicaciones en un medio de
almacenamiento externo, aplicaciones se actualizan de forma
automática cuando aparece una nueva versión, se mejora la
11
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
12
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Se debe elegir la versión que más convenga para crear una aplicación en
nuestro caso he elegido el SDK Version API 25, Android 7.1.1 , Build Tools
Version 25.0.2 , debido a que tiene un mejor sistema de notificaciones y el
dispositivo móvil para la fase de depuración lo soporta.
13
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
3. Firebase
Firebase es una plataforma de Google para el desarrollo de aplicaciones móviles
y aplicaciones Web.Esta plataforma ofrece una gran cantidad de servicios para el
desarrollo de aplicaciones:
• Firebase Analytics, proporciona una visión profunda sobre el uso de la
aplicación por parte de los usuarios.
• Firebase Cloud Messaging, plataforma para mensajes y notificaciones
para las plataformas Android, IOS y aplicaciones web.
• Firebase Auth, puede autenticar los usuarios utilizando únicamente
código del lado del cliente, la autenticación de los usuarios con email y
contraseña que se almacenara en Firebase y la autenticación con las
plataformas Facebook,Twiter, Google y Github.
• Realtime Database, proporciona una base de datos en tiempo real y
back-end, este servicio proporciona una API que permite sincronizar la
información y almacenarla en Firebase
• Firebase Storage, servicio para cargas y descargas de archivos para
aplicaciones Firebase.
4. XAMPP
Para la implementación del registro de usuarios y los servicios de mensajes en un
principio se pensó hacerlo con una base de datos integrada en la aplicación y el
uso de SQLITE, pero se quedaba corta, así que se optó por el uso WAMP que
permite el uso de un servidor Apache, gestión de Base de datos MySQL y los
intérpretes para lenguajes de script PHP.
EL nombre es un acrónimo:
14
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
• Android 68,54 %
• iOS 25,78 %
• Windows Phone 1,95 %
• Otros 3,73 %
Se observa que Android supera con diferencia a los demás sistemas operativos
para dispositivos móviles, gran parte de este éxito se debe a que Android es un
sistema de código abierto, mientras que IOS y Windows Phone no lo son.
15
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
5.2.1 ClassDojo:
Esta aplicación ayuda a los profesores a mejorar las
conductas en sus aulas, los profesores comparten con
padres y administración datos sobre comportamientos.
Figura 5 : ClassDojo Los padres pueden revisar el progreso del alumno en la
escuela. Generación de informes y fácil gestión.
16
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
5.2.2 TokAppSchool:
Aplicación de mensajería educativa, pretende agilizar la
comunicación entre centros, profesores, alumnos y
padres.
5.2.3 Trello:
6. Análisis de requisitos
En este apartado hablaremos de los requisitos necesarios que se han tenido en
cuenta para desarrollar la aplicación.
Esta fase es la más importante para poder desarrollar el software ya que se realiza
un estudio y captura de requisitos necesarios, mediante reuniones con nuestro
cliente para cubrir todas las necesidades que tenga nuestro cliente.
En este caso ha habido reuniones con la dirección del centro público Sant Joan
Evangelista de Massamagrell. En las que se especificó los roles de usuario que se
necesitarían, la creación de una contraseña física para el control de usuarios, y la
personalización de la interfaz
17
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
6.1 Usuarios
En toda aplicación software se va a necesitar un usuario administrador que
tendrá acceso a todas las funcionalidades del programa.
Dependiendo el rol que tenga cada usuario tendrán unos permisos u otros.
Los profesores son los que pueden iniciar cualquier tablón con cualquier
curso.
Los padres pueden iniciar chats con los profesores de sus alumnos, así como
ver todas las notificaciones que reciben sus hijos, acceso directo con todos los
profesores del curso.
Registro de usuario
Login de usuario
18
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Consultar Mapa
Consultar Comedor
Consultar Centro
Añadir a mi lista
Consultar tablón
Crear conversación
Consultar conversación
19
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Enviar mensaje
Subir documento
Descargar documento
20
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Listar profesores
Listar alumnos
21
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Validar Código
Crear Carpeta
Borrar Carpeta
Borrar documento
Consultar Chat
22
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Facilidad de uso: Debe ser una interfaz cómoda para el usuario y se les
debe dar facilidades para entender la aplicación, así como un manual de uso.
Componentes primarios:
23
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
24
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
25
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Pantalla de Inicio
Figura 9 : Inicio MU
Registro
Figura 10 : Registro MU
26
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Menú
Figura 11 : Menú MU
Información
Localización
Con esta opción accederemos a Google maps donde podremos ver el recorrido
que debemos de seguir para llegar al centro.
Contacto
27
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Comedor
Recursos
Documentos
28
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
El usuario puede abrir una carpeta seleccionándola, también hay dos botones
con los que puede crear una carpeta indicándole su nombre y puede borrar
carpetas que el haya creado, el botón de borrar accederá a una lista de sus
carpetas creadas como se muestra en la figura 14. Una vez dentro de la carpeta
el usuario tendrá una lista de documentos que podrá descargar
seleccionándolos, y también tenemos las opciones de borrar y añadir
documento que serán idénticas a las de las carpetas.
Tablón
Una vez elegida la asignatura el usuario puede entrar a un tablón ya creado, crear
tablón poniendo un nombre de tablón, también puede Borrar tablones, cuando
selecciona esta opción le saldrá una lista de los tablones que ha creado él, una vez
entra en un tablón podrá leer las entradas que se encuentren en él y tiene las
opciones de crear entrada, donde colgara su entrada al final del tablón.
Podrá borrar entrada donde se le indicará una lista de sus tablones para que
seleccione el que desea eliminar.
29
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Chat
El usuario al entrar en esta opción visualizara dos botones que serán Lista Chats
y lista Usuarios
Figura 17 : Chat MU 1
30
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Una vez entrado en el chat con el otro usuario se visualizará la figura 20.
31
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
32
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
33
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
7. Implementación
7.1 Arquitectura de aplicación
7.1.1 Arquitectura hardware
Hardware que se ha utilizado para desarrollar esta aplicación y sus
características:
Figura 21 :Arquitectura
34
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Curso: Esta tabla almacena el nombre de los cursos, se usa para poder listar
en la aplicación los cursos a los que pertenece cada usuario.
35
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Usando los servicios PHP crearemos una tabla por cada tablón donde
tendremos el id del tablón, usuario, variable entrada corresponde al texto
que introduce el usuario en el tablón y hora. En este caso el id será la clave
principal.
36
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Esquema relacional
37
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Con este método creamos las tablas en la base de datos cada vez que
creamos un chat nuevo.
38
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Permisos
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission
android:name="com.google.android.providers.gsf.permission.READ_GSERVIC
ES" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
39
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
7.4.1 Login
Actividad principal de la aplicación, en esta actividad se permite acceder con
el DNI y la contraseña o si no estás registrado avanza a la actividad de
registrarse. Si ya estamos registrados y completamos los campos, al pinchar
en el botón acceder se ejecuta el siguiente execute:
new
MainActivity.ConsultarDatos().execute("http://192.168.1.104/aplicacion
docente/consulta.php?dni=" +
dni.getText().toString()+"&password="+pass.getText().toString());
40
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
7.4.2 Registro
En esta actividad el usuario rellena un formulario, y cuando le da a
registrarse él se vuelve a ejecutar otro execute con los parámetros necesarios
para registrar, si todo es correcto se vuelve a la actividad Login, si no lo es se
muestra el error por pantalla.
41
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
7.4.3 Aplimenu
En esta actividad se muestra una interfaz con los imagen buttons
correspondientes y cada uno de ellos te lleva una funcionalidad de la
aplicación, este menú se hizo según la reunión que se tuvo con el cliente.
Desde el puedes acceder a 5 clases.
7.4.4 Ubicación
Para el desarrollo de esta actividad hacemos uso de las librerías
correspondiente para el acceso a Google maps, le añadimos las coordenadas
del centro y movemos la cámara para centra la ubicación.
final LatLng punto1 = new LatLng(39.5697838,-0.3286616);
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
mMap.addMarker(new
MarkerOptions().position(punto1).title("Colegio").icon(BitmapDescripto
rFactory.fromResource(R.drawable.marcadorcole)).snippet( "CEIP San
Juan Evangelista ").alpha(0.8f));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(punto1,15));
7.4.5 Contacto
El usuario dispone de dos botones, con uno accedes al correo y cargamos la
dirección de correo del centro. El otro botón es para poder realizar una
llamada al centro, sale de la aplicación y llama al centro.
llamada.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
42
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
7.4.6 Noticias
En esta actividad cargamos un WebView con la dirección del centro.
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("http://mestreacasa.gva.es/web/sanjuanevangelista/1"
);
7.4.7 Comedor
El usuario accede a un pdf que se descarga de un enlace de la web que va
cambiando mensualmente en el caso del cliente. Y lo muestra en la
aplicación
7.4.8 Recursos
En esta actividad se visualizan 3 botones, cada uno de ellos lleva a una
actividad, asignaturas, gestiona chat.
7.4.9 Gestionchat
Con esta actividad podemos acceder a dos botones listachat listauser,
también tenemos todos los datos de nuestro usuario guardados en un Array
7.4.10 Listachat
Cargamos los chats que se han creado en nuestro usuario desde la base de
datos con execute y cada una de las salas sale como un botón al que se puede
acceder.
7.4.11 Listauser
Cargamos la lista de usuarios que pertenecen a nuestro curso y aun no
tenemos chat con ellos con una consulta, y aparecerán en la interfaz como
botones. Si se pincha en alguno de ellos se creará un chat y accederemos a
la actividad de Mensajeria.
7.4.12 Mensajeria
Esta clase tiene más importancia, ya que es la sala de chat. Para el desarrollo
de esta la interfaz de esta actividad se han creados imágenes ‘9.png’, mapas
de bits de tamaño modificable para la creación de estas imágenes Android
studio , debes acceder al bat draw9.patch que se suele encontrar en esta
dirección :
C:\Users\Usuario\AppData\Local\Android\sdk\tools
43
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Utilizamos esta parte de código para cambiar las imágenes de los mensajes
if(mtext.get(position).getTipoMensaje()==1){//EMISOR
holder.mensajeBG.setBackgroundResource(R.drawable.in_message_bg);
rl.addRule(RelativeLayout.ALIGN_PARENT_LEFT,0);
rl.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
llMensaje.gravity = Gravity.RIGHT;
llHora.gravity = Gravity.RIGHT;
fl.gravity = Gravity.RIGHT;
holder.TvMensaje.setGravity(Gravity.RIGHT);
}else if(mtext.get(position).getTipoMensaje()==2){//RECEPTOR
holder.mensajeBG.setBackgroundResource(R.drawable.out_message_bg);
rl.addRule(0,RelativeLayout.ALIGN_PARENT_RIGHT);
rl.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
llMensaje.gravity = Gravity.LEFT;
llHora.gravity = Gravity.LEFT;
fl.gravity = Gravity.LEFT;
holder.TvMensaje.setGravity(Gravity.LEFT);
}
finalmente, cada vez que enviamos debemos de enviar una notificación para
que el otro usuario reciba el aviso de que se le ha escrito, para ello tenemos
las clases de servicios de FireBaseId y FireBaseSErviceMensaje.
44
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
FirebaseID:
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
String type = remoteMessage.getData().get("type");
String cabezera = remoteMessage.getData().get("cabezera");
String cuerpo = remoteMessage.getData().get("cuerpo");
switch (type) {
case "mensaje":
String mensaje = remoteMessage.getData().get("mensaje");
String hora = remoteMessage.getData().get("hora");
String receptor = remoteMessage.getData().get("receptor");
String emisorPHP = remoteMessage.getData().get("emisor");
//String emisor =
Preferences.obtenerPreferenceString(this,
Preferences.PREFERENCE_USUARIO_LOGIN);
if (emisor.equals(receptor)) {
Mensaje(mensaje, hora, emisorPHP);
showNotification(cabezera, cuerpo);
}
7.4.13 Asignatura
La actividad ejecuta un execute y carga de la base de datos todas las
asignaturas que correspondientes al usuario y se carga en la interfaz
aparecen cada asignatura como un botón. Con esta clase puedes invocar a
dos actividades, Listacap y listatab
45
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
7.4.14 Listarcarp
En esta actividad se lanza un execute que carga las carpetas que
corresponden a cada usuario dependiendo de sus permisos, cada carpeta
que muestra la interfaz es un botón que te lleva a la actividad que te
mostrara todas las carpetas que se encuentran en ella.
7.4.15 Docuemtos
Se carga de la base de datos con un execute todos los archivos que tiene la
carpeta seleccionada según los permisos que tenga el usuario, también
tenemos la opción de borrar documentos y de añadir documentos, solo
podrá borrar los documentos subidos por el mismo usuario, para añadir
documentos también deberá dar permisos a cada usuario sobre el
documento.
7.4.16 Listatab
Se recogen los tablones de la base de datos que correspondan a la asignatura
seleccionada y se cargan todos aquellos que el usuario pueda visualizar
dependiendo de los permisos que se tengan, a los que podrá acceder y con
ello cargara la actividad tablon. En esta actividad el usuario podrá borra los
tablones que haya creado él, también podrá crear tablones y acceder a la
actividad permisos donde deberá selecciona los permisos de cada usuario
sobre el tablón.
7.4.17 Permisos
El usuario accederá a esta actividad una vez haya creado una carpeta, un
documento o un tablón, el usuario podrá seleccionar el rol y darle los
permisos sobre lo que acaba de crear.
7.4.18 Mensajeriatab
Esta actividad es muy parecida a la mensajería del chat ya que también usa
el servicio de firebase, la diferencia más grande es que en esta actividad
puedes eliminar los tablones que has creado el usuario.
46
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
6. Presupuesto
Para este proyecto se ha simulado un servidor Apache en local, pero para
conseguir todas las funcionalidades en todos los dispositivos se necesita un
servidor donde almacenar la base de datos con el mantenimiento que esto
conlleva.
Para la realización de este presupuesto configuraremos un servidor dedicado.
Servidor Precio
47
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
Este presupuesto depende mucho de las dimensiones del centro y los recursos
que dispongan.
7. Conclusiones
7.1 Valoración Personal.
En este TFG he podido aprender muchas cosas de la programación en
Android que no sabía, he asentado conocimientos en PHP que no he visto en
la carrera además de haber podido trabajar en un caso real para un colegio.
48
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
8. Bibliografía
Páginas Web Consultadas año 2017
http://www.androidcurso.com/index.php/146
https://www.androidpit.es/sdk-android
Miguel Ángel Godoy Soro ,2014-2015 Diseño de una aplicación Android para la
recogida de datos de tráfico y su comunicación a un servidor.
https://riunet.upv.es/bitstream/handle/10251/53940/Memoria.pdf;sequence=2
https://histinf.blogs.upv.es/2012/12/14/android/
Marcos Perelló Soto ,2013-2014 Desarrollo de una aplicación móvil Android para
mejorar la integración de los estudiantes de intercambio en la UPV mediante el uso de
herramientas útiles.
https://riunet.upv.es/bitstream/handle/10251/48386/PERELL%C3%93%20-
%20Desarrollo%20de%20una%20aplicaci%C3%B3n%20m%C3%B3vil%20android%2
0para%20mejorar%20la%20integraci%C3%B3n%20%20%20de%20los%20estudia....p
df?sequence=1
https://riunet.upv.es/bitstream/handle/10251/48403/L%C3%93PEZ%20-
%20Desarrollo%20de%20una%20aplicaci%C3%B3n%20m%C3%B3vil%20android%2
0para%20mejorar%20la%20integraci%C3%B3n%20%20%20de%20los%20estudiant...
.pdf?sequence=1
https://riunet.upv.es/bitstream/handle/10251/57432/memoria_TFG_Javier_Colomer
_Barber%C3%A1.pdf?sequence=1
https://sites.google.com/site/swcuc3m/home/android/generalidades/2-2-
arquitectura-de-android
Fecha Consulta:2017
49
DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN MÓVIL DOCENTE
http://jmacuna73.blogspot.com.es/2017/03/sistemas-operativos-moviles.html
https://www.netmarketshare.com/operating-system-market-
share.aspx?qprid=10&qpcustomd=0
https://riunet.upv.es/bitstream/handle/10251/53857/TFG%20Sergio%20Alemany_14
36217728813584524600602947244.pdf?sequence=3
https://es.statista.com/grafico/8787/android-es-ya-el-sistema-operativo-mas-usado-
del-mundo/
Google,Firebase
https://firebase.google.com/
https://users.dcc.uchile.cl/~psalinas/uml/modelo.htmlhttps://laurmolina7821.wordpr
ess.com/1-1-3-aplicaciones-de-2-3-y-n-capas/
Android developer
https://developer.android.com/
Dinahosting,Servidor dedicado
https://dinahosting.com/dedicados/configurar/maquina/4
https://www.video2brain.com/es/cursos/aprende-firebase
50