Android-Suchfunktionen in deine App integrieren

Jetpack Compose ausprobieren
Jetpack Compose ist das empfohlene UI-Toolkit für Android. Informationen zum Hinzufügen der Suchfunktion in Compose

Die Suche ist eine Kernfunktion für Nutzer auf Android-Geräten. Nutzer müssen alle für sie verfügbaren Daten durchsuchen können, unabhängig davon, ob sich die Inhalte auf dem Gerät oder im Internet befinden. Damit Nutzer eine einheitliche Suchfunktion erhalten, bietet Android ein Suchframework, mit dem Sie die Suche für Ihre Anwendung implementieren können.

Abbildung 1 : Ein Suchdialogfeld mit benutzerdefinierten Suchvorschlägen.

Das Suchframework bietet zwei Modi für die Sucheingabe: ein Suchdialogfeld 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 Suchen ausführt. Sie können auch festlegen, dass im Suchdialogfeld oder im Such-Widget Suchvorschläge angezeigt werden, während der Nutzer tippt. 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:

  • Sprachsuche aktivieren
  • Suchvorschläge basierend auf den letzten Suchanfragen des Nutzers bereitstellen
  • Benutzerdefinierte Suchvorschläge bereitstellen, die mit den tatsächlichen Ergebnissen in Ihren Anwendungsdaten übereinstimmen
  • Suchvorschläge Ihrer Anwendung im systemweiten Schnellsuchfeld anbieten

Hinweis: Das Suchframework bietet keine APIs zum Durchsuchen Ihrer Daten. Um eine Suche durchzuführen, 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 Suchen durchzuführen.

Außerdem gibt es keine Garantie, dass ein Gerät eine spezielle Schaltfläche „SUCHEN“ 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 UI eine Schaltfläche „Suchen“ bereitstellen, mit der die Suchoberfläche aktiviert wird. Weitere Informationen finden Sie unter Suchdialogfeld aufrufen.

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

Suchoberfläche erstellen
Informationen zum Einrichten Ihrer Anwendung für die Verwendung des Suchdialogfelds oder des Such-Widgets.
Vorschläge für aktuelle Suchanfragen hinzufügen
Informationen zum Bereitstellen von Vorschlägen basierend auf zuvor verwendeten Suchanfragen.
Benutzerdefinierte Vorschläge hinzufügen
Anleitung zum Bereitstellen von Vorschlägen basierend auf benutzerdefinierten Daten aus Ihrer Anwendung und zum Anbieten dieser Vorschläge im systemweiten Schnellsuche-Feld.
Suchkonfiguration
Ein Referenzdokument für die suchkonfigurierbare Konfigurationsdatei. In den anderen Dokumenten wird die Konfigurationsdatei auch im Hinblick auf bestimmte Verhaltensweisen behandelt.

Datenschutz der Nutzer gewährleisten

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 der 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 und protokollieren Sie sie nicht, wenn es nicht unbedingt erforderlich ist.

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

  • Bieten Sie Nutzern eine Möglichkeit, ihren Suchverlauf zu löschen.

    Das Suchframework hilft Ihrer Anwendung, kontextspezifische 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 andere Gerätenutzer seine früheren Suchanfragen sehen. Wenn Ihre Anwendung Vorschläge macht, die frühere Suchaktivitäten offenbaren können, müssen Sie dem Nutzer eine Möglichkeit bieten, 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.