Java Android mysql连接不适用于4.0

时间:2013-03-22 05:11:56

标签: java android mysql

我正在开发一款应用程序,当我尝试连接MySQL数据库时使用Android 2.3.3时,它运行正常。然后我用Android 4.0进行了测试,它给了我这个例外:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server

这个代码就像我上面说的2.3.3而不是4.0一样:

conn = DriverManager.getConnection(DB_URL, USER, PASS);

我甚至尝试在我的三星Galaxy S3上运行该应用程序,看看它是否能够正常运行并且无效。它没有崩溃它只是抛出上述异常。有没有人有任何想法为什么这样做。如果我没有提供足够的信息,请告诉我还需要指明哪些内容才能使其更清晰。

我正在使用的mysql连接器是:

mysql-connector-java-5.1.23-bin.jar

我希望这有助于找出问题所在。

代码:

...
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
...

try {
        // STEP 2: Register JDBC driver
        Class.forName(JDBC_DRIVER);

        // STEP 3: Open a connection
        conn = DriverManager.getConnection(DB_URL, USER, PASS);  << here is the exception it is telling me.

1 个答案:

答案 0 :(得分:1)

从Android 4.x开始,UI线程不再允许网络操作。实现此目的是为了使UI整体响应更快,并防止“应用程序无响应”错误。由于mySQL对远程服务器的访问是网络操作,这可能是罪魁祸首。因此,您需要将代码从UI线程移动到AsyncTask或工作线程。