2013-01-18 12 views
28

Qual è il modo migliore di visualizzare i messaggi di errore per l'utente?Best practice per la visualizzazione dei messaggi di errore

assumere il seguente scenario (solo per esempio, il quesito riguarda problema comune, quando si può verificare l'errore in servizio, nel thread etc.):

  1. Abbiamo caricare alcuni dati per alcune schermo
  2. Errore (Internet non disponibile, eccezione server, altre eccezioni ...)

Come visualizzare l'errore? Possibili soluzioni:

  1. Mostra toast - il modo più semplice, ma non è il migliore (per molti errori vedremo tanti brindisi, anche se l'applicazione funziona in background)
  2. Visualizza errore da qualche parte nella schermata (ad es. gmail mostra "Nessuna connessione" in fondo alla lista e propone di riprovare)

Qual è la vostra esperienza? Come mostri gli errori degli utenti? C'è qualche guida che spiega qual è il modo migliore?

risposta

25

Ho usato la finestra di dialogo di avvertimento .. riferire le immagini. futher google it

Per l'utente Attenzione.

enter image description here

per la forma di convalida modificare testi usano editText.setError("Your error message") metodo

for form Validation edit

per la connessione internet non è riuscito

enter image description here

per il collegamento internent riuscita con tentativi.

enter image description here

Aggiornamento 1

Per mostrare un po 'di auto sospendere informazioni/messaggio usiamo Toast ad esempio notificare un utente che il vostro Email was sent Successfully. possiamo utilizzare Toast come qui di seguito

enter image description here

Toast.makeText (context, "Email è stata inviata con successo ly. ", durata).show()

Nota: l'utente non può interagire con pane tostato predefinita, vedere anche Custom Toast Layout

Un'altra opzione è quella di utilizzare il nuovo Snackbar

enter image description here

Spero che questo sarà utile

+2

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

+1

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

1

Direi che dipende dal fatto che l'applicazione attualmente abbia un'attività attiva visibile o meno. Se è così puoi utilizzare una delle tecniche già suggerite senza confondere l'utente sul contesto, ecc.

Se l'errore/messaggio proviene da un codice di background, ad esempio un servizio, e l'applicazione non è attiva, un notification è un buon alternativa. Inoltre, dai un'occhiata alle linee guida/schemi descritti sul sito developer.

12

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):

Alert Dialog

e Snackbars:

Snackbar

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:

enter image description here

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.

Problemi correlati