Skip to content

MykytaRyasny/Android-Java-Conexion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nuevo Release

  • Pulido toda la conexion
  • Limitado el giro de pantalla
  • Añadido nuevo fragment
  • El boton de atrás tiene un comportamiento diferente segun el fragment
  • Nuevas corrutinas
  • Log en el servidor
  • Tratamiento de excepciones en el servidor personalizado
  • JavaDoc para el Server

BBDD

La bese de datos que se incluye en el release esta vacia, para probar hace falta registrarse

Como usar el proyecto

Compilado

  • Para usar el proyecto compilado hay que descargar la apk e instalarlo en un movil
  • Descargar el servidor en un dispositivo que tenga java 1.8 o superior
  • El servidor viene en una carpeta con librerias necesarias para funcionar asi como la BBDD, no moverlo de sitio para su correcto funcionamiento
  • Ejecutar el servidor con comando:
    java -jar Server.jar
  • tener el archivo de la base de datos en el mismo directorio que el servidor
  • Tanto el servidor como el dispositivo movil tiene que estar en la misma red Ya puedes registrarte y loguearte

Sin compilar

  • Necesitas AndroidStudio y Cualquier IDE a elección (Eclipse, VSCode, IntelliJ)
  • Java 1.8 o superior
  • Correr el servidor ejecutando el main de Java
  • Correr la APK con el emulador que trae AndroidStudio
  • En caso de que no quieras tener una maquina virtual, puedes ejecutarlo en el mismo dispositivo para eso en la app de Android Studio tendras que poner como IP 127.0.0.1 o la ip local que uses en caso de cambiarla

El proyecto de PSP de Mykyta Ryasny

El proyecto consiste en una aplicacion cliente servidor que inician el contacto emdiante login-register y posteriormente interactuan para realizar diversas tareas

Planing

  • Rehechos los hilos completamente en el servidor
  • Implementadas corrutinas en Android
  • Implementadas Excepciones personalzadas
  • El servidor devuelve True/False paras las operacioens de login/register
  • Cambiando el sistema de Cifrado a RSA (Clave publcia/Privada)
  • Encriptado manual de la Base de datos con BCrypt

Primera entrega

  • Impllementacio inciial de hilos
  • Almcenamiento local de la semilla de encriptacion
  • Implementados hilos en el servidor para los metodos login y register
  • Familiarizarme con el modelo VMMV de AndroidStudio (26-01-2023)
  • Instalar una maquina virtual con Linux para que me sirva de Servidor (26-01-2023)
    • He instalado Linux 22.04 Desktop para tener una interfaz y tener mayor comodidad a la hora de testear, la optimización de recursos no es necesaria en este momento
  • Crear una aplicacion-cliente basica para comprobar la comunicación con el servidor (30-01-2023)
  • Crear el primer diseño de Android para ir implementando la comunicación cliente-servidor (30-01-2023)
  • Implementar una conexión segura. (30-01-2023)
  • Interactuar con una base de datos.

Objetivos

  • Crear una aplicacion en AndroidStudio que ejecute diversos metodos en el servidor
  • Crear una aplicacion Java (Server) que este a la escucha constantemete
  • Almacenar datos del movil en el servidor entre ellos base de datos de login

Extras

  • Implementar otras funciones relacionados con BBDD o con el server en si como
    • Almacenamiento de diversos archivos en el server como imagenes o documentos

Modulos

Aquí se irán poninedo los modulos funcionales o en proceso de desarollo del proyecto para su completa implementación En esta fase del proyecto el proyecto dispone de los siguientes metodos en el Server:

  • login (se le pasa nombre de usuario y contraseña)
  • register (se le pasa nombre, nombre de usuario y contraseña para almacenar en la base de datos)

UML

Se irá implementando la relación entre diferentes métodos y la interacción completa a su vez el funcionamiento completo de los métodos Ejempolo de funcionamiento de login de clave publica clave privada: Ejemplo de login

Herramientas de desarrollo

  • Java 1.9
  • Kotlin
  • AndroidStudio
  • Base de Datos (SQLite)
  • Virtual machine (Con Linux para simular un servidor)
  • Maquina anfitriona Windows

Extra:

- Implementacion de Docker

Autor

GitHub