2014-03-25 101 views
1

嘿,我發現很多教程誰是自己的電腦上做數據庫的人,但我試圖連接到一個非本地如何將android應用程序連接到不是本地的mysql數據庫?

private class SignUpA extends AsyncTask<Void, Void, Void> { 

    @Override 
    protected Void doInBackground(Void... params) { 
     String url = "jbdc:mysql://mywbdb.cjymdxzuzy46.us-east-1.rds.amazonaws.com:3306/mysql"; 
     String dbName = "profiles"; 
     String driver = "com.mysql.jdbc.Driver"; 
     Properties userInfo = new Properties(); 
     userInfo.put("user", "user"); 
     userInfo.put("password", "pass"); 

     try { 

      Class.forName(driver); 

      Connection conn = DriverManager.getConnection(url + dbName, 
        userInfo); 
      CharSequence text = "Hello toast!"; 
      Toast tost = Toast.makeText(getApplicationContext(), text, 
        Toast.LENGTH_LONG); 
      tost.show(); 
      conn.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

     return null; 
    } 
} 

我已經導入了JDBC庫,並使用已經嘗試DriverManager.registerDriver也,但它仍然崩潰。我也改變了網址和用戶名和密碼,原因很明顯。請幫忙,謝謝!

+0

也試過Class.forName(driver).newInstance(); 注意:我知道應用程序很容易破解,我的數據庫可以很容易地訪問,但在這一點上,我只是試圖讓它工作 – SketchyTurtle

+0

你的libs文件夾中有mysql連接器嗎? – Madala

回答

1

你通常不會將mysql數據庫暴露給Internet - 就像你剛剛要求被黑客攻擊一樣。通常情況下,您會編寫一個Web服務並將其公開。然後你的Android應用程序會調用Web服務來更新數據庫。

+0

是的,我知道,但現在我只是試圖讓它連接,如果我決定發佈給公衆,然後我會做到這一點安全的方式大聲笑 – SketchyTurtle

+0

,但你已經告訴世界一個服務器地址,可能還有一個用戶名和密碼 - 不要試圖成爲一個屁股,但我認真地認爲這個問題的答案是「不要那樣做!」 –

+0

我更改了用戶名,密碼和服務器地址,除非我將其更改爲別人的服務器地址,否則您應該無法對其執行任何操作 – SketchyTurtle

相關問題