Rumah > Artikel > pangkalan data > 安卓连接不上mysql怎么办
安卓连接不上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,现在可以去尝试了!
Atas ialah kandungan terperinci 安卓连接不上mysql怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!