2011-05-16 72 views
0

您认为如何处理无网络连接的最佳方法是?最佳实践 - 无网络连接

我未来的应用很大程度上依赖于网络,没有它就没有任何关系。

我看到以不同方式处理情况的应用程序。

当我没有连接的时候,例如ebay应用程序有时会拉出最后保存的数据,但有时候它会清除所有的东西。 PayPal应用程序会将我注销,否则它只会崩溃。其中一个新闻应用程序将继续说加载...

有没有最好的实践呢?

应用程序是否继续尝试并显示加载消息,添加刷新按钮或只是自动关闭应用程序?

谢谢

+1

不是一个真正的编程问题,而是一个设计:)它也与处理NSURLConnection类无关...... – 2011-05-16 15:33:04

回答

0

正确处理“无网络”条件完全取决于您的应用程序。

需要注意的两件事:以编程方式关闭应用程序或不能平稳处理“无法连接”情况都是Apple审核过程中拒绝的原因。

经与设计,而且还严重依赖于网络是可用的应用程序有经验,我会说,最好的做法可以在以下概括:

1)使用Reachability框架,以检测哪种连接的你有;我链接到的版本将优于Apple提供的版本,这是一个错误(有关这方面的更多信息,请参阅S.O)。 2)每次你需要网络数据时,检查连接是否回来(即不是一开始就是一次);

3)总是通知用户没有网络可用,当发生这种情况时,通过显示警报或更好地显示某种其他类型的图标/消息;最不干扰的显示类型是最好的,所以不会破坏用户的工作流程; 4)如果你有缓存的数据,这是有道理的,当没有网络连接可用时使用缓存数据(这将使应用程序在这种情况下“部分可用”); 5)为用户提供一个刷新数据的按钮,如果这对你的应用程序有意义的话;

这就是说,这个“最佳实践”最简单的实现是一个应用程序,如果没有连接可用,将用户带回到“主屏幕”(丑陋的,但它可能是你的唯一明智的东西应用程序)。完整的实现是,例如,一个rss阅读器缓存所有的新闻,并允许你读取它们,即使没有连接(显然没有加载新的数据)。

+0

这就是我以前的样子。谢谢 – user643097 2011-05-16 18:54:06

0

最简单的事情第一:你应该永远自己关闭应用程序,你永远不应该崩溃。

如果在您的情况下显示旧数据是适当的,只要这样做,也许在屏幕上添加一些通知,用户处于脱机状态。

如果在没有在线访问的情况下没有任何用处可以做,灰色的东西都可以用或者使用类似的技术。

继续尝试在后台重新连接(即监听网络可用性更改)并正确运行。

有一点需要记住:使用移动设备时,通常会出现短暂的断开连接,需要进行适当的处​​理。

0

如果在你的应用程序没有网络连接则是更好地说:“没有网络连接”之类的消息,而不是显示加载/刷新等

或者存储在数据库中的数据也将是一个不错的选择至少用户可以在离线模式下播放数据,而且您的应用程序也可以在离线模式下使用。 (正如你所提到的我未来的应用很大程度上依赖于网络,没有它将无关))。

请确保您的应用程序在网络不可用时不会崩溃。