Я хочу показать дату снимка, когда он был сделан на моем ImageView. Предположим, что у меня есть фотографии на моем girdview. как только я его щелкнул, он перейдет к другой активности и отобразит полный размер изображения. Теперь в этой операции мне нужно отобразить дату, когда она была сделана. Есть идеи?Укажите дату снимка, когда он был сделан?
ответ
Существует два возможных способа сделать это на Android. Первым является файл измененной дата, которая может быть достигнута следующим образом:
String pathToFile = "Your file path";
File file = new File(pathToFile);
if(file.exists()) {
long date = file.lastModified();
/* Do your modified date stuff here */
}
Другим путем была бы проверить данные EXIF на изображении, чтобы получить дату, когда был сделан снимок, если эта информация доступна:
ExifInterface intf = null;
try {
intf = new ExifInterface(path);
} catch(IOException e) {
e.printStackTrace();
}
if(intf == null) {
/* File doesn't exist or isn't an image */
}
String dateString = intf.getAttribute(ExifInterface.TAG_DATETIME);
/* Do your date/time stuff here */
Просто примечание. Данные Exif для изображения могут не содержать даты. Большинство телефонных камер и коммерческих камер добавят дату и время Exif, но изображения, созданные на компьютере, с меньшей вероятностью имеют данные Exif. Кроме того, дата и время Exif не отформатированы очень хорошо. Пример Exif date/time string: 2012:06:02 14:33:46
(взято из изображения, которое я взял с моим Nexus S)
ОК спасибо. как я могу добавить один из них здесь (http://stackoverflow.com/questions/12480724/how-to-get-the-date-taken-and-display-it)? – Stella
Вы не можете отобразить текст непосредственно на ImageView. Вам нужно будет сделать более сложный макет (возможно, RelativeLayout с ImageView и TextView в нем) и заполнить отдельные элементы. – MCeley
Получил это .. спасибо – Stella
Вы можете использовать RelativeLayout
объединить оба ImageView
и TextView
с датой, проверьте this answer.
Если вы просто читаете каждое изображение с внешнего хранилища как File
, то у File
есть метод lastModified()
, чтобы получить измененную дату файла. Хотя это не обязательно дата создания файла, для неизменяемого файла, такого как изображение, оно, скорее всего, есть.
for (File file : files) {
//This is the date the file was modified/created
long date = file.lastModified();
//You can even convert it to a Date if you want
Date fileData = new Date(date);
}
Если ваше приложение является одним создания изображений на внешнем накопителе, и вы абсолютно необходимо первоначальный дату создания только файла, вы имели лучший магазин, информация себе в локальной базе данных, когда создается изображение. Это то, что делает MediaStore
для рамки.
ОК спасибо за ответ, у вас есть пример? прочитайте это http://stackoverflow.com/questions/12480724/how-to-get-the-date-taken-and-display-it. – Stella
Просто вызовите 'file.lastModified()', чтобы получить значение для каждого файла, который вам нужно прочитать/отобразить. – Devunwired
Я не могу понять. – Stella
- 1. Ответ был сделан
- 2. Как проверить, был ли сделан ajax cal и когда он был завершен
- 3. Как был сделан Google.com?
- 4. Укажите дату, когда пользователь установил расширение Chrome
- 5. Вещание, когда снимок сделан в Android 4.0?
- 6. .htaccess не остановит перезаписи, когда Ajax запрос был сделан
- 7. Какое исключение выбрасывать, когда был сделан неверный путь кода?
- 8. reloadData, когда цикл сделан
- 9. Укажите свою дату PHP
- 10. укажите дату события
- 11. SSRS: время выполнения снимка?
- 12. Сбой Rspec для имени уже был сделан
- 13. Как получить дату, когда объект был сохранен
- 14. SDL_net no opengl context был сделан
- 15. Как вы меняете дату существующего снимка сонара?
- 16. Укажите запрос пользователя, когда был нажат homeButton в панели действий
- 17. Получить ключ, который был недоступен, когда был сделан двойной клик в javascript
- 18. Добавление Случайного int, когда он был создан
- 19. Как процесс узнает, когда он был создан?
- 20. Продолжительность исходящего вызова, когда он был получен
- 21. mysql не работает, когда он был запущен?
- 22. Coldfusion neo-cron.xml был изменен - когда он не был
- 23. Проверить, когда фильтр сделан, угловой
- 24. Уведомление потребителя, когда производитель сделан
- 25. Как узнать, когда appcache сделан?
- 26. Укажите дату, когда было отправлено электронное письмо в первую очередь
- 27. Укажите точное время/дату, когда кто-то просмотрел ваш профиль
- 28. Получите местную дату. На основании того, откуда сделан запрос
- 29. Qt :: Как маленький он может быть сделан?
- 30. Как распечатать результат ActionResult, если он сделан
Любое изображение, хранящееся в устройстве MediaStore, содержит поле 'DATE_TAKEN', которое вы можете включить в свой запрос, а затем отображение на экране. https://developer.android.com/reference/android/provider/MediaStore.Images.Media.html Чтобы ответить на вопрос «Как», нам понадобится гораздо больше информации о том, как вы обращаетесь к изображениям в первую очередь , – Devunwired
ok Я получаю изображение как мой предыдущий вопрос. Таким образом, (http://stackoverflow.com/questions/12474667/how-can-i-show-the-full-size-of-image). По ExternalStorageDirectoryPath. – Stella
Должно быть много учебников, показывающих только это, все в одном ответе довольно много. –