与Android App Studio上的PSQL连接失败



我有一个运行良好的Java应用程序,现在我正在尝试将其转换为Android。在转换到android之前,与数据库的连接是有效的,但现在它只是没有连接,我不知道为什么。

我知道让PSQL连接到Android上的数据库一点也不安全,但这是一个小型的个人应用程序。

Class.forName("org.postgresql.Driver");
final String URL = "my server";
final String USERNAME = "user";
final String PASSWORD = "pas";
.>272           Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);

错误:

org.postgresql.util.PSQLException:连接尝试失败。

网址:com.example.loto6din49.DatabaseMethods.dropWinningNumbers(DatabaseMethods.java:272)

引起原因:java.net.SocketException:套接字失败:EACCES(权限拒绝)

如果我还有什么需要提供的信息,请回复并发表评论。

提前谢谢。

编辑:我在清单中添加了一些权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

我现在得到的错误是:

org.postgresql.util.PSQLException:出现异常导致驱动程序失败。请报告此异常。W/System.err:位于org.postgresql.Driver.connect(Driver.java:277)引起原因:android.os.NetworkOnMainThreadException

通过向清单添加权限来修复问题

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

在那之后,对于驱动程序错误,修复方法是:

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

说明:"要在Android上使用jdbc,必须使用StrictMode。这可以通过使用以下代码行来完成:">

最新更新