마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드초보입니다 코드 해석 부탁드립니다

0 추천
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();

단말기 해상도를 구하는건데 책에 이렇게 나와있습니다. 검색을 해봐도 잘 모르겠습니다 getSystemService(...)가 뭔지 WindowManager나 디스플레이는 그래도 많은 자료도 있고 대충은 알겠는데 getDafauktDisplay도 모르겠습니다 

달려갑니다 (280 포인트) 님이 2019년 9월 6일 질문

1개의 답변

0 추천

해당 코드는 아래와 같이

 Context에서 WindowManager를 구하고,

  WindowManager 함수에서 DefaultDisplay를 

구하는 것으로 이루어져 있습니다.

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();.

 

이걸 이해 하려면 

Context에 대해 아셔야 합니다. Context에 대해선 

https://arabiannight.tistory.com/entry/272 를 참조해 보세요

 

getSystemService 는 Context 의 메소드로 시스템 서비스 정보를 구하고 수정 가능을 위핸 객체를 반환하는 메소드로 

미리 정의 된 이름 (ex Context.WINDOW_SERVICE) 을 주면 해당 객체를 반환합니다.

단지 반환되는 객체가 여러 형식이다 보니 모든 자바 객체가 상속 받은 Object 객체를 반환하고,

실제 사용시에는  (WindowManager)  같은 것으로 캐스팅 해서 사용하는 것입니다.

 

 

 

익명사용자 님이 2019년 9월 9일 답변
덕분에 공부가 많이 되었습니다 감사합니다~~
...