2017-01-15 38 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

這是行不通的,因爲你的布爾值如何檢查服務器是否存在或沒有任何主機地址和端口地址 –