Fotoauswahl | Android-Entwicklung

Apr 22 2023
Mit Android 13 wurde die PhotoPicker-API eingeführt, mit der Entwickler problemlos Fotos und Videos vom Gerät eines Benutzers auswählen können. Die PhotoPicker-API bietet eine benutzerfreundliche Oberfläche zum Durchsuchen und Auswählen von Fotos und Videos, die in jede Android-App integriert werden kann.

Mit Android 13 wurde die PhotoPicker-API eingeführt, mit der Entwickler problemlos Fotos und Videos vom Gerät eines Benutzers auswählen können. Die PhotoPicker-API bietet eine benutzerfreundliche Oberfläche zum Durchsuchen und Auswählen von Fotos und Videos, die in jede Android-App integriert werden kann. In diesem Artikel werden wir die PhotoPicker-API untersuchen und ein Beispiel dafür liefern, wie sie in einer Android-App verwendet werden kann.

Die PhotoPicker-API ist Teil der MediaStore-API, die den Zugriff auf Mediendateien auf dem Gerät eines Benutzers ermöglicht. Mit der PhotoPicker-API können Entwickler eine vom System bereitgestellte Aktivität starten, die ein Raster mit Fotos und Videos vom Gerät des Benutzers anzeigt. Der Benutzer kann ein oder mehrere Fotos und Videos durchsuchen und auswählen, die dann an die aufrufende App zurückgegeben werden.

Die PhotoPicker-API bietet mehrere Anpassungsoptionen, z. B. die Angabe der maximalen Anzahl auswählbarer Elemente, das Filtern nach Medientyp und die Angabe der Sortierreihenfolge der Elemente. Darüber hinaus können Entwickler eine anfängliche Auswahl von Elementen angeben, die beim Start des PhotoPicker vorab ausgewählt werden.

Beispiel:

Um die PhotoPicker-API in einer Android-App zu verwenden, müssen Sie zunächst die MediaStore-Abhängigkeit zur build.gradle-Datei Ihrer App hinzufügen:

dependencies {
    implementation 'androidx.media:media:1.4.0'
}

val intent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
startActivityForResult(intent, REQUEST_CODE_PHOTO_PICKER)

Um die ausgewählten Elemente zu erhalten, müssen wir die Methode onActivityResult() in unserer Aktivität überschreiben:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == REQUEST_CODE_PHOTO_PICKER && resultCode == Activity.RESULT_OK) {
        val uris = mutableListOf<Uri>()
        val clipData = data?.clipData
        if (clipData != null) {
            for (i in 0 until clipData.itemCount) {
                val uri = clipData.getItemAt(i).uri
                uris.add(uri)
            }
        } else {
            val uri = data?.data
            if (uri != null) {
                uris.add(uri)
            }
        }
        // Do something with the selected URIs
    }
}

Fotoauswahl-API

Abschluss:

Die PhotoPicker-API in Android 13 und höher bietet Entwicklern eine praktische Möglichkeit, Benutzern die Auswahl von Fotos und Videos auf ihrem Gerät zu ermöglichen. Durch die Integration des PhotoPicker in Ihre App können Sie eine nahtlose und intuitive Benutzererfahrung beim Durchsuchen und Auswählen von Mediendateien bieten. Der in diesem Artikel bereitgestellte Beispielcode soll Ihnen einen guten Ausgangspunkt für die Verwendung der PhotoPicker-API in Ihrer eigenen App bieten.