Ir ao conteúdo
  • Cadastre-se

Java Conectar a um banco mysql no Android Studio


RO17

Posts recomendados

Eu quero que meu aplicativo se conecte a um servidor mysql que está no meu computador. O servidor já está funcionando e recebendo conexões normalmente (eu testei).

 

No código do aplicativo (que estou desenvolvendo no Android Studio no mesmo computador do servidor), eu estou tentando me conectar da seguinte forma:

 

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://MEU_IP:3306/app300","usuario","senha");

 

substituindo MEU_IP pelo ip do meu computador.

 

Ao rodar o código, ele joga a seguinte exceção na segunda linha de código acima: Communications link failure. The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

 

Eu já tentei colocar o IP local do meu computador, o IP externo, a palavra localhost, mas nada dá certo.

 

O que estou fazendo de errado?

Link para o comentário
Compartilhar em outros sites

Primeiramente, este trecho do seu código está errado, não? 

16 minutos atrás, RO17 disse:

Connection = con =

Não deveria ter um = entre Connection e o con, apenas o segundo.

 

Esse erro é bem genérico: não foi possível se conectar ao banco, e isto tem infinitas possibilidades de causas.

Algumas delas pra verificar:

Seu banco local está no ar?

A porta dele é a 3306 mesmo ou você a alterou? Seu firewall está bloqueando esta porta?

A base app300 existe?

A consulta que está tentando fazer está correta?

 

Não sei se existe algum problema específico entre Android e o MySql.

Link para o comentário
Compartilhar em outros sites

@Gabriel Merlo Ferreira O = está correto no código. Eu que digitei errado aqui no post mas já corrigi agora.

 

O banco está no ar sim, tanto que já acessei ele através de outras máquinas e funcionou.

A porta é 3306 sim. O firewall não está bloqueando.

A base app300 existe.

Ele nem chega na consulta, pois o erro acontece antes, naquela linha de código que está no post.

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, RO17 disse:

O = está correto no código. Eu que digitei errado aqui no post mas já corrigi agora.

Sim, eu tinha imaginado isso.

 

Vamos ver...

Dá uma olhadinha aqui: https://stackoverflow.com/questions/2983248/com-mysql-jdbc-exceptions-jdbc4-communicationsexception-communications-link-fai

Dos pontos analisados, os que eu não citei antes são: Hostname in JDBC URL is not recognized by local DNS server.; DB server doesn't accept TCP/IP connections. e Something in between Java and DB is blocking connections, e.g. a firewall or proxy.

 

Vale tentar.

Desculpa estar te dando resposta rasas, é que estou no trabalho e não posso me dedicar melhor. Ainda assim espero te ajudar de alguma forma.

adicionado 12 minutos depois

Aparentemente Android não suporta MySQL nativamente, então o mais comum é o consumo através de api Rest.

Se isso for possível para você, acho este o melhor caminho.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...