2015-10-28 5 views
0

Я начинающий разработчик Android. Я сделал приложение для Android, которое снимает фотографию и сохраняет ее в моей галерее. Однако, как только я беру вторую фотографию, она перезаписывает первую. Вот мой код.Android-мои фотографии переписывают друг друга

static final int REQUEST_IMAGE_CAPTURE = 1; 
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 0; 
public void onClickbtnCamera(View v) 
{ 
    Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date(0)); 
    Uri uriSavedImage=Uri.fromFile(new File("/storage/emulated/0/DCIM/Camera","QR_"+timeStamp+ ".png")); 
    imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage); 
    startActivityForResult(imageIntent, 1); 
} 

В принципе, мне нужно, чтобы QR добавлял число каждый раз, когда фотография берется, например. первая фотография (QR_) вторая фотография (QR_1) третья фотография (QR_2). Thanks

+1

'new Date (0)' Вы не создаете одну и ту же дату каждый раз? Согласно [spec] (http://developer.android.com/reference/java/util/Date.html) создание 'Date()' без аргументов возвращает текущее время. –

ответ

4

Попробуйте изменить new Date(0) на new Date().

Вы всегда используете 1 января 1970 года, чтобы создать свою метку времени, что означает, что они всегда выходят одинаково. С этим изменением вы всегда будете использовать текущую временную метку. Пока вы не создадите две фотографии за одну секунду, они никогда не столкнутся.

(Если вы беспокоитесь о съемке быстрее, чем один раз в секунду, всегда может включать миллисекунды в вашем формате даты.)

+0

Когда я меняю его на новую Date(), я получаю ошибку fall, конструктор Date() не определил какую-либо идею о том, как исправить эту проблему. –

+2

Импорт пакета Util для даты, а не пакета SQL –

+0

Спасибо, что сработало для меня. –

0

Вам нужно будет убедиться, что метка времени differenet каждый раз, если не генерировать случайная строка с использованием произвольного алоритима и привязка к отметке времени.

Смежные вопросы