La ricerca è una funzionalità utente principale di Android. Gli utenti devono essere in grado di eseguire ricerche in tutti i dati a loro disposizione, indipendentemente dal fatto che i contenuti si trovino sul dispositivo o su internet. Per contribuire a creare un'esperienza di ricerca coerente per gli utenti, Android fornisce un framework di ricerca che ti consente di implementare la ricerca per la tua applicazione.
![](https://developer.android.com/static/images/search/search-suggest-custom.png?authuser=9&hl=it)
Figura 1. Una finestra di dialogo di ricerca con suggerimenti di ricerca personalizzati.
Il framework di ricerca offre due modalità di inserimento della ricerca: una finestra di dialogo di ricerca nella parte superiore dello schermo o un widget di ricerca (SearchView
) che puoi incorporare nel layout delle attività. In entrambi i casi, il sistema Android assiste l'implementazione della ricerca pubblicando query di ricerca per un'attività specifica che esegue ricerche. Puoi anche abilitare la finestra di dialogo o il widget di ricerca per fornire suggerimenti di ricerca durante la digitazione dell'utente. La Figura 1 mostra un esempio della finestra di dialogo di ricerca con suggerimenti di ricerca facoltativi.
Dopo aver impostato la finestra di dialogo di ricerca o il widget Ricerca, puoi:
- Attiva ricerca vocale.
- Fornire suggerimenti di ricerca basati sulle query recenti degli utenti.
- Fornire suggerimenti di ricerca personalizzati che corrispondono ai risultati effettivi nei dati dell'applicazione.
- Fornisci suggerimenti di ricerca della tua applicazione nella Casella di ricerca rapida a livello di sistema.
Nota: il framework di ricerca non fornisce API per la ricerca nei dati. Per eseguire una ricerca, devi utilizzare le API appropriate per i tuoi dati. Ad esempio, se i dati sono archiviati in un database SQLite, utilizza le API android.database.sqlite
per eseguire delle ricerche.
Inoltre, non è garantito che un dispositivo fornisca un pulsante RICERCA dedicato che richiama l'interfaccia di ricerca nella tua applicazione. Se utilizzi la finestra di dialogo di ricerca o un'interfaccia personalizzata, devi
fornire un pulsante di ricerca nell'interfaccia utente che attivi l'interfaccia di ricerca. Per ulteriori informazioni, consulta Richiamare la finestra di dialogo di ricerca.
Le pagine seguenti spiegano come utilizzare il framework di Android per implementare la ricerca:
- Creare un'interfaccia di ricerca
- Come configurare l'applicazione per l'utilizzo della finestra di dialogo di ricerca o del widget Ricerca.
- Aggiungi suggerimenti di query recenti
- Come fornire suggerimenti basati sulle query utilizzate in precedenza.
- Aggiungere suggerimenti personalizzati
- Come fornire suggerimenti basati su dati personalizzati della tua applicazione e offrirli nella Casella di ricerca rapida a livello di sistema.
- Configurazione ricercabile
- Un documento di riferimento per il file di configurazione disponibile per la ricerca. Gli altri documenti parlano inoltre del file di configurazione in termini di comportamenti specifici.
Proteggi la privacy degli utenti
Quando implementi la ricerca nella tua applicazione, prendi provvedimenti per proteggere la privacy dell'utente. Molti utenti considerano le attività svolte sul telefono, comprese le ricerche, come informazioni private. Per proteggere la privacy degli utenti, rispetta i seguenti principi:
- Non inviare informazioni personali ai server e, se devi, non registrarle.
Per informazioni personali si intende qualsiasi informazione in grado di identificare personalmente gli utenti, ad esempio nomi, indirizzi email, dati di fatturazione o altri dati che possono essere ragionevolmente collegati a tali informazioni. Se l'applicazione implementa la ricerca con l'assistenza di un server, evita di inviare informazioni personali insieme alle query di ricerca. Ad esempio, se cerchi attività nelle vicinanze di un codice postale, non è necessario inviare anche l'ID utente: invia solo il codice postale al server. Se devi inviare informazioni personali, evita di registrarle. Se devi registrarli, proteggili con molta attenzione e cancellali il prima possibile.
- Offri agli utenti un modo per cancellare la cronologia delle ricerche.
Il framework di ricerca consente alla tua applicazione di fornire suggerimenti specifici in base al contesto mentre l'utente digita. A volte questi suggerimenti si basano su ricerche precedenti o altre azioni intraprese dall'utente in una sessione precedente. Un utente potrebbe non volere che le ricerche precedenti vengano rivelate agli altri utenti del dispositivo. Se la tua applicazione fornisce suggerimenti che possono rivelare attività di ricerca precedenti, implementa un modo per consentire all'utente di cancellare la propria cronologia delle ricerche. Se utilizzi
SearchRecentSuggestions
, puoi chiamare il metodoclearHistory()
. Se stai implementando suggerimenti personalizzati, devi fornire nel tuo provider di contenuti un metodo di "cancellazione della cronologia" simile a quello che l'utente può eseguire.