본문 바로가기

android tech.

(27)
View 사이즈 측정을 위해 ViewTreeObserver 사용 안드로이드에서 View 의 크기(width, height)를 얻을 수 있는 시점이 애매하다. activity가 실행 초기에 특정 view의 크기를 얻어야하는 경우, 대부분 view.getWith() = 0, view.getHeight() = 0 인 결과를 얻었을 것이다. onResume() 후에 view들의 측정이 끝나기 때문이다. 이럴때 ViewTreeObserver를 사용하면 도움이 될 것이다. ViewTreeObserver ob = view.getViewTreeObserver();ob.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() { // 측정 ViewTreeObserver ob..
안드로이드 HTTP 통신 안드로이드는 HttpURLConnection 과 Apache HttpClient, 이 두가지 HTTP 클라이언트를 사용한다. 진저브레이드 이상의 버전은 HttpURLConnection을 추천한다. HttpClient 에는 버그도 존재한다고 하는데, 자세한 내용은 Android's HTTP Clients 를 참조하기 바란다. HttpURLConnection 사용예 URL url = new URL(urlString); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setReadTimeout(10000 /* milliseconds */); conn.setConnectTimeout(15000 /* milliseconds */); c..
안드로이드 네트워크 연결 상태 체크 안드로이드 네트워크의 제일 기본은 manifest에 등록하는 것이다. 이렇게 해야 통신을 할수 있고, 네트워크 상태를 체크할 수 있다. ConnectivityManager connMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); boolean isWifiConn = networkInfo.isConnected(); networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); boolean isMobileConn = ..