Я хочу чтобы файлы сохранялись в отдельной папке приложения на одном уровне с папкой Downloads. Sd карты нет.
String path = Environment.getExternalStorageDirectory().toString()+ "/" + folder_main + "/";
File directory = new File(path);
File[] files = directory.listFiles();
int x;
if(files != null)
x = files.length;
else
x = 0;
try {
outputStream = openFileOutput(path + filename + x + ".txt", Context.MODE_PRIVATE);
PrintWriter writer = new PrintWriter(outputStream);
for(Map.Entry<String, ArrayList<Integer>> entry : measurings.entrySet()) {
String key = entry.getKey();
ArrayList<Integer> value = entry.getValue();
for(int i : value) {
String s = key + ": " + i;
writer.println(s);
}
}
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
Папку создаю так
File f = new File(Environment.getExternalStoragePublicDirectory(folder_main), folder_main);
if (!f.exists()) {
f.mkdirs();
}
Но никакой папки не создаётся и файлов тоже. Ещё заметил что когда пытаюсь проверить допустим список файлов в папке Downloads
File directory1 = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File[] files2 = directory1.listFiles();
Выдаёт что массив files2 пуст, хотя там точно полно файлов.
Видимо я совсем запутался в хранилищах андроида. В проводнике на самом телефоне хранилище называется внутренним (там где Downloads, DCIM, ..) но в контексте SDK internal это только то, чем владеет приложение. Как мне правильно сохранять файлы там где я хочу?
Почитал про функцию getExternalFilesDir, немного не то что я хотел, но этого достаточно)
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости