Закрытие соединения приводит к тому, что 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);
}
}
}
Чтобы построить объект File
, используйте конструктор File
. Чтобы построить объект File
для расположения вне определенного корневого каталога, используйте двухпараметрический конструктор File(File, String)
:
val downloadedFile = File(Environment.getExternalStorageDirectory(), "Download/$myFilename$myExtensionVar")
Если вы не получаете Uri
из DownloadManager
или что-то еще , нет Uri
, что вам нужно delete()
.
Я написал больше здесь о внешнем хранилище и о том, как с ним работать.