Sei sulla pagina 1di 15

Login en Android usando PHP y MySQL

Se les mostrara cmo hacer una aplicacin que simule el logueo o identificacin en un
sistema alojado en la nube como las que usamos todos los das en diversas aplicaciones.
Est divido en 2 partes, una parte web y una de Android. De momento el API de android
no provee ningn mtodo que permita conectarse a travs de internet directamente a
una Base de Datos Remota y ejecutar una consulta dentro de ella. Para poder realizar
esto se puede utilizar un web service al cul se pueda acceder a l pasando diversos
parmetros nos devuelve ya sea en formato XML o JSON, nuestro trabajo ser obtener
esa informacin devuelta y utilizarla en nuestra app.
Bsicamente el funcionamiento sera algo as:

Parte web
Para realizar la parte web utilizamos como lenguaje en la parte de servidor PHP, como
Base de Datos MySQL y como servidor Web Apache. Vamos a simular la nube para
realizar pruebas de manera local para eso podemos utilizar XAMPP que pueden
descargar del sitio oficial: http://www.apachefriends.org/

Base de Datos:
Como ya les comente utilizaremos MySQL, podemos aprovechar la utilidad que provee
xampp
llamada
phpmyadmin
por
lo
cual
accederemos
mediante
http://127.0.0.1/phpmyadmin luego de loguearnos. Vamos a crear una BD llamada
droid_login como lo muestra la siguiente imagen:

O si vamos a la pestaa SQL podemos ejecutar la siguiente consulta:


CREATE DATABASE droid_login;
Al ser la aplicacin solamente un ejemplo y al no tener un uso real crearemos una
tabla llamada usuarios en donde guardaremos el nombre de usuario y password
juntos.
Podemos crear la tabla ejecutando esta simple consulta:
Create Table usuarios (username varchar(10) NOT NULL , passw varchar(20)
NOT NULL )
Con esto basta por ahora con la base de datos.
Dentro de la carpeta htdocs crearemos una carpeta llamada droidlogin dentro de la
cual colocaremos los siguientes archivos que se les estarn entregando, estos sern la
parte web de nuestro sistema.

config.php En este se define el nombre de la base de datos su usuario, password y la ip


del servidor.
Es necesario modificar este archivo para poder adecuarlo a la configuracin de la BD de
cada uno.
Debern modificar el valor que est en rojo.
<?php
/**
* Database config variables
*/
define("DB_HOST", "localhost");
define("DB_USER", "admin");//cambiar por el nombre de usuario definido en la
configuracion de la BD.
define("DB_PASSWORD", "");//Modificar por el password elegido
define("DB_DATABASE", "droid_login");//Nombre de la base de datos reemplazar si se
utilizo otro diferente.
?>
connectbd.php Provee los mtodos para conectarse y desconectarse a la BD.
funciones_bd.php Provee los procedimientos para interactuar con la BD e insertar
nuevos usuarios, validar existencia de usuarios y validar un login
login.html Mediante esta pgina podemos loguearnos mediante el navegador sirve
para observar la respuesta del sistema.
acces.php Se encarga de devolver en notacin Json si el logueo es valido
adduser.html Permite realizar alta de usuarios verificando previamente su existencia
utiliza adduser.php

Para poder comprobar qu es lo que har la aplicacin podemos verlo a travs del
navegador pero primero debemos crear un usuario.
Accedemos a http://127.0.0.1/droidlogin/adduser.html
Podemos ingresar:
usuario: test
password: test01

Luego al clickear en Agregar

Si queremos volver a agregar el mismo usuario, nos mostrar el siguiente mensaje:


Este usuario ya existe ingrese otro diferente!
Por lo que la aplicacin tambin controlara que no halla usuario repetidos.
Podemos verificar directamente desde la BD los usuarios creados:

Antes de pasar a la parte de Android vamos a probar si todo funciona correctamente.

Para lo cual utilizaremos el archivo login.html


Accederemos a l mediante http://127.0.0.1/droidlogin/login.html
Veremos lo siguiente:

Ingresamos el usuario y password creados anteriormente.


Si configuramos todo correctamente y nada falla deberamos acceder al
archivo acces.php el cual nos devolver en notacin json si el logueo fue correcto o
no.
[{"logstatus":"0"}] > logueo invalido> debemos verificar que los datos ingresados
sean iguales a los creados en la BD.
[{"logstatus":"1"}] > logueo valido
Bsicamente esto que nos devuelve el servidor es lo que leer la app de android.

Parte Android
Al proyecto lo llame droidlogin, la siguiente es su estructura:

Interface: layout-port

Se encuentran definidos en los siguientes archivos:


/res/layout-port/main.xml

Ahora el AndroidManifest.xml.
Como pueden ver hay definidas 2 activities definidos.

Ahora veremos el cdigo principal, comento en cada caso.


/src/test/Droidlogin/Login.java
En la lnea nmero 35 es necesario modificar esa direccin IP y reemplazarla por la del
PC en el que est el servidor web con los archivos descritos anteriormente.

Como vemos, utilizo una clase interna asynclogin la cual es una AsyncTask para mostrar
el progressdialog hasta que termina de realizarse la validacin.
Desde esta clase redirecciono al usuario al HiScreen o en el caso de ser el logueo
invlido vibramos el telfono y mostramos el mensaje de error.
Tambin existe una clase para manejar con mayor facilidad el envo de peticiones a
nuestro web service. El manejo de su respuesta se encuentra
en: /src/test/Droidlogin/library/Httppostaux.java

Ahora veremos la otra activity a la que seremos redirigidos si el login es correcto.


Para esta tambin defini el siguiente layout:
/res/layout-port/lay_screen.xml

Ahora el cdigo de su clase:


/src/test/Droidlogin/HiScreen.java

Luego de todo esto,


Si todo fue configurado y funciona correctamente veremos al HiScreen lo siguiente:

Usuario
Registrado

Cuando el usuario presiona Cerrar sesin volvemos a la ventana de logueo.

Potrebbero piacerti anche