Android-Suchfunktionen in deine App integrieren

Compose ausprobieren
Jetpack Compose ist das empfohlene UI-Toolkit für Android. Hier erfahren Sie, wie Sie eine Suchfunktion in Compose hinzufügen.

Die Suche ist eine wichtige Nutzerfunktion auf Android-Geräten. Nutzer müssen in der Lage sein, alle für sie verfügbaren Daten zu durchsuchen, unabhängig davon, ob sich die Inhalte auf dem Gerät oder im Internet befinden. Damit Nutzer eine einheitliche Suchfunktion nutzen können, bietet Android ein Such-Framework, mit dem Sie die Suche für Ihre Anwendung implementieren können.

Abbildung 1: Ein Suchdialogfeld mit benutzerdefinierten Suchvorschlägen.

Das Such-Framework bietet zwei Modi für die Sucheingabe: einen Suchdialog oben auf dem Bildschirm oder ein Such-Widget (SearchView), das Sie in das Layout Ihrer Aktivität einbetten können. In beiden Fällen unterstützt das Android-System Ihre Suchimplementierung, indem es Suchanfragen an eine bestimmte Aktivität weiterleitet, die Suchvorgänge ausführt. Sie können auch das Suchfeld oder das Such-Widget aktivieren, um Suchvorschläge während der Eingabe anzuzeigen. Abbildung 1 zeigt ein Beispiel für das Suchdialogfeld mit optionalen Suchvorschlägen.

Nachdem Sie das Suchdialogfeld oder das Such-Widget eingerichtet haben, können Sie Folgendes tun:

  • Aktivieren Sie die Sprachsuche.
  • Suchvorschläge basierend auf den letzten Nutzeranfragen bereitstellen
  • Benutzerdefinierte Suchvorschläge bereitstellen, die den tatsächlichen Ergebnissen in Ihren Anwendungsdaten entsprechen
  • Suchvorschläge für Ihre Anwendung im systemweiten Schnellsuchefeld anbieten

Hinweis: Das Suchframework bietet keine APIs zum Durchsuchen Ihrer Daten. Für die Suche müssen Sie APIs verwenden, die für Ihre Daten geeignet sind. Wenn Ihre Daten beispielsweise in einer SQLite-Datenbank gespeichert sind, verwenden Sie die android.database.sqlite-APIs, um Suchvorgänge auszuführen.

Außerdem gibt es keine Garantie dafür, dass ein Gerät eine spezielle SUCH-Taste bietet, mit der die Suchoberfläche in Ihrer Anwendung aufgerufen wird. Wenn Sie das Suchdialogfeld oder eine benutzerdefinierte Oberfläche verwenden, müssen Sie in Ihrer Benutzeroberfläche eine Schaltfläche zum Aktivieren der Suchoberfläche einfügen. Weitere Informationen finden Sie unter Suchdialog aufrufen.

Auf den folgenden Seiten wird beschrieben, wie Sie das Android-Framework verwenden, um die Suche zu implementieren:

Suchoberfläche erstellen
So richten Sie Ihre Anwendung für die Verwendung des Suchdialogfelds oder des Such-Widgets ein.
Suchvorschläge anhand der letzten Suchanfragen hinzufügen
Vorschläge auf Grundlage zuvor verwendeter Anfragen machen.
Benutzerdefinierte Vorschläge hinzufügen
Vorschläge auf Grundlage benutzerdefinierter Daten aus Ihrer Anwendung bereitstellen und im systemweiten Schnellsuchefeld anbieten.
Suchkonfiguration
Ein Referenzdokument für die durchsuchbare Konfigurationsdatei. In den anderen Dokumenten wird die Konfigurationsdatei auch im Hinblick auf bestimmte Verhaltensweisen beschrieben.

Nutzerdaten schützen

Wenn Sie die Suche in Ihrer Anwendung implementieren, müssen Sie Maßnahmen ergreifen, um die Privatsphäre des Nutzers zu schützen. Viele Nutzer betrachten ihre Aktivitäten auf ihrem Smartphone, einschließlich Suchanfragen, als private Informationen. Um die Privatsphäre der Nutzer zu schützen, müssen Sie die folgenden Grundsätze einhalten:

  • Senden Sie keine personenbezogenen Daten an Server. Wenn dies erforderlich ist, protokollieren Sie sie nicht.

    Personenbezogene Daten sind alle Informationen, die Ihre Nutzer persönlich identifizieren können, z. B. Namen, E‑Mail-Adressen, Abrechnungsinformationen oder andere Daten, die vernünftigerweise mit solchen Informationen verknüpft werden können. Wenn Ihre Anwendung die Suche mithilfe eines Servers implementiert, sollten Sie keine personenbezogenen Daten zusammen mit den Suchanfragen senden. Wenn Sie beispielsweise nach Unternehmen in der Nähe einer Postleitzahl suchen, müssen Sie nicht auch die Nutzer-ID senden, sondern nur die Postleitzahl. Wenn Sie personenbezogene Daten senden müssen, sollten Sie sie nicht protokollieren. Wenn Sie sie protokollieren müssen, schützen Sie diese Daten sehr sorgfältig und löschen Sie sie so schnell wie möglich.

  • Nutzern die Möglichkeit geben, ihren Suchverlauf zu löschen.

    Das Such-Framework hilft Ihrer Anwendung, kontextbezogene Vorschläge zu machen, während der Nutzer tippt. Manchmal basieren diese Vorschläge auf früheren Suchanfragen oder anderen Aktionen, die der Nutzer in einer früheren Sitzung ausgeführt hat. Ein Nutzer möchte möglicherweise nicht, dass frühere Suchanfragen anderen Gerätenutzern angezeigt werden. Wenn Ihre Anwendung Vorschläge anzeigt, die frühere Suchaktivitäten offenbaren können, müssen Sie dem Nutzer die Möglichkeit geben, seinen Suchverlauf zu löschen. Wenn Sie SearchRecentSuggestions verwenden, können Sie die Methode clearHistory() aufrufen. Wenn Sie benutzerdefinierte Vorschläge implementieren, müssen Sie in Ihrem Contentanbieter eine ähnliche Methode zum Löschen des Verlaufs bereitstellen, die der Nutzer ausführen kann.