У меня было приложение Java, которое отлично работало, и теперь я пытаюсь преобразовать его в 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: The connection attempt failed.
at com.example.loto6din49.DatabaseMethods.dropWinningNumbers(DatabaseMethods.java:272)
Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)
Если есть дополнительная информация, которую я должен дать, пожалуйста, ответьте с комментарием.
Заранее спасибо.
Обновлено: Я добавил некоторые разрешения в манифесты
<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: Something unusual has occurred to cause the driver to fail. Please report this exception. W/System.err: at org.postgresql.Driver.connect(Driver.java:277) Caused by: 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);
Объяснение: «Для использования jdbc на Android необходимо использовать StrictMode. Это можно сделать с помощью следующих строк кода:»