처음에 개발에 들어가면 아무 생각없이 layout이나 drawable, dimens, strings을 만들기 마련이다. (나만 그런가....)


그래서 이번에는 앱 스토어에 올릴려면 필수적인 확장성에 대해서 공부해볼려고 한다. (오픈소스를 많이 뒤지다 보면 많이 나오기는 한다. 하지만 정리!)




[1-1] 해상도별(drawable)





일단 https://developer.android.com/guide/practices/screens_support.html?hl=ko 을 참고하면 Android 구성 한정자는 다음과 같다.









총 주로 쓰는 건 mdpi ~ xxhdpi를 쓴다. 자세히는 잘 모르겠다.




쓰는 방법은 


(1)  adobe illustrator 에서 mdpi로 작업한 다음(http://www.kmshack.kr/2013/03/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%95%B1-%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EC%A0%9C%EC%95%88%ED%95%98%EB%8A%94-%EB%94%94%EC%9E%90%EC%9D%B8-%EB%B0%A9%EB%B2%95%EB%A1%A0-3-dpi-dipdp/ 참고)에 Asset Export를 하여 dpi별로 이미지를 가져온다.


(2) 4개를 나눠진 파일을 위 2번째 사진처럼 4개의 'drawable-XXX dpi' 에 각자 저장한다.


(3) 쓰는 방법은 4개로 나뉘어도 이름은 graphic.png로 같다. 그러므로 '@drawable/graphic' 으로 쓰면 된다.


자세한 건  https://developer.android.com/guide/practices/screens_support.html?hl=ko 를 참고하면 됩니다.









[1-2] 해상도별(layout, dimens)





Android에서 지원하는 화면 구성 한정자는 다음과 같다.


https://developer.android.com/guide/practices/screens_support.html?hl=ko (참고)




위와 같은 경우를 쓰는 경우는 테블릿을 대상으로 할때는 쓰지만 모바일만 지원하는 경우는 이렇게 잘 안쓴다고 한다. 풍문


그래서 dimens을 관리한다고 한다. 잘 모르겠다.


그냥 dp를 믿고 쓴다는 거 같다.








[2] 언어별(strings)






https://developer.android.com/training/basics/supporting-devices/languages.html?hl=ko



위 링크를 확인하면 자세히 나온다.




위와 같이 나뉘어서 저장하면



위와 같이 자동으로 분류해주고 국기까지 그려준다ㅎㅎ



이렇게 하면 사용자가 기기에서 언어설정을 어떻게 해주었냐에 따라 언어가 결정된다.


values는 디폴트로 적용된다.


(예를 들면, 사용자가 기기를 스페인어로 설정해놨는데 이 앱에서는 스페인어를 지원하지 않으므로 values에 있는 언어를 가져온다. 그러므로, values는 영어로 해주는 편이 일반적이다.)







+ Recent posts