2015-11-02 35 views
-1

我有一個名爲LoginScreen的AWS亞馬遜AWS託管的MYSQL表。如何通過Android Studio訪問它。在正常的java代碼中,我使用了jdbc-mysql連接器,並且連接到它。所以我試圖做同樣的事情,但我無法連接它。從Android Studio連接到AWS表

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    try{ 
     Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    }catch(Exception e){ 
     System.err.println("Cannot create connection"); 
    } 
    Connection connection=null; 
    TextView sample; 
    try{ 
     connection = DriverManager.getConnection("jdbc:mysql://samplelink/database","root","password"); 
     Statement statement = connection.createStatement(); 

     sample = (TextView) findViewById(R.id.sample); 
     ResultSet resultset = statement.executeQuery("select * from Loginscreen"); 
     while(resultset.next()){ 
      System.out.println("Solution"+resultset.getString(1)); 
      txtLat.append(resultset.getString(1)); 

     } 
    }catch(Exception e){ 
     sample = (TextView) findViewById(R.id.sample); 
     System.err.println("Error"); 
     sample.append(e.toString()); 
    } 
} 

我已將以下內容添加到Android清單。

<uses-permission android:name="android.permission.INTERNET" /> 

我收到以下錯誤

java.lang.classNotFoundException:com.mysql.jdbc.Driver 

如何使用JDBC驅動程序在Android的工作室就像我們在Netbeans中使用。如果我導入連接器,我在運行代碼時遇到了gradle錯誤。有人能解釋我如何以一步一步的方式做到這一點?

+1

這個問題已被無數次在本網站上單獨提出。在這裏搜索「Android JDBC」會出現大量相同的問題。 –

+0

我無法找到適合android studio的東西。因爲我正常導入時遇到了gradle錯誤。 – Punkster

+0

http://stackoverflow.com/questions/24784871/how-to-mysql-jdbc-driver-to-android-studio/24785110#24785110 只需要一個指導來做到這一點 – Punkster

回答

2

在AWS中您已經爲您的RDS實例(mySQL數據庫)定義了一個SecurityGroup。

添加規則以允許從任何地方訪問您的實例。

然後在AWS的信息面板中有一個端點url。這是您可以訪問您的數據庫的外部地址。

如果給出了,您可以使用任何種類的java應用程序直接通過jdbc進行連接,並運行在具有互聯網連接的設備上。

但是!!! 我永遠不會將我的RDS實例暴露給所有人! 編寫一個後端應用程序,讓您自己的API成爲最佳實踐。

+0

同意Rene寫你自己的後端應用程序/網絡服務。參見:http://stackoverflow.com/questions/15853367/jdbc-vs-web-service-for-android –