La ricerca è una funzionalità utente di base 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 di ricerca personalizzati.
Il framework di ricerca offre due modalità di input di 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 o il widget di ricerca, puoi:
- Attivare la ricerca vocale.
- Fornire suggerimenti di ricerca in base alle query recenti degli utenti.
- Fornire suggerimenti di ricerca personalizzati che corrispondono ai risultati effettivi nei dati dell'applicazione.
- Offrire i suggerimenti di ricerca dell'applicazione nella casella di ricerca rapida a livello di sistema.
Nota: il framework di ricerca non fornisce API per la
ricerca dei 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 le ricerche.
Inoltre, non è garantito che un dispositivo fornisca un pulsante di RICERCA dedicato che richiama 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 nella UI che attivi l'interfaccia di ricerca. Per ulteriori
informazioni, vedi Richiamare la finestra di dialogo di ricerca.
Le pagine seguenti 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.
- Aggiungere suggerimenti per le query recenti
- Come fornire suggerimenti in base alle query utilizzate in precedenza.
- Aggiungere suggerimenti personalizzati
- Come fornire suggerimenti in base ai dati personalizzati dell'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, 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 tutte le informazioni che possono identificare personalmente gli utenti, come nomi, indirizzi email, dati di fatturazione o altri dati che possono essere ragionevolmente collegati a queste 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 stai cercando attività commerciali 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 registrarle, proteggi i dati con molta attenzione ed eliminali il prima possibile.
- Fornisci agli utenti un modo per cancellare la cronologia delle ricerche.
Il framework di ricerca aiuta l'applicazione a fornire suggerimenti specifici per il contesto durante la digitazione dell'utente. A volte questi suggerimenti si basano su ricerche precedenti o altre azioni intraprese dall'utente in una sessione precedente. Un utente potrebbe non voler che le ricerche precedenti vengano rivelate 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 metodoclearHistory(). Se implementi suggerimenti personalizzati, devi fornire un metodo "cancella cronologia" simile nel tuo content provider che l'utente può eseguire.