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여야 합니다. 연결의 정의가
conn= DriverManager.getConnection("jdbc:mysql://10.0.2.2:3306/logindata","root","666666");
Success로 변경되었습니다! 항상 코드 문제일까 걱정이 많아서 서버에서 MySQL 접속을 시도하지 못했는데 이제 시도해 볼 수 있게 되었습니다!
위 내용은 Android가 mysql에 연결할 수 없는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!