fun createURIpath(context: Context): Uri {
val fileName = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.GERMAN).format(Date())
val path = getExternalFilesDir(DIRECTORY_PICTURES)
val file = File(path, "$fileName.jpg")
return FileProvider.getUriForFile( context, "${BuildConfig.APPLICATION_ID}.fileprovider", file)
}
На заметку 1
val
fileName = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.GERMAN).format(Date())
Имя файла я делаю как дата и время, например:
3 january 2024 19:38:37
val
fileName =
"20240103_193837.jpg"
На заметку 2
val
path =
getExternalFilesDir(
DIRECTORY_PICTURES)
DIRECTORY_PICTURES это
Android системная константа, еще есть:
DIRECTORY_MUSIC,
DIRECTORY_MOVIES,
DIRECTORY_DOCUMENTS
getExternalFilesDir это
Android системная функция которая возвращает полный путь к директорию, где наше приложение может размещать постоянные файлы
path в нашем случае это папка где будут сохранены картинки потому что используем
DIRECTORY_PICTURES
path =
"/storage/emulated/0/Android/data/com.example.androidkotlinapp1/files/Pictures"
Читать подробно:
Что такое getExternalFilesDir в Android Studio, Kotlin ...
На заметку 3
val
file = File(path, "$fileName.jpg")
создаем пустой
jpg файл в папке
path c именем
fileName
На заметку 4
return
FileProvider.getUriForFile( context, "${BuildConfig.APPLICATION_ID}.fileprovider", file)
FileProvider.getUriForFile это системная функция которая используя файл и
application id возращает
uri путь.
Вернется
uri путь:
content://com.example.androidkotlinapp1.fileprovider/pictures/20240103_191203.jpg