在我的项目中,我有 6 个活动和 4 个片段。其中只有 1 个没有使用互联网连接。所有的按钮,社交网络 api 的 bla bla bla 使用互联网。所以,如果我们算上,如果没有连接,至少有 60 行代码会给出致命错误。
对所有这些行使用 checkConnection 方法对我来说听起来很糟糕。所以,问题是;我应该如何以及在哪里使用这个连接检查器?谁有好的策略?
编辑:我的连接检查器非常简单。只需检查它何时被调用以及是否没有连接;说“没有连接”并返回以前的活动。
在我的项目中,我有 6 个活动和 4 个片段。其中只有 1 个没有使用互联网连接。所有的按钮,社交网络 api 的 bla bla bla 使用互联网。所以,如果我们算上,如果没有连接,至少有 60 行代码会给出致命错误。
对所有这些行使用 checkConnection 方法对我来说听起来很糟糕。所以,问题是;我应该如何以及在哪里使用这个连接检查器?谁有好的策略?
编辑:我的连接检查器非常简单。只需检查它何时被调用以及是否没有连接;说“没有连接”并返回以前的活动。
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;
}
}
我会为任何 Web 基础端点使用包装器方法并在那里编写此代码,该方法应该向 UI 返回一个布尔值或枚举值,以便您处理这些情况并告诉用户有什么问题(比如没有连接,低连接等。)