Используйте ACTION_GET_CONTENT Intent Action - Intent.ACTION_GET_CONTENT
Вызов после selectImage()
метода для запуска выбора изображения Intent, в котором будут отображаться все приложения, доступные для выбора изображения из
private val RC_SELECT_IMGAE = 101
private fun selectImage() {
val selectImageIntent = Intent(Intent.ACTION_GET_CONTENT, MediaStore.Images.Media
.EXTERNAL_CONTENT_URI)
startActivityForResult(selectImageIntent, RC_SELECT_IMGAE)
}
Затем обработайте обратный вызов путем переопределения метода onActivityResult()
в Activity
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
when (requestCode) {
RC_SELECT_IMGAE -> {
if (data != null) {
val uri = data.data
displaySelectedImage(getBitmapFromUri(uri))
}
}
else -> super.onActivityResult(requestCode, resultCode, data)
}
}
Наконец, обновите представление изображения с помощью растрового изображения, как показано ниже
private fun getBitmapFromUri(uri: Uri): Bitmap {
val parcelFileDescriptor = contentResolver.openFileDescriptor(uri, "r")
val fileDescriptor = parcelFileDescriptor?.fileDescriptor
val image = BitmapFactory.decodeFileDescriptor(fileDescriptor)
parcelFileDescriptor.close()
return image
}
private fun displaySelectedImage(imageBitmap: Bitmap) {
iv_selected_image.setImageBitmap(imageBitmap)
}
Найдите рабочий пример выбора изображения здесь - ImagePickerExample
Вы можете добавить FileProvider
в случае, если он дает какой-либо URI Exception
Я не верю, что есть Assert, который будет сравнивать две директории, но вы можете использовать PHP Scandir, который даст вам массив содержимого директории и сравнить их.
$files1 = scandir($directory1);
$files2 = scandir($directory2);
$this->assertEquals($files1, $files2);
вы можете попробовать создать хеш каждого файла в каждом каталоге и затем сравнить хэши:
https://jonlabelle.com/snippets/view/php/generate-md5-hash- for-directory
Или, если вы работаете в среде Linux / Unix DEV (возможно, вы не хотите, чтобы этот код работал), вы можете запустить
Unix diff команда: https://www.tecmint.com/compare-find-difference-between-two-directories-in-linux/
С помощью PHP shell_exec: http : //php.net/manual/en/function.shell-exec.php