Android Errore generico - Connessione database postgresql con android studio

inforge-user001

Utente Jade
28 Marzo 2020
557
61
2,297
732
Salve a tutti, sto provando a connettermi ad un database tramite android studio ma con scarsi risultati.
Nel mio onCreate() ho il seguente codice che teoricamente non dovrebbe essere sbagliato...

Java:
try {
    Class.forName("org.postgresql.Driver");
    connection = DriverManager.getConnection(url, user, password);
    Statement statement = connection.createStatement();
    ResultSet resultSet = statement.executeQuery("SELECT * FROM shopping_list");
    while (resultSet.next()) {
        records += resultSet.getString(1);
    }
} catch (Exception e) {
    e.printStackTrace();
}


Ho anche aggiunto alla cartella lib il file postgresql-42.2.19.jar ma comunque ho anche provato con il classico mysql-connector-java-8.0.23.jar e niente.

Ho anche aggiunto le dipendenze
al manifesto
<uses-permission android:name="android.permission.INTERNET" />
ed al build.grandle
implementation files('libs/postgresql-42.2.19.jar')

L'eccezione che cattura è la seguente

W/System.err: org.postgresql.util.PSQLException: Something unusual has occurred to cause the driver to fail. Please report this exception.
at org.postgresql.Driver.connect(Driver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:580)
at java.sql.DriverManager.getConnection(DriverManager.java:218)
at com.example.grecosapp.activity_manager.ShoppingListActivity.onCreate(ShoppingListActivity.java:88)
at android.app.Activity.performCreate(Activity.java:8000)
at android.app.Activity.performCreate(Activity.java:7984)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1605)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:115)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
at java.net.InetAddress.getByName(InetAddress.java:1106)
at java.net.InetSocketAddress.<init>(InetSocketAddress.java:235)
at org.postgresql.core.PGStream.createSocket(PGStream.java:229)
at org.postgresql.core.PGStream.<init>(PGStream.java:95)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:98)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:213)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:223)
at org.postgresql.Driver.makeConnection(Driver.java:465)
at org.postgresql.Driver.connect(Driver.java:264)
... 18 more


Qualcuno potrebbe aiutarmi? non so cosìaltro provare sinceramente... :-/