본문 바로가기

전체 글253

[Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린] 정리 10 - 진동 알림 본 글은 [Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 - 이지스퍼블리싱 (2022)] 의 내용을 발췌한 것입니다. 좀더 자세한 내용은 책 혹은 인강을 통해 확인해 주세요. HTML 삽입 미리보기할 수 없는 소스 진동도 사용자 알림 효과로 많이 이용합니다. 앱에서 진동이 울리게 하려면 먼저 매니페스트 파일에 으로 퍼미션을 얻어야 합니다. 진동은 Vibrator 클래스를 이용합니다. 그런데 Vibrator 객체를 얻는 방법이 API 레벨 31(Android 12)부터 변경되었습니다. 31 이전 버전에서는 VIBRATOR_SERVICE로 식별되는 시스템 서비스를 이용했지만, 31 버전부터는 VIBRATOR_MANAGER_SERVICE로 식별되는 VibratorManager라는 시스템 서비스를 얻.. 2022. 2. 28.
[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.
[Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린] 정리 5 - 람다 함수와 고차 함수 본 글은 [Doit 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 - 이지스퍼블리싱 (2022)] 의 내용을 발췌한 것입니다. 좀더 자세한 내용은 책 혹은 인강을 통해 확인해 주세요. HTML 삽입 미리보기할 수 없는 소스 람다 함수 람다 함수는 코틀린뿐만 아니라 많은 프로그래밍 언어에서 제공하는 익명 함수anonymous function 정의 기법입니다. 람다 함수는 주로 함수를 간단하게 정의할 때 이용하며 람다식이라고도 합니다. 코틀린으로 프로그램을 작성하다 보면 람다 함수를 많이 쓰는데, 이는 코틀린에서 고차 함수를 지원하기 때문입니다. 고차 함수는 매개변수나 반환값으로 함수를 이용하는데, 람다 함수는 주고받을 함수를 간단하게 정의할 때 사용합니다. 즉, 람다 함수는 그 자체도 가치가 있지만 고차.. 2022. 2. 28.