MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.
IDE utilizado: Eclipse + ADT.
– Lo primero que se debe de hacer es agregar el jdbc de mysql (.jar) al proyecto android deseado en la carpeta «libs», posteriormente se debe hacer click derecho al proyecto y luego click izquierdo a la opción Refresh.
– Luego abrir desde el eclipse el archivo MainActivity.java que se encuentra en la carpeta src y dejarlo de esta manera:
/*
* Utilizar MySql en Android con JDBC
* www.programacion.com.py - Recursos y documentación para desarrolladores - By Rodrigo Paszniuk
* PD: Para agregar una libreria .jar cualquiera al proyecto solamente se debe agregar a la carpeta libs del mismo.
* Para actualizar cambios hacer click derecho al proyecto y luego click izquierdo a Refresh.
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Desde la version 3 de android, no se permite abrir una conexión de red desde el thread principal.
//Por lo tanto se debe crear uno nuevo.
sqlThread.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
Thread sqlThread = new Thread() {
public void run() {
try {
Class.forName("com.mysql.jdbc.Driver");
// "jdbc:mysql://IP:PUERTO/DB", "USER", "PASSWORD");
// Si estás utilizando el emulador de android y tenes el mysql en tu misma PC no utilizar 127.0.0.1 o localhost como IP, utilizar 10.0.2.2
Connection conn = DriverManager.getConnection(
"jdbc:mysql://192.168.0.4:3306/fifa", "test", "test");
//En el stsql se puede agregar cualquier consulta SQL deseada.
String stsql = "Select version()";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(stsql);
rs.next();
System.out.println( rs.getString(1) );
conn.close();
} catch (SQLException se) {
System.out.println("oops! No se puede conectar. Error: " + se.toString());
} catch (ClassNotFoundException e) {
System.out.println("oops! No se encuentra la clase. Error: " + e.getMessage());
}
}
};
}
– Posteriormente se debe de agregar el permiso para poder acceder a una base de datos remota, para eso deben de agregar lo siguiente en el AndroidManifest.xml:
. . . <uses-permission android:name="android.permission.INTERNET" /> </manifest>
– Con eso ya tendrían que tener la conexión a MySql 100% funcional.
