#java #android
Вот у меня такой вопрос...
Я хочу сделать 5 снимков с камеры и чтоб эти снимки сохранились в одной папке которая
динамически должна создаться на CD карте. Я не до конца понимаю будет ли создаваться
папка, или файлы просто сохраниться где то на CD карте?
Мне нужно, чтоб создавалась одна папка и туда все созранялось, чтоб я мог хранить
ссылку на эту папку и работать с ней(допустим удалять из нее все обьекты)
у меня есть вот такой код
private static class ImageSaver implements Runnable {
private final Image mImage;
private File mFile = new File(Environment.getExternalStorageDirectory(), "pic.jpg");
public ImageSaver(Image image) {
mImage = image;
}
@Override
public void run() {
ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();
byte[] bytes = new byte[buffer.remaining()];
buffer.get(bytes);
FileOutputStream output = null;
try {
output = new FileOutputStream(mFile);
output.write(bytes);
} catch (IOException e) {
e.printStackTrace();
} finally {
mImage.close();
if (null != output) {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Ответы
Ответ 1
В вашем случае все картинки будут сохраняться в один файл. А именно в pic.jpg. Для начала создайте папку используя функцию mkdir(): File folder = new File(Environment.getExternalStorageDirectory() + File.separator + "pictures"); if (!folder.exists()) { folder.mkdir(); } обычно для сохранения картинок используют какие-то уникальные названия. Чаще всего это дата и время в имени файла + .jpg После всех операций создавайте новый файл, передав в его параметры значения, которые вы получили. Что-то типа такого : File mFile = new File(folder, currentDateAndTime + ".jpg");//currentDateAndTime - это строка, созданная из даты и времени, типа 2016-03-16-18-00 И не забудьте указать пермишн на запись файлов
Комментариев нет:
Отправить комментарий