#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 И не забудьте указать пермишн на запись файлов
Комментариев нет:
Отправить комментарий