安卓連線不上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怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!