Dipende dall'app e dall'app che sarà in grado di fare una volta raggiunto l'errore .
I due metodi che Google suggerisce in Material Design Guide per affrontare questi tipi di messaggi sono:
Dialogs (in questo caso la finestra di dialogo dell'avviso):
e Snackbars:
Per te Se il tuo esempio: alcuni dati sono richiesti da un server remoto, ma a causa di qualche errore o eccezione, il recupero fallisce e nessun dato viene restituito.
A questo punto, il tipo di messaggio di errore dipenderà da come l'app funzionerà da quel punto in poi, senza quei dati. Se l'app si esibirà così com'è, significa che il recupero è stato qualcosa di simile a un aggiornamento in background, la cosa appropriata da mostrare sarebbe uno Snackbar. Perché?
Dalla Guida:
snackbar fornire un feedback leggero su un'operazione, mostrando un breve messaggio nella parte inferiore dello schermo. Gli snack possono contenere un'azione.
Leggero è davvero il motivo qui. Se l'app funzionerà senza quella raccolta di dati in background, non dovresti bloccare l'interfaccia utente con un messaggio. Fai sapere all'utente che le cose non hanno funzionato come dovrebbero, in modo che lui possa fare qualcosa al riguardo se gliene importa.
Ecco un esempio tratto dal guide:
Per il codice: il Developer Docs on Snackbars
Mai utilizzare un brindisi. Un toast è troppo piccolo, troppo breve e può passare inosservato. Usa uno snack bar.
Ma, nello scenario in cui la tua app non funzionerà, o mostrerà nient'altro che una schermata vuota senza quei dati, la cosa corretta da fare sarebbe quella di mostrare una finestra di dialogo di avviso.
Nessuno vuole vedere altro se non uno schermo vuoto e se non è possibile popolarlo con i dati, è necessario fornire all'utente una schermata da cui possono eseguire funzioni alternative, anche se è necessario uscire dall'app .
Dalla Guida sul Avvisi:
avvisi informano l'utente circa una situazione o azione che richiede la loro conferma o il riconoscimento prima di procedere. Differiscono da in apparenza in base alla gravità e all'impatto del messaggio trasmesso.
Gli avvisi sono interrotti, urgenti e impediscono agli utenti di procedere finché non prendono una decisione.
E
Disambiguazione da snackbar: A differenza di avvisi, snackbar presenti informazioni facoltative ma importanti o le azioni e di solito compaiono dopo un'azione. Ad esempio, utilizzare un avviso per confermare scartando una bozza. Utilizzare uno snackbar per presentare un'azione di annullamento, perché l'azione è facoltativa e l'utente può continuare con l'attività principale senza intervenire.
Quindi, se l'app non funziona senza quei dati, andare con un Alert Dialog.
Grazie. Ma sarebbe bello con almeno un esempio di codice. E quell'icona di avviso, è un drawable Android incorporato o è uno dei tuoi drawable? – RenniePet
Dovresti solo visualizzare una finestra di dialogo quando succede qualcosa di molto importante e hai bisogno della conferma dell'utente o devi essere assolutamente sicuro di aver bisogno di sapere. Esempio: mostra una finestra di dialogo se non c'è connessione a Internet solo se non puoi visualizzare nulla senza internet, se memorizzi le cose e l'app è ancora utilizzabile ma non fresca, visualizzi qualcosa come un crostino o una notifica in-app e prova per raggiungere i tuoi dati in background e aggiornare. Fai attenzione ai dialoghi, è molto invadente – MariusBudin