sql >> Database teknologi >  >> RDS >> PostgreSQL

Kan ikke forbinde min Android Studio-app med PostgreSQL

Endelig virker det, løsningen er bare at udvide AsyncTask, fordi Android beskytter køretidsmiljøet mod frossen proces, så når du udvider AsyncTask, start en anden paralleltråd, i CV skal du udvide forbindelsesklassen sådan her:

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. hvordan man øger sqlplus kolonne output længde?

  2. Hvordan designer man en MySql-tabel til en tagsky?

  3. Opdel en streng og gå gennem værdier i MySql Procedure

  4. Hvordan indsætter man 'NULL'-værdier i PostgreSQL-databasen ved hjælp af Python?