如何使用 Mysql JDBC 驱动程序将 Android 与 MySQL 连接 [重复]

Posted

技术标签:

【中文标题】如何使用 Mysql JDBC 驱动程序将 Android 与 MySQL 连接 [重复]【英文标题】:How to connect Android with MySQL using Mysql JDBC driver [duplicate] 【发布时间】:2012-06-21 18:16:46 【问题描述】:

我想从 mysql 中的表中获取数据并在 TextView 中显示,但是当我尝试连接数据库时遇到了一些问题。 我正在使用适用于 android 的 Eclipse,当我尝试从 Java Project 中的 MySQL 获取数据时它可以工作,但是当我使用 Android Project 时它不起作用。 有谁知道如何使用 MySQL JDBC 驱动程序将 MySQL 与 Android Project 连接起来? 或者给我其他建议如何将 Android 项目与 MySQL 连接?

【问题讨论】:

"或者给我其他建议如何将 Android Project 与 MySQL 连接?" -- 为您的 MySQL 数据库创建一个 Web 服务,并让您的 Android 应用程序与该 Web 服务进行通信。 对于“创建 Web 服务”,您可以使用 Restlet。 【参考方案1】:

如果您想从 Android 连接到 Mysql 数据库,您只需按照以下步骤操作:

下载驱动mysql-connector-java-3.0.17-ga-bin.jar 将其粘贴到您的 android 项目中的文件夹 libs 中。 点击 ConfigureBuildPath->add jar 将 jar 包含到项目中。 现在您有了驱动程序,但您还需要在 androidManifest.xml 中为 INTERNET 授予权限。

使用下面的代码进行连接:

try
    Class.forName("com.mysql.jdbc.Driver").newInstance();
catch(Exception e)
    System.err.println("Cannot create connection");

try
    connection = DriverManager.getConnection("jdbc:mysql://192.168.xx.xx:3306/dbname","root","password");
    Statement statement = connection.createStatement();

    String query = "SELECT column1, column2 FROM table1 WHERE column3 = ";
    query = query +"'" +variable+"'";           
    ResultSet result = statement.executeQuery(query);
catch(Exception e)
    System.err.println("Error");
 

建议:如果驱动程序实例没有出现任何错误,但您在连接时遇到异常,则应尝试从清单中删除 Target SDK 版本,因为某些版本会出现问题。

【讨论】:

【参考方案2】:

Android 默认不支持 MySQL。它有一个内置的数据库,即 SQLite。 如果您尝试远程访问 MySQL 数据库,您应该使用任何标准 Web 服务向该数据库公开接口。 例如,您可以在使用 Java/php 等和 MySQL 连接器编写的服务器端创建 RESTful Web 服务。 (你已经完成了!) 您的 Android 应用可以通过使用此 Web 服务生成的 URL 与此服务通信。

同样,这个问题之前已经重复过,所以你可以检查这些解决方案。

【讨论】:

以上是关于如何使用 Mysql JDBC 驱动程序将 Android 与 MySQL 连接 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 mysql JDBC 驱动程序添加到 Eclipse 以便 SQL Explorer 可以使用它?

如何将 Mysql JDBC 驱动程序导入到 android studio

如何将 Mysql JDBC 驱动程序添加到 android studio

我如何使用部署在战争 Spring Boot 应用程序中的 mysql jdbc 驱动程序

如何将java程序里的一段连接mysql的语句转为连接sqlserver语句。连接的是sqlser

如何使用 GWT、HTML 和 JDBC 或 Hibernate 将数据插入 MySQL 数据库?