2013-01-18 47 views
28

Cách tốt nhất để hiển thị thông báo lỗi cho người dùng là gì?Thực tiễn tốt nhất để hiển thị thông báo lỗi

Giả sử kịch bản sau (chỉ là ví dụ, câu hỏi này liên quan đến vấn đề thường gặp, khi lỗi có thể xảy ra trong dịch vụ, trong các chủ đề, vv):

  1. Chúng tôi tải một số dữ liệu đối với một số màn hình
  2. Lỗi xảy ra (Internet không khả dụng, ngoại lệ máy chủ, các ngoại lệ khác ...)

Làm thế nào để hiển thị lỗi? giải pháp khả thi:

  1. Hiện nâng cốc chúc mừng - cách đơn giản nhất nhưng nó không phải là tốt nhất (đối với nhiều lỗi chúng ta sẽ thấy nhiều nâng cốc chúc mừng, ngay cả khi ứng dụng hoạt động ở chế độ nền)
  2. Hiển thị lỗi ở đâu đó trong màn hình (ví dụ: gmail hiển thị 'Không có kết nối' ở cuối danh sách và đề nghị thử lại)

Trải nghiệm của bạn là gì? Làm thế nào để bạn hiển thị lỗi người dùng? Có một số hướng dẫn giải thích cách tốt nhất không?

Trả lời

25

Tôi đã sử dụng alertDialog .. tham chiếu Hình ảnh. futher google it

Dành cho người dùng Chú ý.

enter image description here

để chỉnh sửa văn bản dưới hình thức Validation sử dụng phương pháp editText.setError("Your error message")

for form Validation edit

cho kết nối internet không

enter image description here

cho kết nối internent thất bại với thử lại.

enter image description here

Cập nhật 1

Đối hiển thị một số tự động chấm dứt thông tin/tin nhắn chúng tôi sử dụng Toast ví dụ thông báo cho người dùng rằng Email was sent Successfully. của bạn Chúng tôi có thể sử dụng Toast như dưới đây

enter image description here

Toast.makeText (ngữ cảnh, "Email đã được gửi thành công ly. ", thời lượng).show()

Lưu ý: Người dùng không thể tương tác với Mặc định bánh mì nướng, Xem thêm Custom Toast Layout

Một lựa chọn khác là sử dụng mới Snackbar

enter image description here

Hy vọng điều này sẽ rất hữu ích

+2

Cảm ơn bạn. Nhưng sẽ tốt đẹp với ít nhất một ví dụ mã. Và biểu tượng cảnh báo đó là Android có thể vẽ được hay là một trong những sản phẩm có thể vẽ của riêng bạn? – RenniePet

+1

Bạn chỉ nên hiển thị hộp thoại khi có điều gì đó rất quan trọng xảy ra và bạn cần xác nhận của người dùng hoặc bạn cần phải chắc chắn họ cần biết. Ví dụ: bạn hiển thị hộp thoại nếu không có kết nối internet nếu bạn không thể hiển thị bất kỳ nội dung nào không có internet, nếu bạn lưu trữ mọi thứ và ứng dụng vẫn có thể sử dụng nhưng không được hiển thị, bạn sẽ hiển thị nội dung như crouton hoặc thông báo trong ứng dụng và thử để tiếp cận dữ liệu của bạn dưới nền và làm mới. Hãy cẩn thận với các hộp thoại, nó rất xâm nhập – MariusBudin

1

Tôi sẽ nói rằng nó phụ thuộc vào thời tiết của bạn ứng dụng của bạn hiện đang có một hoạt động có thể nhìn thấy hoạt động hay không. Nếu có, bạn có thể sử dụng bất kỳ kỹ thuật nào đã được đề xuất mà không gây nhầm lẫn cho người dùng về ngữ cảnh, v.v.

Nếu lỗi/tin nhắn bắt nguồn từ mã nền ví dụ: dịch vụ và ứng dụng của bạn không hoạt động, notification là tốt thay thế. Ngoài ra, hãy xem các nguyên tắc/mẫu được mô tả trên trang web developer.

12

Tùy thuộc vào ứng dụng và ứng dụng sẽ có thể làm gì khi đã gặp lỗi này .

Hai phương pháp mà Google gợi ý trong Material Design Guide để đối phó với các loại thư là:

Dialogs (trong trường hợp này Alert Dialog):

Alert Dialog

Snackbars:

Snackbar

Tới u se ví dụ của bạn: Một số dữ liệu được yêu cầu từ một máy chủ từ xa, nhưng vì một số lỗi hoặc ngoại lệ, tìm nạp không thành công và không có dữ liệu được trả về.

Tại thời điểm này, loại thông báo lỗi sẽ tùy thuộc vào cách ứng dụng sẽ hoạt động từ thời điểm đó mà không có dữ liệu đó. Nếu ứng dụng sẽ thực hiện như vậy, nghĩa là tìm nạp là một điều gì đó giống như cập nhật nền, điều thích hợp để hiển thị sẽ là một Snackbar. Tại sao?

Từ Guide:

tiệm cung cấp phản hồi nhẹ về một hoạt động bằng cách hiển thị một thông điệp ngắn gọn ở dưới cùng của màn hình. Snackbars có thể chứa một hành động.

Trọng lượng nhẹ thực sự là lý do tại đây. Nếu ứng dụng sẽ hoạt động mà không cần tìm nạp dữ liệu nền đó, bạn không nên chặn giao diện người dùng bằng tin nhắn. Chỉ cần cho người dùng biết mọi thứ đã không làm việc theo cách họ nên để anh ta có thể làm điều gì đó về nó nếu anh ta quan tâm.

Dưới đây là một ví dụ lấy từ guide:

enter image description here

Đối với mã: các Developer Docs on Snackbars

Không bao giờ sử dụng một Toast. Bánh mì nướng là quá nhỏ, quá ngắn và có thể đi bằng cách không được chú ý. Sử dụng một Snackbar.

Nhưng, trong trường hợp ứng dụng của bạn sẽ không hoạt động hoặc sẽ không hiển thị gì ngoài màn hình trống không có dữ liệu đó, điều chính xác cần làm là hiển thị Hộp thoại cảnh báo.

Không ai muốn xem gì ngoài màn hình trống và nếu bạn không thể điền dữ liệu, bạn cần cung cấp cho người dùng màn hình mà họ có thể thực hiện các chức năng thay thế, ngay cả khi đó là thoát ứng dụng .

Từ Hướng dẫn về Alerts:

Cảnh báo thông báo cho người dùng về một tình huống hay hành động mà đòi hỏi xác nhận hoặc xác nhận của họ trước khi tiếp tục. Chúng khác nhau hơi xuất hiện dựa trên mức độ nghiêm trọng và tác động của thông báo được truyền đạt.

Cảnh báo làm gián đoạn, khẩn cấp và ngăn người dùng tiếp tục cho đến khi họ đưa ra quyết định.

định hướng từ tiệm: Ngược lại với Alerts, tiệm hiện thông tin hay những hành động không bắt buộc nhưng quan trọng và thường xuất hiện sau khi một hành động. Ví dụ: sử dụng thông báo để xác nhận hủy bản nháp. Sử dụng thanh đồ ăn để trình bày hành động hoàn tác, vì hành động là tùy chọn và người dùng có thể tiếp tục với nhiệm vụ chính của mình mà không thực hiện hành động.

Vì vậy, nếu ứng dụng sẽ không hoạt động nếu không có dữ liệu đó, hãy đi theo số Alert Dialog.

Các vấn đề liên quan