如何在UI中处理数据库事务滞后以提供良好的用户体验?

时间:2019-05-03 07:49:44

标签: android firebase-realtime-database

我正在我的android应用程序中实现社交功能,我想知道如何提供良好的用户体验。

当用户单击“ VoteUp”按钮时,我正在等待Firebase实时数据库事务完成。 由于这是异步网络调用,因此需要一段时间。

我的实际代码在事务完成时更新UI。但是用户交互和UI更新之间存在令人讨厌的延迟。

我是否应该假设事务将成功在客户端更新UI(计算和更新计数器,更改按钮状态)?如果是这样,在那种情况下如何处理错误?

1 个答案:

答案 0 :(得分:2)

不,您不应该这样做,因为如果用户无法使用,则会感到困惑。显示某种进度条。由于网络请求需要不确定的时间才能完成,因此请显示不确定的progressBar。例如,您可以在VoteUp按钮中显示一个按钮并将其禁用。请求完成后,只需显示结果即可。