2015-11-02 78 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 –