sql >> Database >  >> RDS >> PostgreSQL

Kan mijn Android Studio-app niet verbinden met PostgreSQL

Eindelijk werkt het, de oplossing is gewoon om AsyncTask uit te breiden, ervoor te zorgen dat Android de runtime-omgeving beschermt tegen bevroren proces, dus wanneer je AsyncTask uitbreidt, start je een andere parallelle thread, in hervatten moet je de verbindingsklasse als volgt uitbreiden:

public class  PostgreSqlJDBC  extends AsyncTask <Void, Void, Void> {
static String cadenaConexion = "jdbc:postgresql://YOUR_HOST/YOUR_BDD?" + "user=postgres&password=YOURPASSWORD";
static String respuestaSql= "vacia";

public PruebaConn() {
}
public String getRespuestaSql (){
    execute();
    return respuestaSql;
}

@Override
public Void doInBackground(Void... params) {
    Connection conexion = null;
    Statement sentencia = null;
    ResultSet resultado = null;
    try {
        Class.forName("org.postgresql.Driver");
        conexion = DriverManager.getConnection(cadenaConexion);
        sentencia = conexion.createStatement();
        String consultaSQL = "SELECT * FROM activities";
        resultado = sentencia.executeQuery(consultaSQL);
        respuestaSql = "";
        while (resultado.next()) {
            int id = resultado.getInt("IdActivity");
            String Nombre = resultado.getString("NameActivity");
            respuestaSql = respuestaSql + id + " | " + Nombre +  "\n";
        }
    } catch (Exception e) {
        e.printStackTrace();
        System.err.println(e.getMessage());
        System.err.println("Error: Cant connect!");
        conexion = null;
    } finally {
        if (resultado != null) {
            try {
                resultado.close();
            } catch (Exception e) {
                e.printStackTrace();
                System.err.println(e.getMessage());
            }
        }
        if (sentencia != null) {
            try {
                sentencia.close();
            } catch (Exception e) {
                e.printStackTrace();
                System.err.println(e.getMessage());
            }
        }
        if (conexion != null) {
            try {
                conexion.close();
            } catch (Exception e) {
                e.printStackTrace();
                System.err.println(e.getMessage());
            }
        }
    }
    System.err.println("----- PostgreSQL query ends correctly!-----");
    return null;
  }
}



  1. Kan stuurprogrammaklasse com.mysql.jdbc.Driver . niet laden

  2. MySQL-zelfstudie - De seconden achter Master Value begrijpen

  3. Gebruikers-ID doorgeven aan PostgreSQL-triggers

  4. Hoe vermijd ik ongewenste tekens/vuilnistekens bij het lezen van gegevens uit meerdere talen?