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!