Android가 mysql에 연결할 수 없는 경우 수행할 작업

藏色散人
풀어 주다: 2020-11-06 10:45:35
원래의
2581명이 탐색했습니다.

Android의 mysql 연결 실패에 대한 해결 방법: 먼저 Activivty에서 청취 이벤트를 사용자 정의한 다음 사용자 정의 청취 이벤트에서 하위 스레드를 생성하고 마지막으로 연결 정의를 "DriverManager.getConnection(...)"으로 변경합니다.

Android가 mysql에 연결할 수 없는 경우 수행할 작업

권장: "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿