android postgresql数据库连接错误

时间:2016-01-16 12:02:03

标签: java android database postgresql logcat

我尝试将我的Android应用程序与我的postgresql Databse连接,但它没有得到连接,但是连接没有运行。

这是java代码:

private void initDatabase() {

    try {

        Class.forName("org.postgresql.Driver");

    } catch (ClassNotFoundException e) {

        return;

    }

    Connection connection = null;
    String url = "jdbc:postgresql://10.0.2.2/Seminarkurs";

    try {

        connection = DriverManager.getConnection(url , "postgres", "postgres");
        Toast.makeText(getApplicationContext(), "Connection successful!", Toast.LENGTH_LONG).show();

        connection.close();

    } catch (SQLException e) {

        Toast.makeText(getApplicationContext(), "Connection Failed! Check output console", Toast.LENGTH_LONG).show();
        e.printStackTrace();
        return;

    }

}

这里是logcat:

01-16 14:40:17.192    8044-8053/com.example.damian.schulkalender E/System﹕ Uncaught exception thrown by finalizer
01-16 14:40:17.192    8044-8053/com.example.damian.schulkalender E/System﹕ java.lang.NullPointerException
            at org.postgresql.jdbc2.AbstractJdbc2Connection.close(AbstractJdbc2Connection.java:677)
            at org.postgresql.jdbc2.AbstractJdbc2Connection.finalize(AbstractJdbc2Connection.java:1036)
            at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:187)
            at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170)
            at java.lang.Thread.run(Thread.java:841)

1 个答案:

答案 0 :(得分:0)

我确定这不是您想要听到的内容,但尝试从移动设备直接连接到服务器端数据库真的不合理。我每周都会在这里看几次这个问题,我真的不确定原因。

执行此操作的首选方法是创建一个服务器端应用程序,通过HTTP连接(例如REST Api)向移动应用程序提供数据。

也就是说,看起来您尝试创建连接失败了。 您可以通过将异常处理程序中的e.printStackTrace()替换为使用Android记录器来获取更多信息,以便在logcat中看到错误。