sql >> データベース >  >> RDS >> PostgreSQL

AndroidStudioアプリをPostgreSQLに接続できません

    最後に、解決策はAsyncTaskを拡張することです。これにより、Androidは実行時環境をフリーズしたプロセスから保護します。したがって、AsyncTaskを拡張する場合は、別の並列スレッドを開始します。再開時には、次のように接続クラスを拡張する必要があります。

    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. Oracle データベースからのデータの取得と表示

    2. トップレベルの親MySQLを取得する

    3. Oracleデータベースビューにコメントを作成する方法

    4. 不正な整数値:''列エラーの場合