Maison >base de données >tutoriel mysql >Que faire si Android ne parvient pas à se connecter à MySQL
La solution au problème selon lequel Android ne peut pas se connecter à MySQL : personnalisez d'abord l'événement d'écoute dans Activivty ; puis ouvrez un sous-thread dans l'événement d'écoute personnalisé ; enfin changez la définition de coonection en "DriverManager.getConnection ; (...)".

Recommandé : "Tutoriel vidéo MySQL"
Connexion d'Android Studio à MySQL : Résolution de problèmes : La machine virtuelle ne peut pas connectez-vous au SQL local, coon est toujours vide
Connectez la base de données dans un thread enfant
Personnalisez d'abord l'événement d'écoute dans Activivty
//写在Activity中
private Button mBtn;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SetListener();//自定义监听事件
}Ouvrez un fil enfant dans le personnalisé événement d'écoute, faites attention au dernier .start()
private void SetListener()
{
mBtnadmin.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
new Thread(new Runnable() {
@Override
public void run() {
Connection conn=null;//创建连接
Statement stmt=null;//用以执行SQL语句
try{
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//数据库的执行语句
String sql="insert into demo values(6666,6666)";
//获取connection对象,这里使用localhost如果无法成功,则改成10.0.2.2,这是虚拟机上电脑的地址,注意是虚拟机,用于虚拟机的测试
conn=DriverManager.getConnection("jdbc:mysql://10.0.2.2:3306/logindata","root","666666");
stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
}catch (Exception e)
{
e.printStackTrace();
}finally {
stmt.close();
conn.close();
// JDBCUtils .Close(stmt,conn);
}
}
}).start();
}
});
}Parce que j'utilise une machine virtuelle pour les tests, la définition de la connexion a toujours été
conn= DriverManager.getConnection("jdbc:mysql://localhost/logindata","root","666666");Chaque fois que le résultat de la connexion est signalé : coon=null, Enfin, plusieurs parties de débogage ont découvert ce problème. L'adresse IP de l'ordinateur correspondant à la machine virtuelle devrait être 10.0.2.2. Autrement dit, la modification de la définition de coonection en
conn= DriverManager.getConnection("jdbc:mysql://10.0.2.2:3306/logindata","root","666666");a réussi. ! J'ai toujours eu peur qu'il s'agisse d'un problème de code, donc je n'ai pas essayé de me connecter à MySQL sur le serveur. Maintenant, je peux l'essayer !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!