Orientación en un pequeño proyecto

Iniciado por Baal_30, 8 Noviembre 2015, 23:17 PM

0 Miembros y 1 Visitante están viendo este tema.

Baal_30

Muy buenas, me gustaría hacer un pequeño proyecto, que consistiera en una aplicación hecha en Android, que al abrirla te pidiera un nombre de usuario, y con él te metiera en una sala de chat en la que están todos los que hayan entrado a la aplicación.

Pero no se como empezar, tengo conocimientos de Android, Java, y BBDD, pero no se si es necesario hacer algún servidor en PHP o similar para que funcione correctamente, o como funciona el tema.

Por ello si me pudierais orientar un poco os lo agradecería ^^

Un saludo y gracias de antemano ¡!
«La suerte es el cuidado de los detalles». -Winston Churchill

ivancea96

Si es eso lo que quieres hacer, tendrás que hacer el cliente en Android, y el servidor. El servidor puede ser http, sí, pero me parece una pérdida de recursos. Sería mejor hacer un servidor dedicado a ese chat.

Sabiendo Java, Sockets y Threads (opcionalmente), no deberías tener problema. Solo idea el protocolo mediante el cual el servidor y los clientes se enviarán datos, y ponte a ello.

Para empezar, puedes hacrlo todo en java sin Android, por comodidad a la hora de depurar el servidor. Además, si lo haces en Java todo, puedes crear y compartir clases entre los proyectos, para así serializar datos a tu gusto y sin problemas.

Any question, be free.

Baal_30

Genial lo de hacerlo todo en Java, así lo haré, y aprovecharé para usarlo como proyecto de clase ya que estoy ^^

Me puedes orientar un pelín más desde este punto ¿? Que clases necesitaría hacer, etc... :/
«La suerte es el cuidado de los detalles». -Winston Churchill

ivancea96

Qué clases hacer es algo que tendrás que ver tú, según cómo lo quieras desarrollar.

De todos modos, un servidor simple, puede tener 1 bucle para encontrar nuevos clientes y un bucle para leer y responder a las peticiones de los clientes. Luego ya puedes implementar PINGS para evitar sockets desconectados ocupando memoria, o una consola para controlar desde el servidor, ya según te convenga.

El cliente, por su parte, habría de tener 2 threads (según como lo orientes, desde luego). En vez de ocupar un thread en un bucle infinito leyendo del servidor, puedes tener un timer que haga eso.
En cualquier caso, <interfaz gráfica><-><socket>, dos ramificaciones diferentes, comunciadas entre sí, desde luego.

Esa es una forma posible, ya verás qué prefieres.

Esquematiza el proyecto, dibuja un diagrama de flujo si te es más cómodo.

De todos modos, trata de empezar a hacer al menos un servidor que reciba conexiones, algo así. No te puedo decir cómo hacer todo el proyecto xD

Baal_30

Muchas gracias ^^ voy a investigar un poquito más y empezar con lo que comentas.

Un saludo :D
«La suerte es el cuidado de los detalles». -Winston Churchill