簡體   English   中英

Eclipse中的代碼有效,但在Android上不起作用

[英]Code in Eclipse works, but doesn't work on Android

我有這個問題大約2天,找不到任何解決方案。 我正在使用MySQL-Connection-Java在Android上運行MySQL。 在調試時,即使Eclipse Java中的代碼工作正常,它也不能與此基礎連接。 我在Internet上瀏覽了很多論壇討論,但似乎沒有有效的解決方案,或者我似乎是盲目的。 在下面,您可以看到我正在使用的類代碼。 我不知道為什么在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();
                }
            }
        } }

我發現我的問題。 我用

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

和我的申請工作:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM