Integra le funzionalità di ricerca di Android nella tua app

Prova Compose
Jetpack Compose è il toolkit per la UI consigliato per Android. Scopri come aggiungere la funzionalità di ricerca in Scrivi.

La ricerca è una funzionalità di base per gli utenti su Android. Gli utenti devono essere in grado di cercare 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 aiuta a implementare la ricerca per la tua applicazione.

Figura 1. Una finestra di dialogo di ricerca con suggerimenti 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 dell'attività. In entrambi i casi, il sistema Android assiste l'implementazione della ricerca inviando le query di ricerca a un'attività specifica che esegue le ricerche. Puoi anche attivare 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 configurato la finestra di dialogo di ricerca o il widget di ricerca, puoi:

  • Attiva la ricerca vocale.
  • Fornire suggerimenti per le ricerche in base alle query recenti degli utenti.
  • Fornisci suggerimenti di ricerca personalizzati che corrispondono ai risultati effettivi nei dati dell'applicazione.
  • Offri i suggerimenti per le ricerche della tua applicazione nella casella di ricerca rapida a livello di sistema.

Nota: il framework di ricerca non fornisce API per cercare i tuoi dati. Per eseguire una ricerca, devi utilizzare le API appropriate per i tuoi dati. Ad esempio, se i tuoi dati sono archiviati in un database SQLite, utilizza le API android.database.sqlite per eseguire le ricerche.

Inoltre, non è garantito che un dispositivo fornisca un pulsante di RICERCA dedicato che richiami l'interfaccia di ricerca nella tua applicazione. Quando utilizzi la finestra di dialogo di ricerca o un'interfaccia personalizzata, devi fornire un pulsante di ricerca nell'interfaccia utente che attiva l'interfaccia di ricerca. Per maggiori informazioni, vedi Richiamare la finestra di dialogo di ricerca.

Le seguenti pagine mostrano come utilizzare il framework di Android per implementare la ricerca:

Creare un'interfaccia di ricerca
Come configurare l'applicazione per utilizzare la finestra di dialogo di ricerca o il widget di ricerca.
Aggiungi suggerimenti per le query recenti
Come fornire suggerimenti in base alle 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 ricercabile. Gli altri documenti descrivono anche il file di configurazione in termini di comportamenti specifici.

Proteggere la privacy degli utenti

Quando implementi la ricerca nella tua applicazione, adotta misure per proteggere la privacy dell'utente. Molti utenti considerano le proprie attività sullo smartphone, incluse le ricerche, come informazioni private. Per proteggere la privacy degli utenti, rispetta i seguenti principi:

  • Non inviare informazioni personali ai server e, se devi farlo, non registrarle.

    Le informazioni personali sono tutti i dati che possono identificare personalmente i tuoi utenti, come nomi, indirizzi email, dati di fatturazione o altri dati che possono essere ragionevolmente collegati a tali informazioni. Se la tua 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à vicino a un codice postale, non devi inviare anche l'ID utente; invia solo il codice postale al server. Se devi inviare informazioni personali, evita di registrarle. Se devi registrarli, proteggi questi dati con molta attenzione ed eliminali il prima possibile.

  • Fornire agli utenti un modo per cancellare la cronologia delle ricerche.

    Il framework di ricerca aiuta l'applicazione a fornire suggerimenti specifici per il 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 voler rivelare le ricerche precedenti ad altri utenti del dispositivo. Se la tua applicazione fornisce suggerimenti che possono rivelare le attività di ricerca precedenti, implementa un modo per consentire all'utente di cancellare la cronologia delle ricerche. Se utilizzi SearchRecentSuggestions, puoi chiamare il metodo clearHistory(). Se implementi suggerimenti personalizzati, devi fornire un metodo "cancella cronologia" simile nel tuo content provider che l'utente possa eseguire.