#15 [Kotlin] 액티비티 컴포넌트

정상준·2022년 10월 29일
0

kotlin

목록 보기
15/26
post-thumbnail

📝인텐트

안드로이드 앱은 모두 4개의 컴포넌트로 개발하는데 이때 핵심 클래스가 Intent이다. 인텐트는 컴포넌트를 실행하려고 시스템에 전달하는 메시지이다.

액티비티에서 다른 액티비티를 실행하며 데이터를 전달해야 할 때는 엑스트라 데이터를 이용해야 한다. 엑스트라 데이터란 인텐트에 담는 부가 정보이다.

사후 처리 여부에 따라 인텐트로 액티비티를 시작하는 방법 3가지

  • public void startActivity(Intent intent)

  • public void startActivityForResult(Intent intent, int requestCode)

  • ActivityResultLauncher

📝입력 매니저

코드에서 특정한 순간에 키보드를 올리거나 내려야 할 수 있다. 이러한 기능은 InputMethodManager 클래스가 지원한다.

  • public boolean hideSoftInputFromWindow(IBinder windowToken, int flags)
  • public boolean showSoftInput(View view, int flags)
  • public void toggleSoftInput(int showFlags, int hideFlags)

📝태스크 관리

태스크 관리란 액티비티를 어떻게 생성하고 관리하는지를 제어하는 일을 의미한다. 시스템에는 액티비티의 태스크를 유지하는 기본 규칙이 있으며 일반적으로는 이 기본 규칙을 그대로 이용하므로 개발자가 태스크를 제어할 일은 많지 않다.

📝ANR 문제

ANR은 액티비티가 응답하지 않는 오류 상황이다. 액티비티를 작성할 때 ANR을 고려하지 않으면 앱이 수시로 종료될 수 있다. 액티비티로 구성한 앱 화면은 사용자 이벤트에 5초 이내에 반응해야 하는데 그렇지 않으면 ANR 오류가 발생한다.

profile
안드로이드개발자

0개의 댓글