안드로이드 폰의 해상도는  굉장히 다양합니다. 
OS 버전도 다양하구요.

우리나라는  480x800 이 월등히 많지만 , 옆나라 중국만해도  저 해상도 안드로이드 폰들 무자게 많습니다.
또한  갤럭시 탭처럼   해상도가  커지는 것도 있구요.

대부분 480x800 일거라는  가정을 하면 안된답니다.

그러므로  안드로이드 앱을 만들 때는     해당도가  뭐 일거라는 추측을 가지고 만들면  호환성에 문제가 된답니다.

그래도  해상도를  구하고 싶다면,

WindowManager mWMgr = 
(WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
int width = mWMgr.getDefaultDisplay().getWidth();
int height = mWMgr.getDefaultDisplay().getHeight(); 

이렇게 하면  나오기는 합니다.


그런데,   이것을  사용하기 위한   전제 조건이 있답니다.


http://developer.android.com/guide/practices/screens_support.html


여기 글에 보면  잘 설명 되어 있는데요. 


아래  2가지 태그를 이용하여    APP 이 지원하는 해상도를  결정한다고 되어 있습니다.
<uses-sdk android:minSdkVersion="integer" 
         
android:targetSdkVersion="integer"
         
android:maxSdkVersion="integer" />

<supports-screens
       
android:smallScreens="true"
       
android:normalScreens="true"
       
android:largeScreens="true"
       
android:xlargeScreens="true"
       
android:anyDensity="true" />

즉 2 태그  모두 없을 때나,

<uses-sdk android:minSdkVersion="3" >  처럼,    OS 1.5 호환으로 주면, 

OS  1.5 호환 앱으로 간주해서   갤럭시탭 같은 곳에서   "도시락" 화면 이라고 하던거 같던데요. 
 
화면 가운데   여백을 남기고  출력하게 된답니다.

실제로  이렇게 하시면,    위 코드의  width, height 값이  엉뚱한 값이 나온답니다.


자신이 아는 팁을 공유하는 것을 좋지만, 

잘못된 정보를  알게 되었다면,  다른 분들을 위해서라도  그 내용을 남겨두는 것이 어떨까 합니다.


내가 한 실수를 다른사람들이라고 하지 말라는 법도 없고,
오히려 이런 실수의 글들이  더 확실한 도움이 되거든요.


제 글도 찾아보시면  잘못 알고  올린글도 있고,  여러분들이  제대로된 내용을  댓글로 올려주셔서 
저도 제대로 알게되고,   
제가 올린 잘못된 글을 보시는 분들도 ,  아 저렇게 오해 할 수 도 있구나...

하고 볼수 있거든요...



수고하세요!