본문 바로가기

doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린23

[Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린] 정리 9 - 화면 정보 가져오기 본 글은 [Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 - 이지스퍼블리싱 (2022)] 의 내용을 발췌한 것입니다. 좀더 자세한 내용은 책 혹은 인강을 통해 확인해 주세요. 안드로이드 시스템은 기본으로 크기 호환성을 지원하지만 때로는 개발자가 직접 코드에서 조정할 수도 있습니다. 이때 기기의 크기 정보를 가져와야 합니다. 그런데 기기의 크기 정보를 가져오는 방법은 API 레벨 30 버전과 이전 버전에서 차이가 있습니다. 30 이전 버전에서는 DisplayMetrics로 크기 정보를 가져왔지만 30 버전부터는 이 방법을 지원하지 않고(deprecation), WindowMetrics를 이용해야 합니다. 따라서 다음처럼 30 버전을 기준으로 버전을 구분해서 작성해야 합니다. 다음 코드는 기기의 .. 2022. 2. 28.
[Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린] 정리 8 - 터치와 키 이벤트 본 글은 [Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 - 이지스퍼블리싱 (2022)] 의 내용을 발췌한 것입니다. 좀더 자세한 내용은 책 혹은 인강을 통해 확인해 주세요. HTML 삽입 미리보기할 수 없는 소스 터치 이벤트 앱의 화면에서 발생하는 사용자 이벤트는 터치touch입니다. 터치란 손가락으로 화면을 잠시 눌렀다가 떼는 행위를 말합니다. 앱은 사용자의 터치를 인식하고 화면을 손가락으로 눌렀는지 떼었는지 스와이프swipe했는지에 따라 알맞게 동작하도록 구현합니다. 이처럼 앱의 화면에서 발생하는 사용자의 터치 이벤트를 처리하고 싶다면 액티비티 클래스에 터치 이벤트의 콜백 함수인 onTouchEvent()를 선언하면 됩니다. 콜백 함수란 어떤 이벤트가 발생하거나 시점에 도달했을 때 시스템.. 2022. 2. 28.
[Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린] 정리 7 - 선형으로 배치 ― LinearLayout 본 글은 [Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 - 이지스퍼블리싱 (2022)] 의 내용을 발췌한 것입니다. 좀더 자세한 내용은 책 혹은 인강을 통해 확인해 주세요. HTML 삽입 미리보기할 수 없는 소스 06장에서 다루었듯이 레이아웃 클래스는 화면을 독자적으로 출력하지 않고 다른 뷰 객체를 포함하는 일종의 그릇 역할을 합니다. 안드로이드가 제공하는 레이아웃 클래스는 저마다 뷰를 배치하는 규칙이 있습니다. 지금부터 대표적인 레이아웃 클래스 5가지를 살펴보겠습니다. LinearLayout 배치 규칙 LinearLayout은 뷰를 가로나 세로 방향으로 나열하는 레이아웃 클래스입니다. orientation이라는 속성에 horizontal이나 vertical값으로 방향을 지정합니다. Line.. 2022. 2. 28.
[Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린] 정리 6 - 뷰 바인딩 본 글은 [Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 - 이지스퍼블리싱 (2022)] 의 내용을 발췌한 것입니다. 좀더 자세한 내용은 책 혹은 인강을 통해 확인해 주세요. HTML 삽입 미리보기할 수 없는 소스 뷰 바인딩view binding은 레이아웃 XML 파일에 선언한 뷰 객체를 코드에서 쉽게 이용하는 방법입니다. 안드로이드는 UI를 구성할 때 대부분 레이아웃 XML 파일을 이용합니다. 레이아웃 XML 파일에 등록한 뷰는 findViewById() 함수로 얻어서 사용해야 합니다. 이미 06-2절에서 살펴본 내용이지요. 그런데 이 작업은 꽤 귀찮습니다. 한 화면을 구성하는 데만도 많은 뷰가 필요하고, 또 뷰는 대부분 코드에서 이용합니다. 따라서 코드에서 뷰 객체를 선언하고 모두 find.. 2022. 2. 28.