在我的项目中,我有6个活动和4个片段。其中只有一个没有使用互联网连接。所有的按钮,社交网络api的bla bla bla使用互联网。因此,如果我们计算,如果没有连接,至少60行代码会产生致命错误。
对所有这些行使用checkConnection方法 对我来说听起来不好。所以,问题是;我应该如何以及在何处使用此连接检查程序?任何人都有一个好的策略?
编辑:我的连接检查非常简单。只检查它的被叫时间和是否没有连接;说“没有联系”并返回之前的活动。
答案 0 :(得分:1)
public class ConnectionDetector {
public static boolean isConnectingToInternet(Context _context){
ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null)
{
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
return false;
}
public static boolean isConnectedToWIFI(Context context){
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWifi.isConnected()) {
return true;
}
return false;
}
}
答案 1 :(得分:1)
我会对任何web基础端点使用包装器方法并在那里编写此代码,该方法应该向UI返回一个布尔值或枚举值,以便您处理这些情况并告诉用户如果有什么是错误的(如没有连接,低连接等..)