2학년 모바일프로그래밍 8주차

서지현·2021년 12월 12일
0

모바일프로그래밍

목록 보기
4/4

App components

  • 앱 구성 요소는 Android 앱의 필수 구성 요소입니다.

  • 각 구성 요소는 시스템 또는 사용자가 앱에 진입할 수 있는 진입점입니다.

  • Activities, Services, Broadcast receivers, Content provider 이 있다

  1. Activities

    • 사용자와 상호작용하기 위한 진입점
    • 사용자 인터페이스가 있는 단일 화면을 나타냅니다
  2. Services

    • 앱을 백그라운드에서 계속 실행하기 위한 범용 진입점
    • 장기간 작업을 수행하거나 원격 프로세스에 대한 작업을 수행하기 위해 백그라운드에서 실행되는 구성 요소
    • 다른 구성 요소(액티비티..)는 서비스를 시작하고 상호 작용하기 위해 서비스를 실행하거나 바인딩할 수 있습니다
    • ex)
      • 사용자가 다른 앱에 있는 동안 백그라운드에서 음악 재생
      • 활동과의 사용자 상호 작용을 차단하지 않고 네트워크를 통해 데이터를 가져옵니다.
  3. Broadcast receivers

  • 시스템이 일반 사용자 흐름 외부에서 앱에 이벤트를 전달할 수 있도록 하여 앱이 시스템 전체의 브로드캐스트 알림에 응답할 수 있도록 합니다.
  • 앱에서 브로드캐스터를 시작할 수 있음
  • 다른 구성 요소에 대한 게이트웨이이며 매우 적은 양의 작업을 수행하기 위한 것입니다.
  1. Content provider
    다음에 저장할 수 있는 앱 데이터의 공유 집합을 관리합니다.
    • 파일 시스템
    • SQLite 데이터베이스
    • 앱이 액세스할 수 있는 기타 영구 저장 위치
  • 콘텐츠 제공자가 허용하는 경우 다른 앱에서 데이터를 쿼리하거나 수정할 수 있습니다.
  • Android 시스템은 연락처 정보에 대한 콘텐츠 제공자를 제공합니다.

Activity

  • 일반적으로 하나의 Activity는 앱에서 하나의 화면을 구현합니다.

  • 대부분의 앱은 여러 화면(여러 Activity)을 포함합니다.

  • 주요 Activity은 사용자가 앱을 실행할 때 나타나는 첫 번째 화면입니다.

  • Activity은 다른 Activity을 수행하기 위해 다른 Activity을 시작할 수 있습니다.

  • Activity은 종종 다른 앱에 속한 Activity을 시작합니다.

  • Add activity

  • Activity Lifecycle

  • 사용자는 앱을 탐색하거나 앱에서 나오거나 앱으로 돌아갈 수 있습니다.

  • Activity(Activity 클래스의 인스턴스)는 라이프사이클에서 다른 상태를 통해 전환합니다.

  • Activity 클래스는 활동이 상태가 변경되었음을 알 수 있도록 하는 여러 콜백을 제공합니다.

  • ex) 스트리밍 비디오 플레이어 앱

    • 사용자가 다른 앱으로 전환하면 비디오를 일시 중지하고 네트워크 연결을 종료합니다
    • 사용자가 돌아올 때 네트워크에 다시 연결하여 사용자가 동일한 지점에서 비디오를 다시 시작할 수 있도록 할 수 있습니다
    • 각 콜백을 통해 주어진 상태 변경에 적합한 특정 작업을 수행할 수 있습니다

  • onCreate()
    • 시스템이 Activity을 처음 생성할 때 시작됩니다.
    • Activity이 onCreate 상태로 들어갑니다.
    • 기본 응용 프로그램 시작 논리를 수행합니다(전체 활동 수명 동안 한 번만).
    • onCreate() 메소드 실행이 완료된 후,
      • 활동이 시작됨 상태로 들어갑니다.
      • 시스템이 onStart() 및 onResume() 메서드를 호출합니다.
  • onStart()
    • Activity이 onStart 상태가 되면 호출합니다.
    • 앱이 Activity가 foreground로 들어가 대화형이 되도록 준비할 때 Activity를 사용자에게 표시합니다.
    • 앱은 UI를 유지 관리하는 코드를 초기화합니다.
    • 이 콜백이 완료되면
      • 활동이 재개됨 상태로 전환됨
      • 시스템이 onResume() 메서드를 호출합니다.
  • onResume()
    • Activity이 재개됨 상태가 되면 호출하고 전경으로 옵니다.
    • 앱은 사용자와 상호 작용합니다.
    • 앱은 앱에서 포커스를 잃는 일이 발생할 때까지 이 상태를 유지합니다.
    • Activity가 Paused 상태에서 Resumed 상태로 돌아오면 시스템은 다시 한번 onResume() 메서드를 호출합니다.
    • Activity이 재개됨 상태에 들어갈 때마다 발생해야 하는 초기화를 수행합니다.
    • 인터럽트 이벤트가 발생하면,
      • Activity이 일시 중지됨 상태로 전환됨
      • 시스템이 onPause() 메서드를 호출합니다.
  • onPause()
    • 사용자가 귀하의 활동을 떠나고 있다는 첫 번째 표시입니다.
    • 활동이 더 이상 전경에 있지 않습니다.
    • 계속해서는 안 되는 작업을 일시 중지하거나 조정하는 데 사용합니다.
    • 활동이 재개되거나 사용자에게 완전히 보이지 않을 때까지 활동은 일시 중지된 상태로 유지됩니다.
    • 활동이 재개되면 시스템은 다시 한번 onResume() 메서드를 호출합니다.
    • onPause() 메서드를 사용하여
      • 릴리스 시스템 리소스
      • 센서에 대한 핸들(예: GPS)
      • 배터리 수명에 영향을 줄 수 있는 모든 리소스
  • onStop()
    • 활동이 더 이상 사용자에게 표시되지 않습니다.
      • Stopped 상태에 진입
      • 시스템이 onStop() 콜백을 호출합니다.
    • 앱이 사용자에게 표시되지 않는 동안 필요하지 않은 리소스를 해제하거나 조정합니다.
      • 애니메이션 일시 중지
      • 세분화된 위치 업데이트에서 대략적인 위치 업데이트로 전환
    • onStop()을 사용하여 비교적 CPU를 많이 사용하는 종료 작업을 수행합니다.
      • 정보를 데이터베이스에 저장
  • onDestroy()
    • 액티비티가 소멸되기 전에 호출됨
    • 시스템이 일시적으로 활동을 중단하고 있습니다(장치 회전).
    • 활동이 수신하는 최종 수명 주기 콜백.
    • 구성 변경의 결과로 호출되는 경우 시스템은 즉시 새 활동 인스턴스를 생성한 다음 onCreate()를 호출합니다.
profile
안녕하세요

0개의 댓글

관련 채용 정보