2012-06-19 23 views
8

Quiero obtener datos de la tabla en MySQL y mostrarlos en TextView, pero tengo algunos problemas cuando intento conectarme con la base de datos.
Estoy usando Eclipse para Android, y cuando trato de obtener datos de MySQL en el Proyecto Java funciona, pero cuando uso Android Project no funciona.
¿Alguien sabe cómo puedo conectar MySQL con Android Project usando el controlador MySQL JDBC?
¿O darme otros consejos sobre cómo conectar Android Project con MySQL?Cómo conectar Android con MySQL usando el controlador Mysql JDBC

+3

"¿O darme otro consejo sobre cómo conectar Android Project con MySQL?" - crea un servicio web para tu base de datos MySQL y haz que tu aplicación Android se comunique con ese servicio web. – CommonsWare

+0

Para "crear un servicio web", puede usar Restlet. – Christine

Respuesta

4

Android de forma predeterminada no es compatible con MySQL. Tiene una base de datos incorporada, es decir, SQLite. Si intenta acceder a la base de datos MySQL de forma remota, debe exponer la interfaz a esta base de datos con cualquier servicio web estándar. Por ejemplo, puede crear un servicio web RESTful en el lado del servidor que está escrito usando Java/PHP etc. y el conector MySQL. (¡Lo que ya has hecho!) Y tu aplicación para Android podría hablar con este servicio con la URL generada mediante este servicio web.

Nuevamente, esta pregunta se ha repetido anteriormente, por lo que puede verificar esas soluciones.

11

Si desea conectarse a la base de datos MySQL desde Android sólo tiene que seguir estos pasos:

  • descargar el controlador mysql-connector-java-3.0.17-ga-bin.jar
  • Pega a la carpeta libs en su proyecto de Android.
  • Haga clic en ConfigureBuildPath-> add jar para incluir el jar al proyecto.
  • Ahora tiene el controlador, pero también necesita otorgar permisos en el androidManifest.xml para INTERNET.
  • Utilice el código siguiente para conectar: ​​

    try{ 
        Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    }catch(Exception e){ 
        System.err.println("Cannot create connection"); 
    } 
    try{ 
        connection = DriverManager.getConnection("jdbc:mysql://192.168.xx.xx:3306/dbname","root","password"); 
        Statement statement = connection.createStatement(); 
    
        String query = "SELECT column1, column2 FROM table1 WHERE column3 = "; 
        query = query +"'" +variable+"'";   
        ResultSet result = statement.executeQuery(query); 
    }catch(Exception e){ 
        System.err.println("Error"); 
    } 
    

Consejo: Si la instancia de los conductores no da ningún error, pero se obtiene una excepción con la conexión que debe tratar de eliminar el destino Versión SDK de su manifiesto, ya que para algunas versiones esto genera problemas.

Cuestiones relacionadas