2017-01-15 36 views
-1

我正试图检查启动画面上的服务器连接。我想如果服务器在线,然后我想下载数据,如果服务器不ping,我需要显示错误。我想用户功能服务器状态检查类似下面检查布尔状态的困难

static public boolean isServerReachable(Context context) { 
ConnectivityManager connMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo netInfo = connMan.getActiveNetworkInfo(); 
if (netInfo != null && netInfo.isConnected()) { 
    try { 
     URL urlServer = new URL("your server url"); 
     HttpURLConnection urlConn = (HttpURLConnection) urlServer.openConnection(); 
     urlConn.setConnectTimeout(3000); //<- 3Seconds Timeout 
     urlConn.connect(); 
     if (urlConn.getResponseCode() == 200) { 
      return true; 
     } else { 
      return false; 
     } 
    } catch (MalformedURLException e1) { 
     return false; 
    } catch (IOException e) { 
     return false; 
    } 
} 
return false; 

}

,但我不知道我怎么可以用这种方法。我想下面的代码

boolean isServerReachable; 
    if (isServerReachable=true){ 

    } 
    else 
    { 

    } 

但是这显示我布尔isServerReachable;从未使用过。

如果我尝试这样

boolean isServerReachable; 
 
     if(isServerReachable(SplashsActivity.this)){ 
 
      if (isServerReachable==true){ 
 

 
      } 
 
      else { 
 

 
      } 
 
     }
其显示变量isServerReachable可能没有被初始化

是否有人可以帮助我什么我失踪?也许这是非常简单和愚蠢的问题,但我还在学习,所以请帮助我。由于

+1

它使用'尝试,如果(isServerReachable)'或'如果(isServerReachable ==真)'大概工作:) –

+0

@ρяσѕρєяK它显示我不能解析符号isServerReachable –

+1

哦~~,使用'错误,如果(isServerReachable(语境当前类))'这两个布尔变量和方法名称是相同的 –

回答

0

如果布尔isServerReachable是一个局部变量则没有得到默认值,他们有初始化。 ...局部变量在使用之前应该用值初始化。类似这样的:boolean isServerReachable = false编译器会抱怨,因为默认情况下局部变量没有被赋值。

boolean isServerReachable = false; 
    if(isServerReachable(SplashsActivity.this)){ 
     if (isServerReachable==true){ 

     } 
     else { 

     } 
    } 

这将解决这个问题其显示变量isServerReachable可能不会被初始化问题。

0

你可以,如果条件内调用的方法 -

if(isServerReachable(context_value)) 
{ 

} 
else 
{ 

} 

你目前正在使用(如下)不调用方法的代码。它实际上真值赋给变量 - isServerReachable,这是从来没有在使用“if'or‘其他’块

boolean isServerReachable; 

    if (isServerReachable=true){ 

    } 
    else 
    { 

    } 
+0

如果我尝试像你告诉它给我的错误,变量isServerReachable可能没有被初始化。 –

+0

这是行不通的,因为你的布尔值如何检查服务器是否存在或没有任何主机地址和端口地址 –