Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 显示错误消息的最佳实践_Android - Fatal编程技术网

Android 显示错误消息的最佳实践

Android 显示错误消息的最佳实践,android,Android,向用户显示错误消息的最佳方式是什么? 假设以下场景(例如,此问题与常见问题有关,在服务、线程等中可能发生错误): 我们为一些屏幕加载一些数据 发生错误(Internet不可用、服务器异常、其他异常…) 如何显示错误?可能的解决办法: 显示祝酒词-最简单的方法,但不是最好的(对于许多错误,我们将看到许多祝酒词,即使应用程序在后台工作) 在屏幕的某个地方显示错误(例如,gmail在列表底部显示“无连接”,并建议重试) 你有什么经验?如何显示用户错误?有没有一些指南解释什么是最好的方法?除了敬酒之外,

向用户显示错误消息的最佳方式是什么?

假设以下场景(例如,此问题与常见问题有关,在服务、线程等中可能发生错误):

  • 我们为一些屏幕加载一些数据
  • 发生错误(Internet不可用、服务器异常、其他异常…)
  • 如何显示错误?可能的解决办法:

  • 显示祝酒词-最简单的方法,但不是最好的(对于许多错误,我们将看到许多祝酒词,即使应用程序在后台工作)
  • 在屏幕的某个地方显示错误(例如,gmail在列表底部显示“无连接”,并建议重试)
  • 你有什么经验?如何显示用户错误?有没有一些指南解释什么是最好的方法?

    除了敬酒之外,什么都可以。 看看克劳顿:
    我使用了alertDialog。。参考图片。进一步谷歌它

    供用户注意

    对于表单验证编辑文本,请使用
    editText.setError(“您的错误消息”)
    方法

    用于internet连接的连接失败

    用于Internet的连接失败,请重试

    更新1

    为了显示一些自动终止信息/消息,我们使用
    Toast
    例如,通知用户您的
    电子邮件已成功发送。
    我们可以像下面这样使用Toast

    Toast.makeText(上下文,“电子邮件已成功发送”,持续时间).show()

    注意:用户无法与默认toast交互,另请参见

    另一个选项是使用新的
    Snackbar


    希望这会有所帮助

    我想说,这取决于您的应用程序当前是否有可见的活动。如果是这样的话,您可以使用已经建议的任何技术,而不会让用户对上下文等产生混淆


    如果错误/消息源于后台代码(例如服务),而您的应用程序未处于活动状态,则a是一个不错的选择。另外,请查看网站上描述的指导原则/模式。

    这取决于应用程序,以及应用程序在满足此要求后能够做什么 错误

    谷歌在报告中建议的两种处理此类消息的方法是:

    (在本例中,显示警报对话框):

    以及:

    举个例子:一些数据是从远程服务器请求的,但是由于一些错误或异常,提取失败,并且没有返回任何数据

    在这一点上,错误消息的类型将取决于应用程序在没有数据的情况下从那时起的运行方式。如果应用程序将按原样运行,这意味着获取类似于后台更新,那么适当的显示应该是Snackbar。为什么?

    从指南中:

    snackbar通过在屏幕底部显示一条简短消息来提供有关操作的轻量级反馈。snackbar可以包含一个动作

    轻量级才是真正的原因。如果应用程序将在没有后台数据提取的情况下运行,则不应使用消息阻止UI。只要让用户知道事情并没有按他们应该的方式进行,这样他就可以做一些事情,如果他在乎的话

    以下是一个来自以下方面的示例:

    代码:the

    永远不要用吐司。祝酒辞太小,太简短,可能会被忽略。使用弹簧条

    但是,如果应用程序无法正常运行,或者只显示一个没有数据的空白屏幕,那么正确的做法是显示一个警报对话框

    没有人希望看到的只是一个空白屏幕,如果你不能用数据填充它,你需要给用户一个屏幕,让他们可以执行其他功能,即使是退出应用程序

    从警报指南中:

    警报会通知用户需要他们提供警报的情况或操作 进行前的确认或确认。它们不同 根据事故的严重程度和影响,外观略有变化 传达的信息

    警报具有中断性、紧急性,会阻止用户继续 直到他们做出决定

    从snackbar中消除歧义:与警报相比,snackbar 提供可选但重要的信息或操作,通常 在动作后出现。例如,使用警报进行确认 放弃汇票。使用快捷键显示撤消操作,因为 该操作是可选的,用户可以继续其主操作 不采取行动的任务


    因此,如果没有这些数据,应用程序无法正常运行,请使用。

    谢谢。但最好至少有一个代码示例。那个警告图标,是内置的Android drawable还是您自己的drawable?您应该只在发生非常重要的事情时显示一个对话框,您需要用户的确认,或者您需要绝对确保他们需要知道。示例:如果没有internet连接,则仅当没有internet无法显示任何内容时,才会显示一个对话框;如果缓存内容且应用程序仍然可用但不新鲜,则会显示类似于crouton或应用程序内通知的内容,并尝试在后台访问数据并刷新。小心使用对话框,这很容易造成干扰。不推荐使用Routon-->您应该使用Snackbar