I want to get data from table in MySQL and to show it in TextView, but I have some problems when I try to connect with database.
I'm using Eclipse for Android, and when I try to get data from MySQL in Java Project it works, but when I use Android Project it doesn't work.
Does anyone know how can I connect MySQL with Android Project using MySQL JDBC driver?
Or to give me other advice how to connect Android Project with MySQL?

- 172
- 1
- 2
- 9
-
3"Or to give me other advice how to connect Android Project with MySQL?" -- create a Web service for your MySQL database, and have your Android app communicate with that Web service. – CommonsWare Jun 19 '12 at 16:45
-
For "create a Web service", you could use Restlet. – Christine Jun 19 '12 at 16:55
2 Answers
If you want to connect to Mysql database from Android you just need to follow these steps:
- Download the driver mysql-connector-java-3.0.17-ga-bin.jar
- Paste it to the folder libs in your android project.
- Click ConfigureBuildPath->add jar to include the jar to the project.
- Now you have the driver, but you also need to give permissions in the androidManifest.xml for INTERNET.
Use the next code for connecting:
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"); }
Advice: If the instance of the drivers doesn't give any errors but you get an exception with the connection you should try to remove the Target SDK version from your manifest, as for some versions this gives problems.

- 22,059
- 20
- 123
- 164
Android by default does not support MySQL. It has an in-built database i.e SQLite. If you are trying to access MySQL database remotely, you should expose interface to this database with any standard web service. E.g you could create RESTful Web Service on Server Side which is written using Java/PHP etc. and MySQL Connector. (Which you have already done!) And your Android App could talk to this service with the URL generated using this web service.
Again, this question has been repeated previously, so you can check those solutions.

- 2,025
- 2
- 14
- 10