Мой друг и я пытаемся создать приложение, которое сохраняет файлы на устройстве. Мы использовали этот код для записи на внешнюю SD-карту, и он прекрасно работает на его Droid X и Samsung Galaxy Tab.
Получить путь к SD-карте:
private static final File ROOT = Environment.getExternalStorageDirectory();
Создать путь к папке и файлам:
FileWriter fw = new FileWriter(ROOT + "/test/" + "time_frames.txt");
мы используем фабрику документов для создания документов
чтобы вы могли видеть, что мы создаем путь, а затем пытаемся сохранить на тот путь, который только что был создан
File file = new File(ROOT + "/test/" + "time_frames.txt");
Когда я запускаю его на Nexus S (на котором нет SD-карты) возникают проблемы с точно таким же кодом.
private static final File ROOTtest = Environment.getExternalStorageDirectory();
это возвращает / данные
private static final File ROOT = Environment.getRootDirectory();
возвращает / mnt / sdcard
private static final File intData = Environment.getDataDirectory();
это возвращает / system
Мой вопрос: какой из них будет работать для устройств с SD-картами и без SD-карт? Я много пробовал, но все эти вещи действительно смутили меня. Заранее спасибо