安卓连接不上mysql的解决办法:首先在activivty中自定义监听事件;然后在自定义监听事件中开辟子线程;最后将coonection的定义改为“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(); } }); }
因为一直在使用虚拟机进行测试,一开始coonection的定义一直是
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,现在可以去尝试了!
以上就是安卓连接不上mysql怎么办的详细内容。