martes, 12 de marzo de 2013

Como usar php para conectar android a MySQL

Leed y "disfrutad":

http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/

http://www.coderzheaven.com/2011/04/08/android-phpmysql-connection/

http://blog.sptechnolab.com/2011/02/10/android/android-connecting-to-mysql-using-php/

Los tres links lo explican, yo voy a usarel primero, que lo explica TODO, paso a paso.

Inicialmente explica qué es un WAMP (windows, apache, mysql, phpmyadmin) y nos enseña a usar uno en nuestro pc para ser nosotros nuestro propio host. Nosotros usaremos un host externo: http://www.000webhost.com

Tras enseñarnos a montar nuestro propio server y montar nuestra aplicación web en php (un vídeo y unos links que no son necesarios si creamos nuestra BBDD en 000webhost), nos explica como crear una base de datos. Los pasos son parecidos, salvo que lo hacemos en 000webhost (el phpmyadmin de 000webhost no es muy diferente del que instalas con el WAMP).

Tras crear la base de datos, le ponemos datos y pasamos a crear archivos PHP para el manejo externo de la base de datos (php permite controlar una base de datos haciendo uso de un método POST para introducir consultas). Nosotros vamos a crear esas consultas predefinidas.


************************************************************************************************************
Yo las he creado y he puesto un par en mi servidor, pero no devuelven lo que yo quiero. Y eso ocurre porque en el primer link para los archivos php usan una variable llamada __DIR__ que solo existe en versiones de php 5.3 o mayores. Hay que usar dirname(__FILE__). (explicado aquí: http://stackoverflow.com/questions/2749416/is-there-any-difference-between-dir-and-dirname-file-in-php)(otro truco para saber si vuestra versión de php soporta esa variable, es ponerle esto en cualquier parte del código php).
var_dump(dirname(__FILE__));
var_dump(__DIR__);

Si salen 2 direcciones por pantalla, todo ok, si solo sale 1, usad dirname :D
************************************************************************************************************

Al usar esta variable más vieja, más rápida y más versatil, los archivos devuelven esto: 

http://herbinhas.comyr.com/herbalife_app/get_todos_productos.php

Es el resultado de una consulta SELECT * from productos.

Una vez creados todos los archivos .php con nuestras consultas (recordad que hay que modificar los archivos que aparecen en la página, para que coincidan con los campos de las tablas de nuestra base de datos), creamos los archivos .java necesarios y los layout necesarios. Recordad cambiar las URL del ejemplo para vuestros servidores.

Recordad buscar en la página la clase JSONParser.java... está hacia el final, y no dice nada sobre que hay que crearla, porque por defecto, este parser no existe en el SDK.(hay cosas parecidas). Aquí ya depende mucho de vuestro proyecto. En el ejemplo se usan botones e intents. Podéis modificar los archivos .java para que usen menús, fragments... o lo que se os ocurra.

4 comentarios:

  1. Muchas gracias amigo justo lo que andaba buscando me servirá bastante

    ResponderEliminar
  2. Si... el último ya no está disponible... espero que el artículo pueda ser útil de todas formas ;>

    ResponderEliminar