Hola mi problema es que intento conectar mi app de Android a una base de datos MySql. Desde PHP puedo sin problemas
Os paso el código.
Ya se que sobran variables que no se utilizan, pero eran pruebas.
El error que lanza es:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Context cont = this;
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
sqlThread.start();
}
Thread sqlThread = new Thread() {
public void run() {
Connection conn = null;
String driver = "com.mysql.jdbc.Driver";
String url = "eu-mm-auto-dub-01-a.cleardb.com";
String dbname = "heroku_3562ea8f595a5dc";
String username = "b93368809d1436";
String pass = "contraseña";
try {
Class.forName("com.mysql.jdbc.Driver");
//ERROR................................
conn = DriverManager.getConnection("jdbc:mysql://eu-mm-auto-dub-01-a.cleardb.com:3306/heroku_3562ea8f595a5dc", "b93368809d1436", "contraseña");
Toast.makeText(getApplicationContext(),
"consulta",
Toast.LENGTH_SHORT).show();
String cons = "SELECT nombre FROM tequipos";
PreparedStatement mail = conn.prepareStatement(cons);
java.sql.ResultSet res = mail.executeQuery(cons);
while (res.next()) {
String empresa = res.getString(1);
View linearLayout = findViewById(R.id.contentMarcadores);
TextView valueTV = new TextView(getApplicationContext());
valueTV.setText(empresa);
valueTV.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
((LinearLayout) linearLayout).addView(valueTV);
}
} catch (SQLException e) {
Toast.makeText(getApplicationContext(),
"Error SQL: " + e.getMessage(),
Toast.LENGTH_SHORT).show();
}
catch (Exception e) {
Toast.makeText(getApplicationContext(),
"Error 2: " + e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
};