Android が mysql に接続できない問題の解決策: まず、Activivty でリスニング イベントをカスタマイズし、次にカスタム リスニング イベントで子スレッドを開き、最後に接続の定義を「DriverManager.getConnection」に変更します。 (...)」。
推奨事項: 「mysql ビデオ チュートリアル 」
Android Studio が MySQL に接続: 問題解決: 仮想マシンが接続できないローカル SQL に接続します。coon は常に空です。
子スレッドでデータベースに接続します。
最初に Activivty でリッスン イベントをカスタマイズします。
//写在Activity中 private Button mBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SetListener();//自定义监听事件 }
で子スレッドを開きます。カスタム リスニング イベント、最後の .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(); } }); }
に注意してください。テストに仮想マシンを使用しているため、接続の定義は常に
conn= DriverManager.getConnection("jdbc:mysql://localhost/logindata","root","666666");
接続結果が返されるたびにcoon=null が報告されています。最終的に、複数のデバッグ パーティがこの問題を発見しました。仮想マシンに対応するコンピュータの IP アドレスは 10.0.2.2 である必要があります。つまり、coonection の定義を
conn= DriverManager.getConnection("jdbc:mysql://10.0.2.2:3306/logindata","root","666666");
に変更しました。成功!コードの問題ではないかとずっと心配していたため、サーバー上の MySQL に接続しようとしませんでしたが、今度は試してみることができます。
以上がAndroid が mysql に接続できない場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。