4/11 수업

hyunji·2023년 4월 11일
0

안드로이드 공식 문서

  • 안드로이드는 공식 문서가 아주 잘되어있다~!

안드로이드 4대 컴포넌트

  • 면접 단골 질문!!!!!
  • Activity
  • Service : 백그라운드에서 무언가를 하기 위해 하는 것
  • Broadcast Receiver
  • Content Provider
  • 오목 때 진입 점은 main이였다. 안드로이드 컴포넌트에서는 main을 사용하지 않음.

Activity의 역할

  1. UI 노출 및 데이터 로드
  2. 사용자의 이벤트(버튼 터치, 텍스트 입력 등) 처리
  3. 새로운 Activity 시작
  • super.onCreate 전에 setContentView 실행 X

intent

  • 앱의 구성 요소, 다른 앱의 구성 요소에게 데이터를 넘겨주거나 사용할 때 사용

intent-filter

  • 인텐트가 던지는 메세지들을 관리해주는 존재

명시적 인텐트

  • 액티비티를 시작할 때 사용

암시적 인텐트

  • 호출하는 대상을 암시적으로 부름

Context

Application Context vs Activity Context

  • Application이 꺼지기 전까진 Activity에 접근 가능
  • Activity가 Application에 종속됨
  • Application에서 사용할 수 없는 기능도 있음(ex> dialog 기능)
  • 그 구성요소에 사용할 수 있는 것으로 골라서 사용하면 됨
  • context를 적재적소에 사용하려면 많은 노력이 필요!!!!!!!

나쁜 예시

  • activity context를 전역으로 사용하는 경우
  • Application Context를 Activity에서 무분별하게 사용
    - Application을 참조하고 있어 정상적으로 종료되지 않음. 얽혀있음
  • 직접 context 객체 생성

Activity LifeCycle

  • Fragment와 View LifeCycle도 중요!!! 면접 단골 질문!

필요한 이유

  • 사용자가 이용중인 앱을 백그라운드로 전환했다가 다시 재개할 때마다 앱의 데이터를 초기화해야 하는 요구사항 => onResume() 쓰기
  • 이런 요구사항이 있을 떄 시스템에서 만들어준 LifeCycle 함수를 override하면 쉽게 구현 가능

0개의 댓글