Die Suche ist eine Hauptfunktion für Android-Nutzer. 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. Um eine einheitliche Sucherfahrung für Nutzer zu schaffen, bietet Android ein Such-Framework, mit dem du die Suche für deine App implementieren kannst.
![](https://developer.android.google.cn/static/images/search/search-suggest-custom.png?authuser=5&hl=de)
Abbildung 1: Ein Dialogfeld mit benutzerdefinierten Suchvorschlägen.
Das Such-Framework bietet zwei Modi der Sucheingabe: ein Suchdialogfeld oben auf dem Bildschirm oder ein Such-Widget (SearchView
), das Sie in Ihr Aktivitätslayout einbetten können. In beiden Fällen unterstützt das Android-System die Implementierung der Suche, indem es Suchanfragen an eine bestimmte Aktivität liefert, die Suchanfragen ausführt. Du kannst auch das Suchdialogfeld oder -Widget aktivieren, um Suchvorschläge während der Eingabe anzuzeigen. Abbildung 1 zeigt ein Beispiel des Suchdialogfelds mit optionalen Suchvorschlägen.
Nachdem Sie das Suchdialogfeld oder das Such-Widget eingerichtet haben, haben Sie folgende Möglichkeiten:
- Sprachsuche aktivieren
- Suchvorschläge basierend auf den letzten Suchanfragen von Nutzern bereitstellen
- Benutzerdefinierte Suchvorschläge bereitstellen, die mit tatsächlichen Ergebnissen in Ihren Anwendungsdaten übereinstimmen.
- Bieten Sie die Suchvorschläge Ihrer Anwendung über das systemweite Schnellsuchfeld an.
Hinweis: Das Such-Framework 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 Suchvorgänge durchzuführen.
Es gibt auch keine Garantie dafür, dass ein Gerät eine dedizierte SUCHE-Schaltfläche zur Verfügung stellt, 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 Suchschaltfläche angeben, über die die Suchoberfläche aktiviert wird. Weitere Informationen finden Sie unter Suchdialogfeld aufrufen.
Auf den folgenden Seiten wird beschrieben, wie Sie das Framework von Android zur Implementierung der Suche verwenden:
- Suchoberfläche erstellen
- Hier erfahren Sie, wie Sie Ihre Anwendung für die Verwendung des Suchdialogs oder des Such-Widgets einrichten.
- Kürzliche Abfragevorschläge hinzufügen
- Wie Sie Vorschläge auf der Grundlage zuvor verwendeter Suchanfragen machen.
- Benutzerdefinierte Vorschläge hinzufügen
- Hier erfahren Sie, wie Sie Vorschläge auf Basis benutzerdefinierter Daten aus Ihrer Anwendung bereitstellen und diese über das systemweite Schnellsuchfeld bereitstellen.
- Suchbare Konfiguration
- Ein Referenzdokument für die durchsuchbare Konfigurationsdatei In den anderen Dokumenten wird die Konfigurationsdatei auch im Hinblick auf bestimmte Verhaltensweisen erläutert.
Datenschutz für Nutzer
Wenn Sie die Suche in Ihrer Anwendung implementieren, sollten Sie Maßnahmen ergreifen, um die Privatsphäre der Nutzer 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, sollten Sie sich an die folgenden Grundsätze halten:
- Sende keine personenbezogenen Daten an Server und protokolliere sie gegebenenfalls auch nicht.
Personenbezogene Daten sind alle Informationen, durch die Nutzer persönlich identifiziert werden können. Dazu zählen Namen, E-Mail-Adressen, Zahlungsinformationen oder andere Daten, die mit solchen Daten in Verbindung gebracht 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 zusätzlich die User-ID senden. Senden Sie nur die Postleitzahl an den Server. Wenn Sie personenbezogene Daten senden müssen, sollten Sie diese 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.
- Bieten Sie Nutzern die Möglichkeit, ihren Suchverlauf zu löschen.
Das Such-Framework unterstützt Ihre Anwendung dabei, kontextspezifische Vorschläge bereitzustellen, während der Nutzer tippt. Manchmal basieren diese Vorschläge auf früheren Suchanfragen oder anderen Aktionen des Nutzers in einer früheren Sitzung. Ein Nutzer möchte möglicherweise nicht, dass frühere Suchanfragen anderen Gerätenutzern angezeigt werden. Wenn deine Anwendung Vorschläge zur Verfügung stellt, die auf frühere Suchaktivitäten schließen können, implementiere eine Möglichkeit für Nutzer, ihren Suchverlauf zu löschen. Wenn Sie
SearchRecentSuggestions
verwenden, können Sie die MethodeclearHistory()
aufrufen. Wenn Sie benutzerdefinierte Vorschläge implementieren, müssen Sie bei Ihrem Contentanbieter eine ähnliche Methode zum Löschen des Verlaufs bereitstellen, die der Nutzer ausführen kann.