[RESOLVIDO] Conexão Android com MySQL sem web services

Classe Conectar:

package com.example.conexao;

import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Driver;

import com.mysql.jdbc.Connection;

public class Conectar {
Connection conn;

public Connection getConexato() throws ClassNotFoundException, SQLException{
	
	Class.forName("com.mysql.jdbc.Driver");
	
	
	conn = (Connection) DriverManager.getConnection("jdbc:mysql://192.168.1.77/tcc","root","admin");
	
	return conn;
}
}

MainActivity:

protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
	  Conectar conectar = new Conectar();
	  
	  try {
		conn = conectar.getConexato();
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		AlertDialog.Builder msg = new Builder(MainActivity.this);
		msg.setTitle("Conctar!");
		msg.setMessage("Erro! " + e);
		msg.setNeutralButton("OK", null);
		msg.show();
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		AlertDialog.Builder msg = new Builder(MainActivity.this);
		msg.setTitle("Conctar!");
		msg.setMessage("Erro! " + e);
		msg.setNeutralButton("OK", null);
		msg.show();
	}
	  
	  Button bt = (Button)findViewById(R.id.button1);
	  
	  bt.setOnClickListener(new OnClickListener() {
		
		@Override
		public void onClick(View v) {
			AlertDialog.Builder msg = new Builder(MainActivity.this);
			msg.setTitle("Conctar!");
			msg.setMessage("Conectado!");
			msg.setNeutralButton("OK", null);
			msg.show();
			
			try {
				conn.close();
				msg.setTitle("Conctar!");
				msg.setMessage("Desconectado!");
				msg.setNeutralButton("OK", null);
				msg.show();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
		}
	});

tá faltando a porta…

quando vc vai conectar em algum serviço que uma maquina tá disponibilizando, ele fica aberto em uma porta pra fora, e vc tem que informar ela…

tá acontecendo que o driver tá tentando conectar na maquina, mas não tá achando por onde entrar, entende?

então vc tem que informar qual é o numero da porta que seu serviço mysql está instalado…

de padrão, é 3306 ou 3307… então vc tem que fazer assim:

conn = (Connection) DriverManager.getConnection(“jdbc:mysql://192.168.1.77:3306/tcc”,“root”,“admin”);

tenta aí.

se nao der certo, tenta adicionar exceção no firewall do windows, e libera essa porta aí no TCP e tenta de novo.

já tentei com a porta, mesmo assim não dava
adicionei as exceções no Firewall na porta 3306, mesmo assim não vai =/

Eu sei que é pedir muito, mas você poderia fazer uma conexão remota pelo TeamViewer só pra dar uma olhadinha nisso, quando você não estiver ocupado e puder, se não quiser deixa pra lá, sei que já to enchendo você com isso

cara, não vou conectar, resolve sozinho aí! :stuck_out_tongue:

tenta passar esses parametros de timeout e essa coisa toda igual o do exemplo q te passei…

conn=DriverManager.getConnection(“jdbc:mysql://”+host+":"+porta+"/"+banco+"?connectTimeout=9000&socketTimeout=9000&autoReconnect=true&secondsBeforeRetryMaster=3",usuario,senha);

usa igualzinho do jeito que passei, cria umas variaveis, host, porta, banco… alimenta elas e passa pra essa linha aí sem alterar nada, ve se dá.

Vlw kkkkk
Tentei de tudo, coloquei esse trem ae e nada ainda, um cara me disse pra liberar acesso remoto ao banco e também n deu certo…
Acho que to fazendo alguma coisa estupidamente errada kkkkk deve ser coisa boba que to errando, mas vlw ae cara

cara, verdade… isso me lembrou uma coisa…

ve nos usuarios do mysql se o usuario root tá liberado pra qualquer host, ou se tá só localhost…

pra ficar pra qualquer maquina acessar vc coloca % no host

Já tentei isso também, mas mesmo assim não vai =/
Liberei o acesso ao banco para o usuário root e ainda assim não quer funcionar

Bom se você tenta acessar o mysql pela rede, você tem que ter o MySQL instalado na máquina, como qualquer banco. E que eu saiba nativamente android só tem suporte a SQLite.

Vou ter que ir para o Plano B, Web Service com PHP, mas vlw a todos que tentaram ajudar
<3 pra todos vcs

cara, então vai, eu conecto pra ver com vc…

me passa seu skype aí que eu add e a gente combina algum jeito…

Ronaldo123
add lá

Passa o seu também que aqui tá com um probleminha de aparecer quem me adicionou

Cara, obrigado mesmo por conectar lá…
Para quem tá com o mesmo erro, tinha que adicionar a permissão pra poder acessar a Internet
Vlw msm, sz

Entao, deu certo, teria que mudar o titulo agora pra { RESOLVIDO }… quem faz isso? o dono do post? ou algum admin?

Igora Cenzi ou saryoromulo… estou com esse mesmo problema… teria como detalhar melhor o que foi feito para resolver o erro.

Tem como usar via web services? Eu uso via php e http.

No meu caso é somente para o tcc… gostaria de fazer a conexão direta como o Igor Cenzi conseguiu…

Não queria usar web service… somente em ultimos casos.

Eu uso sem web service. Como disse acima. Utilizo php e http.

Voce não sabe como conectar via TCP/IP… meu andorid ta conectado na rede… ai gostaria de fazer dessa forma…

Segui todos os passos desse tópico mas parei no mesmo erro que o Igor Cenzi encontrou.