91 007 17 22 - 09:30 a 14:00 y de 16:00 a 21:00 horas.info@asociacionaepi.es

Como usar una base de datos MySQL desde Android

Posteado en: blog Iniciado por

Como usar una base de datos MySQL desde Android

Si por alguna razón necesitamos conectarnos a un servidor MySQL desde nuestra aplicación Android, lo más aconsejable y seguro es utilizar un archivo PHP alojado en el servidor en cuestión que acceda a la base de datos y devuelva la información a la aplicación, por ejemplo en JSON u otro formato similar.

Si no podemos hacer esto, tenemos la opción de utilizar un driver JDBC, como hariamos en una aplicación java. Para ello seguiremos los siguientes pasos:

  • Descargamos el driver desde aquí: http://dev.mysql.com/downloads/connector/j/3.0.html
  • Creamos en nuestro proyecto una carpeta llamada “libs”.
  • Descomprimimos el archivo indicado y lo copiamos en la carpeta libs.
  • Añadimos el jar al build Path, para ello:
    • Clic derecho en el proyecto >  Build Path >Configure Build Path
    • Pestaña Libraries >  Add JAR
    • Busca la carpeta libs y selecciona el archivo Jar.

Una vez está el driver listo, pasamos a la parte de programación. Como sabemos, Android obliga a hacer las operaciones de acceso a red en un hilo independiente, por tanto debemos elegir una de las formas habituales de crear un nuevo hilo. Por ejemplo, con un AsynkTask. En ese caso añadiríamos este código al método doInBackground.

 

private static final String url = “jdbc:mysql://{URL_SERVER}/{BASE_DATOS}”;
private static final String user = “usuario”;
private static final String password = “contraseña”;
int count = 0;
try {
//con esto nos aseguramos de que se crean los recursos estaticos necesarios
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
Connection con = DriverManager.getConnection(url, user, password);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(“QUERY A EJECUTAR”);
while (rs.next()) {

publishProgress(++count);
// Terminar lo antes posible si se ha llamadao al cancel() del asynctask
if (isCancelled()) {
break;
}
}
catch (Exception e) {
e.printStackTrace();
}

}

 

Espero que os sea de utilidad este post, si es así compartid por favor y nos vemos en el próximo.

image_pdfimage_print

Leave a Reply

Uso de cookies

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación y ofrecer contenidos y publicidad de interés. Al continuar con la navegación entendemos que se acepta nuestra política de privacidad y cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies