안드로이드에서 네트워크 상태를 알아오는 클래스입니다. 서버와 통신을 하는 어플리케이션이라면 당연히 빠질수 없는 기능일것입니다. AndroidManifest.xml에 다음을 추가합니다.
[code xml]<uses-permission
android:name=”android.permission.INTERNET”/>
<uses-permission
android:name=”android.permission.ACCESS_NETWORK_STATE”/>[/code]
다음은 예제 코드입니다.
[code java]public class NetworkUtil
{
public static final int NETWORK_WIFI = 0;
public static final int NETWORK_3G = 1;
public static final int NETWORK_NONE = 2;
public static int checkStatus(Context context)
{
final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if(wifi.isAvailable())
{
return NETWORK_WIFI;
}
else if(mobile.isAvailable())
{
return NETWORK_3G;
}
else
{
return NETWORK_NONE;
}
}
}[/code]
이 소스는 제 취향대로 만들어 놓았지만 중요한것은 상단의 3줄입니다. CONNECTIVITY_SERVICE를 이용하여 네트워크 상태를 알아올 수 있습니다.