android - 在客户端处理发布状态

标签 android ios react-native mobile

这更像是一个关于如何在客户端应用程序中设计/实现 POST 操作的一般性问题,尤其是当它是移动应用程序时。

无论您要POST什么东西到服务器,例如,如果您正在构建博客,则为博文;如果是聊天应用,则为聊天消息;如果是 Twitter,则为推文,您想知道操作是否成功。

让我们举一个 Twitter 的例子。

基本要求如下:

  1. 当您发布推文时,该推文在操作结束之前会在时间线中显示为正在发送状态。显示为 View 的最常见方法是使推文模糊。
  2. 操作成功后,假设推文已发布并且所有关注者都可以看到,推文会变成纯色,让用户知道推文是实时的。
  3. 如果操作不成功,推文会显示一个红色的 ! 标记,并告诉用户这条推文发布失败,他们可以稍后重试。

这很容易通过 3 种不同的状态来完成,POSTING & SUCCESS & FAIL,并通过检查状态代码来回切换服务器。

我的问题是,当用户在发推后立即关闭应用程序(在后台)时,我们如何处理这种情况?在简单的实现中,我们将无法从服务器获取状态代码并保持状态 POSTING

是否有任何最佳实践可以使此操作变得易于处理?

最佳答案

您可以执行以下几项操作:

1) 发送帖子已完成的推送通知。这将唤醒接收器并允许您更新状态。

2)当您的应用程序启动时,向服务器查询那些处于 POSTING 状态的项目并查看它们是否完成。

这些实际上并不相互排斥,因为 2 对于不知何故丢失的推送消息来说是一个故障保护。

关于android - 在客户端处理发布状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52157189/

相关文章:

java - 当您添加超过 3 个元素时,底部导航栏会中断

android - Kotlin 类的调用方法

ios - 在 View iOS8 之间切换时的动画/过渡

c# - 如何从 Xamarin.forms 中的按钮单击从一页移动到另一页

ios - React Native Firebase 错误线程 1 SIGABRT - iOS

java - 分配新对象是否会自动销毁先前分配给同一数据成员的对象?

android - 从支持库添加 Android AppCompat ActionBar

ios - UIPageViewController 上未选择 UITableView didSelectRowAtIndexPath

javascript - 合并 createStackNavigator 和 createBottomTabNavigator?

reactjs - 在移动期间响应 native 停止平移手势