Conexão externa do android funcionando apenas no emulator

Boa noite

Meu app pelo emulator conecta ao mysql externo, mas qdo testo pelo celular dá Connect Refused.

Estou conectando via jdbc.

valeu

eu imagino 2 problemas

  1. nao consegue chegar no ip do seu mysql
  2. consegue chegar no ip mas nao na porta do mysql

teste o 2 primeiro, abra um socket direto no mysql e veja se a conexão é recusada.

se for recusada, tente abrir o mesmo socket na porta 80 ( inicie um apache ou algo que escute nessa porta né… ) e veja o que acontece. pode ser um problema de DNS ou de configuração de rede no caso.

agora uma app acessando mysql externo da aplicação eu nunca vi. em geral vc acessa uma API ( rest, soap, etc ) que vai oferecer uma abstração melhor. pense nisso.

Bom dia, segue a msg de erro completa: java.net.SocketException: java.net.ConnectException: failed to connect to /192.168.1.100 (port 3306): connect failed: ECONNREFUSED (Connection refused). Isso só acontece quando uso o Celular Android Versão 4.0.4. Se uso o Emulador do Android Versão: 4.0.4 funciona sem problemas, conecta com o servidor e bem rápido. Valeu

Quanto a conexão do banco, está 100%, tanto que o emulador conecta, por isso meu estranhamento.

segue a conexão

                Class.forName("com.mysql.jdbc.Driver").newInstance();
                con = DriverManager.getConnection("jdbc:mysql://192.168.1.100:3306/dbmysql", "usuario", "senhausuario"); 
                System.out.println("Principal (OK) Conexão: " + con);

Valeu

vamos la, vc esta usando WIFI ou a rede movel?

Tentei pela wifi e depois pelo 3G da oi, mesma coisa acontece.