본문 바로가기

업무 관련/그날의 밥값

안드로이드 태블릿 기기에 모바일 앱 설치가 가능한 이유와 해상도가 깨지지 않는 이유

케이XX넷 현업의 Monkey Tester가 한 질문이다.



Q. 안드로이드 태블릿 기기에 모바일 앱 설치가 왜 가능한가요?

-> 개발자가 안드로이드 OS 특성을 살렸기 때문입니다.


안드로이드는 하나의 플랫폼으로써 다양한 크기의 폼팩터를 지원하게끔 설계돼 있다. 한 번 생각해보자. 안드로이드는 '형태'로 구분된다기보다는, 연속성(Continuum)에 가까운 개념이다. 

개발자가 여러 크기의 디스플레이를 지원하도록 최적화 작업을 하지 않았다 하더라도, 안드로이드 기기 크기에 따라 앱 설치를 제한해서는 안된다. 안드로이드 태블릿 앱과 안드로이드 스마트폰 앱을 별개로 취급할 근거가 없기 때문이다.

결론적으로 잘못된 인식을 가진 개발자와 무지한 전문가들에게만 '안드로이드 태블릿 앱'이라는 개념이 존재한다. 실제로는 그냥 '안드로이드 앱'만 존재할 뿐이다. 화면이 작은 스마트폰, 화면이 큰 태블릿 모두에서 앱을 구현할 수 있다. 설계와 디자인에 공을 들였다면, 화면 크기에 따라 더욱 지능적으로 최적화가 될 것이다. 최적화를 하지 않아도 크기가 조정되며, 기능은 완벽하게 작동한다.

Read more: http://www.itworld.co.kr/opinion/91765#csidxb3e555e108b236d905db9ad6a4726b3 
Copyright © LinkBack




Q. 태블릿 기기에 모바일 앱을 설치했는데 왜 해상도가 깨지지않나요?

-> dp 개념을 이용했기 때문입니다.


dp는 밀도에 구애받지 않는 픽셀 단위이다.

아래 이미지에서 보여주듯이 저/중/고 밀도 화면에서 거의 동일한 크기로 출력된다.


Density-independent pixel (dp)

A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way.

The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp units when defining your application's UI, to ensure proper display of your UI on screens with different densities.

Figure 3. Example application with good support for different densities (it's density independent), as shown on low, medium, and high density screens.

In figure 3, the layout dimensions are specified in density-independent pixels (dp units). Because the baseline for density-independent pixels is a medium-density screen, the device with a medium-density screen looks the same as it does in figure 2. For the low-density and high-density screens, however, the system scales the density-independent pixel values down and up, respectively, to fit the screen as appropriate.

Read more: https://developer.android.com/guide/practices/screens_support.html