Выберите изображение из галереи весело, например:
private fun selectImageFromGallery() {
val intent = Intent()
intent.type = "image/*"
intent.action = Intent.ACTION_GET_CONTENT
startActivityForResult(
Intent.createChooser(
intent,
"Please select..."
),
GALLERY_REQUEST_CODE
)
}
onActivityResult как это:
override fun onActivityResult(
requestCode: Int,
resultCode: Int,
data: Intent?
) {
super.onActivityResult(
requestCode,
resultCode,
data
)
if (requestCode == GALLERY_REQUEST_CODE
&& resultCode == Activity.RESULT_OK
&& data != null
&& data.data != null
) {
// Get the Uri of data
val file_uri = data.data
uploadImageToFirebase(file_uri)
}
}
загрузить изображение:
private fun uploadImageToFirebase(fileUri: Uri) {
if (fileUri != null) {
val fileName = UUID.randomUUID().toString() +".jpg"
val database = FirebaseDatabase.getInstance()
val refStorage = FirebaseStorage.getInstance().reference.child("images/$fileName")
refStorage.putFile(fileUri)
.addOnSuccessListener(
OnSuccessListener<UploadTask.TaskSnapshot> { taskSnapshot ->
taskSnapshot.storage.downloadUrl.addOnSuccessListener {
val imageUrl = it.toString()
}
})
?.addOnFailureListener(OnFailureListener { e ->
print(e.message)
})
}
}
Как вы видите, вам не нужны растровые изображения