不确定如何处理Android App中没有连接

时间:2011-11-17 20:12:20

标签: android exception connection xml-parsing socketexception

我正在制作一个应用程序,将RSS Feed解析为SQLite数据库,然后从中读取以填充帖子列表。数据库就在那里,即使没有连接,用户也可以查看之前检索过的帖子。

我把所有的解析都放到了try-catch中;但是,当它捕获异常时,应用程序崩溃。有没有办法优雅地处理这个异常,所以它只是跳过读取数据库中的内容?我已经考虑过使用SocketExceptionXmlPullParserException,但这些会带来更多错误或不会影响问题。

1 个答案:

答案 0 :(得分:1)

抛出哪个异常?您可以在try / catch语句的末尾添加一个通用的异常处理程序。 e.g。

try {
  //...your code here
} catch (XmlPullParseException xe) {
  //log error
} catch (SocketException se) {
  //log error
} catch (Exception e) {
  //log error
}

您还可以在使用以下静态方法进行呼叫之前检查有效连接:

public static boolean isOnline(Context context) {
   ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
   NetworkInfo netInfo = cm.getActiveNetworkInfo();
   if (netInfo != null && netInfo.isConnectedOrConnecting())
      return true;
   else
      return false;
}

确保添加:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
如果你使用那个电话,

到你的机器人清单