Как удалить файл из / download (или любой другой папки) во внешнем хранилище android с помощью DocumentProvider через Kotlin?

Закрытие соединения приводит к тому, что resultSet уходит.

ResultSet не является контейнером, который вы можете использовать для передачи данных, это всего лишь оболочка вокруг курсора. Вы должны запустить содержимое resultSet и скопировать их в структуру данных, а затем вернуть структуру данных. Вы уже это делаете, но вам нужно сделать это до закрытия оператора и соединения.

Измените код на:

public static List<String[]> getProduttori() throws ClassNotFoundException, SQLException {

    ArrayList<String[]> res = new ArrayList<String[]>();
    /*
     * retrieve all record from produttori table
     */
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null;
    String query = "SELECT * FROM produttore";

    conn = ConnectionManager.getConnection();
    try {
        System.out.println("Connection obtained by ProduttoreDCS class");
        stmt = conn.createStatement();
        try {
            rs = stmt.executeQuery(query);
            while (rs.next()) {
                String[] current = new String[6];
                current[0] = Integer.toString(rs.getInt("partita_iva"));
                current[1] = rs.getString("nome");
                current[2] = rs.getString("cognome");
                current[3] = rs.getString("via_sede");
                current[4] = rs.getString("citta_sede");
                current[5] = rs.getString("provincia_sede");
                res.add(current);
            }        
            return res;
        } finally {
            try {
                stmt.close();
            } catch (SQLException e) {
                log.error(e);
            }
        }
    } finally {
        try {
        conn.close();
        } catch (SQLException e) {
            log.error(e);
        }
    }        
}
0
задан Michele Rava 23 February 2019 в 13:55
поделиться

1 ответ

Чтобы построить объект File, используйте конструктор File. Чтобы построить объект File для расположения вне определенного корневого каталога, используйте двухпараметрический конструктор File(File, String):

val downloadedFile = File(Environment.getExternalStorageDirectory(), "Download/$myFilename$myExtensionVar")

Если вы не получаете Uri из DownloadManager или что-то еще , нет Uri, что вам нужно delete().

Я написал больше здесь о внешнем хранилище и о том, как с ним работать.

0
ответ дан CommonsWare 23 February 2019 в 13:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: