예전에 네이버 API 를 이용해 스터디용 영화검색 app 만들었는데, 망연결 상태도 확인안하고 무조건 server에 요청해서
서버에 응답이 없음이라는 결과를 얻기까지 시간이 많이 걸렸었다.
이제는 요청전에 네트워크 상태를 확인해보자.
ConnectivityManager connectManager = (ConnectivityManager) getSystemService(this.CONNECTIVITY_SERVICE);
boolean isWifiOn = connectManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
AndroidManifest.xml 에 다음과 같이 추가한다.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
실시간으로 받고 싶다면 ?
broadcast 를 만들고 intenr-filter에 해당 코드를 넣어준다.
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
* 중요한 것은 네트워크 상태를 언제 확인하느냐가 중요하다. server 와 통신이 잦은 어플이라면
요청시에 network check 를 해서 보낼 것인지, broadcast 로 받아 flag 값을 값을 통해 확인 할 것인지는
server 와 통신하는 양의 차이일 것이다.
'Android > 개발팁' 카테고리의 다른 글
EditText 테두리 없애기 (0) | 2013.02.26 |
---|---|
Android click 과 longclick 구분 방법 (0) | 2013.01.08 |
Android 스크린 사이즈와 layout size 구하기 (0) | 2012.11.28 |
ListView 에 제목줄 을 달아 보자 (0) | 2012.11.15 |
Text 관련 처리 (한줄 넘어가는 현상) (0) | 2012.11.14 |