Utilizar MySql en Android con JDBC

| 2013-06-21 | 1 Comentario »

mysql_logoMySQL 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.

Acerca del autor: Rodrigo Paszniuk

Ingeniero Informático, amante de la tecnología, la música, el ciclismo y aprender cosas nuevas.

Posts Relacionados

  • Crear múltiples productFlavors con Android Studio
  • Gson: Librería para parsear JSON en Android
  • Butter Knife: librería para inyectar vistas en Android
  • HTTPS y SSL en Android



SEGUÍNOS EN FACEBOOK


GITHUB