2012-06-19 26 views
8

Voglio ottenere i dati dalla tabella in MySQL e mostrarlo in TextView, ma ho alcuni problemi quando provo a connettermi con il database.
Utilizzo Eclipse per Android e quando cerco di ottenere dati da MySQL in Java Project funziona, ma quando utilizzo Android Project non funziona.
Qualcuno sa come posso collegare MySQL con Android Project usando il driver JDBC MySQL?
Oppure per darmi altri consigli su come collegare Android Project con MySQL?Come connettere Android con MySQL usando il driver Mysql JDBC

+3

"Oppure per darmi altri consigli su come connettere il progetto Android con MySQL?" - Creare un servizio Web per il proprio database MySQL e fare in modo che l'app Android comunichi con quel servizio Web. – CommonsWare

+0

Per "creare un servizio Web", è possibile utilizzare Restlet. – Christine

risposta

4

Android per impostazione predefinita non supporta MySQL. Ha un database integrato in SQLite. Se si sta tentando di accedere al database MySQL da remoto, è necessario esporre l'interfaccia a questo database con qualsiasi servizio Web standard. E.g potresti creare RESTful Web Service sul lato server che è scritto usando Java/PHP ecc. E MySQL Connector. (Che hai già fatto!) E la tua app per Android potrebbe parlare con questo servizio con l'URL generato utilizzando questo servizio web.

Ancora una volta, questa domanda è stata ripetuta in precedenza, quindi è possibile verificare tali soluzioni.

11

Se si desidera connettersi al database MySQL da Android si solo bisogno di seguire questi passaggi:

  • scaricare il driver mysql-connector-java-3.0.17-ga-bin.jar
  • Incolla alla cartella libs nel tuo progetto Android.
  • Fare clic su ConfigureBuildPath-> aggiungi jar per includere il jar nel progetto.
  • Ora hai il driver, ma devi anche dare le autorizzazioni in androidManifest.xml per INTERNET.
  • Usa il codice successivo per il collegamento:

    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"); 
    } 
    

Consigli: Se l'istanza dei driver non dà gli eventuali errori, ma si ottiene un'eccezione con la connessione che si dovrebbe cercare di rimuovere il target Versione SDK dal tuo manifest, poiché alcune versioni danno problemi.

Problemi correlati