Vous êtes sur la page 1sur 5

Descargar y aadir JDBC a

proyecto Eclipse para acceso a


MySQL desde Android
En primer lugar necesitaremos el JDBC para el motor de base de DATOS al que queramos acceder
desde Android, en nuestro caso, como ejemplo, accederemos a un servidor de MySQL Server instalado en un
equipo Linux. Para DESCARGAR el JDBC accederemos a la web oficial del motor de base de datos
y DESCARGAREMOS el fichero correspondiente al JDBC, paraMySQL accederemos a la URL:
http://dev.mysql.com/downloads/connector/j
A la fecha de este tutorial DESCARGAMOS la versin Connector/J 5.1.24, podremos descargar el .tar o el .zip,
ambos son vlidos para cualquier sistema operativo. Una vez DESCARGADO el fichero mysql-connector-java5.1.24.zip lo descomprimiremos pulsando con el botn derecho del ratn sobre l y seleccionado "Extraer aqu":

Dentro de ESTE fichero comprimido habr varios (.jar, DOCUMENTACIN , cdigo fuente), el importante es
el mysql-connector-java-5.1.24-bin.jar, copiaremos este fichero (pulsando sobre l con el botn derecho):

DESDE Eclipse, exploraremos nuestro proyecto Android, pulsaremos con el botn derecho sobre la carpeta
"libs" y pulsaremos en "Paste" (PARA pegar el fichero .jar del conector deMySQL):

Ejemplo acceso a BD MySQL


desde Android con JDBC y
Eclipse
Una vez agregado el conector .jar a nuestro proyecto (COMO hemos indicado aqu) ya podremos usar todas
las funciones y prodedimientos para conectar con el motor de base de DATOS MySQL DESDE nuestra
aplicacin Android con Eclipse. Para ello ser tan sencillo como agregar en los imports de nuestro fichero .JAVA
lo siguiente:

import
import
import
import
import

JAVA .sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;

Aadiremos la siguiente variable de TIPO "Connection", que usaremos para conectarnos slo una vez durante
el proceso de ejecucin de una consulta SQL en MySQL:
Connection conexionMySQL;

Aadiremos un procedimiento PARA conectarnos al servidor MySQL, as podremos usarlo CADA vez que lo
necesitemos. Dicho procedimiento necesitar usuario, contrasea, IP o DNS, puerto y catlogo del servidor
de MySQL al que nos conectaremos, si hay algn error lo capturar y lo mostrar en una notificacin Android:
public void conectarBDMySQL (String usuario, String contrasena,
String ip, String puerto, String catalogo)
{
if (conexionMySQL == null)
{
String urlConexionMySQL = "";
if (catalogo != "")
urlConexionMySQL = "jdbc:mysql://" + ip + ":" +
+ catalogo;
else

puerto + "/"

urlConexionMySQL = "jdbc:mysql://" + ip + ":" + puerto;


if (usuario != "" & contrasena != "" & ip != "" & puerto != "")
{
try
{
Class.forName("com.mysql.jdbc.DRIVER ");
conexionMySQL =
DriverManager.getConnection(urlConexionMySQL,
usuario,
contrasena);
}
catch (ClassNotFoundException e)
{
Toast.makeText(getApplicationContext(),
"Error: " + e.getMessage(),
Toast.LENGTH_SHORT).show();
}
catch (SQLException e)
{
Toast.makeText(getApplicationContext(),
"Error: " + e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
}
}

COMO ejemplo nos conectaremos al servidor MySQL DESDE nuestra aplicacin Android, ejecutaremos una
consulta SQL que devuelve REGISTROS y mostraremos el resultado en un cuadro de texto:
buttonEjecutar.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
try
{
SSring QSLEjecutar = "select * from facturas limit 10";
conectarBDMySQL("root", "contrasea",
"ajpdsoft.com", "3306", "bdfacturas");
Statement st = conexionMySQL.createStatement();
ResultSet rs = st.executeQuery(SQLEjecutar);
String resultadoSQL = "";
Integer numColumnas = 0;
//NMERO
de columnas (campos) de la consula SQL
numColumnas = rs.getMetaData().getColumnCount();
//mostramos el resultado

while (rs.next())
{
for (int i = 1; i <= numColumnas; i++)
{
if (rs.getObject(i) != null)
{
if (resultadoSQL != "")
if (i < numColumnas)
resultadoSQL = resultadoSQL +
rs.getObject(i).toString() + ";";
else
resultadoSQL = resultadoSQL +
rs.getObject(i).toString();
else
if (i < numColumnas)
resultadoSQL = rs.getObject(i).toString()
+ ";";
else
resultadoSQL =
rs.getObject(i).toString();
}
else
{
if (resultadoSQL != "")
resultadoSQL = resultadoSQL + "null;";
else
resultadoSQL = "null;";
}
}
resultadoSQL = resultadoSQL + "n";
}
textResultadoSQL.setText(resultadoSQL);
st.close();
rs.close();
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(),
"Error: " + e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
});
}

Vous aimerez peut-être aussi