0

背景

所以我继承了一个安卓应用程序,它在不同的地方连接到网络服务来发送或接收信息。

就像现在一样,当连接失败时,Android 设备的用户会收到一条错误消息,对于大多数用户来说,该消息被视为晦涩难懂。

问题

所以我正在寻找的是关于如何在这个 android 应用程序中实现解决方案的模式或建议,该解决方案捕获所有 java 连接异常并显示一个对话框,告诉用户他失去了互联网连接并需要重试。

有任何想法吗?:-)

编辑,当前想法

我目前解决这个问题的想法是,或者使它更易于管理,而不是在每个可能的连接处处理问题的破碎异常处理是这样的。每个通信实例/类都将继承自一个超类,或者实现一个强制使用该类的接口。此类包含连接异常的逻辑。让我们暂时称它为 ConnectionExceptionManager。那么问题就变成了在每个 Web 服务调用中的每个通信类中的实现。在每个 Web 服务调用异常中,我需要检查通信异常,如果它命中,请在此 catch 中使用 ConnectionExceptionManager。

然而,在每个通信类中复制到请求方法中仍然会很麻烦。

关于改进我目前的这个想法有什么想法吗?

4

1 回答 1

0

我从您的问题中了解到,您需要在执行任何与互联网相关的操作之前检查互联网连接。为此,您可以简单地在全局类中创建公共静态布尔函数,即公共静态布尔 isInternetConnected(){...},以便您可以重用您的函数。

如果您希望您的应用程序自动检查 Internet 连接,那么您可以使用IntentService,它将在后台工作,并且在其受保护的抽象 void onHandleIntent(Intent Intent)中,您可以检查 isInternetConnected() 返回 true,如果不是,则可以打开 AlertDialog。

要在应用程序运行时重复间隔后使用此后台服务,您可以使用AlarmManager

希望这可以帮助。

于 2013-05-22T12:13:08.300 回答