溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

安卓連接不上mysql的解決方法

發(fā)布時(shí)間:2020-11-09 09:58:41 來(lái)源:億速云 閱讀:911 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章給大家分享的是有關(guān)安卓連接不上mysql的解決方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

安卓連接不上mysql的解決辦法:首先在Activivty中自定義監(jiān)聽(tīng)事件;然后在自定義監(jiān)聽(tīng)事件中開(kāi)辟子線程;最后將coonection的定義改為“DriverManager.getConnection(...)”即可。

Android Studio連接MySQL:問(wèn)題解決:虛擬機(jī)無(wú)法連接本地SQL,coon總為空

在子線程中進(jìn)行數(shù)據(jù)庫(kù)的連接

首先在Activivty中自定義監(jiān)聽(tīng)事件

//寫在Activity中
private Button mBtn;
  @Override
 protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SetListener();//自定義監(jiān)聽(tīng)事件
        }

在自定義監(jiān)聽(tīng)事件中開(kāi)辟子線程,注意最后.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;//創(chuàng)建連接
                        Statement stmt=null;//用以執(zhí)行SQL語(yǔ)句
                        try{
                        //注冊(cè)驅(qū)動(dòng)
                            Class.forName("com.mysql.jdbc.Driver");
                        //數(shù)據(jù)庫(kù)的執(zhí)行語(yǔ)句
                            String sql="insert into demo values(6666,6666)";
 //獲取connection對(duì)象,這里使用localhost如果無(wú)法成功,則改成10.0.2.2,這是虛擬機(jī)上電腦的地址,注意是虛擬機(jī),用于虛擬機(jī)的測(cè)試
                            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();
             }
        });
    }

因?yàn)橐恢痹谑褂锰摂M機(jī)進(jìn)行測(cè)試,一開(kāi)始coonection的定義一直是

 conn= DriverManager.getConnection("jdbc:mysql://localhost/logindata","root","666666");

每一次的連接結(jié)果都在報(bào):coon=null,最后多方調(diào)試發(fā)現(xiàn)了這個(gè)問(wèn)題,虛擬機(jī)對(duì)應(yīng)的電腦的ip應(yīng)該是10.0.2.2,即將coonection的定義改為

conn= DriverManager.getConnection("jdbc:mysql://10.0.2.2:3306/logindata","root","666666");

成功!之前一直擔(dān)心是代碼的問(wèn)題,所以沒(méi)有去連接服務(wù)器上的MySQL,現(xiàn)在可以去嘗試了!

感謝各位的閱讀!關(guān)于安卓連接不上mysql的解決方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI