Eclipse中的代码可以运行,但不适用于Android

时间:2016-03-06 19:42:10

标签: java android mysql eclipse

我有这个问题大约2天,我找不到任何解决方案。我正在使用MySQL-Connection-Java在Android上运行MySQL。虽然Eclipse Java中的代码工作正常,但调试它无法与此基础连接。我在互联网上的许多论坛讨论中都在寻找,但似乎没有有效的解决方案,或者我可能是盲目的。您可以在下面看到我正在使用的课程代码。我不知道为什么在Eclipse中与基础连接,但在Android设备上它并不想要。

错误代码:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建与数据库服务器的连接。尝试重新连接3次。放弃。

    import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.util.Properties;

    public class JDBC {
        // init database constants
        private static final String DATABASE_DRIVER = "com.mysql.jdbc.Driver";
        private stat

ic final String DATABASE_URL = "jdbc:mysql://sql7.freemysqlhosting.net/sql7109625?autoReconnect=true";
        private static final String USERNAME = "REMOVED";
        private static final String PASSWORD = "REMOVED";
        private static final String MAX_POOL = "250";

        // init connection object
        private Connection connection;
        // init properties object
        private Properties properties;

        // create properties
        private Properties getProperties() {
            if (properties == null) {
                properties = new Properties();
                properties.setProperty("user", USERNAME);
                properties.setProperty("password", PASSWORD);
                properties.setProperty("MaxPooledStatements", MAX_POOL);
            }
            return properties;
        }

        // connect database
        public Connection connect() {
            if (connection == null) {
                try {
                    Class.forName(DATABASE_DRIVER);
                    connection = DriverManager.getConnection(DATABASE_URL, getProperties());
                } catch (ClassNotFoundException | SQLException e) {
                    e.printStackTrace();
                }
            }
            return connection;
        }

        // disconnect database
        public void disconnect() {
            if (connection != null) {
                try {
                    connection.close();
                    connection = null;
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        } }

1 个答案:

答案 0 :(得分:0)

我发现了我的问题。我用

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy); 

和我的申请工作:)