Android Studio) 안드로이드 구성

chaeyoung·2023년 1월 10일
0

Android Studio

목록 보기
2/13
post-thumbnail

🧷 안드로이드 4대 컴포넌트 구성

  • 각 컴포넌트는 고유의 기능을 수행

  • 각 컴포넌트는 인텐트를 통해 서로 상호작용함

    1. Activity(엑티비티)
    • UI 화면 담당하는 컴포넌트
    • 자바 소스에서 activity 클래스를 상속하고 기본으로 가지고 있는 생명주기 메소드를 재정의하여 기능을 구현한다.
    • 적어도 하나의 액티비티를 갖고 있어야 한다.
    • 하나 이상의 View or ViewGroup을 가지고 있어야 한다.
    1. Service(서비스)
    • 백그라운드에서 실행되는 프로세스(동작은 메인스레드에서 한다.)
    • 음악 앱 같은 경우 Background에서 음악을 계속 재생시키기 때문에 서비스에 해당된다.
    • 네트워크와 연동 가능하다.
    • Activity와 Service는 UI 스레드라고 불리는 동일한 애플리케이션 스레드로 실행된다.
    1. BroadCast Receiver(방송 수신자)
    • 안드로이드 OS로 부터 발생하는 이벤트 정보를 받고 대응하는 컴포넌트이다.
    • UI x, event 발생 시 해당 이벤트에 맞춰 정의한 작업을 수행("메세지가 도착했습니다"와 같은 방송)
    1. Content Provider(콘텐트 제공자)
    • 데이터를 관리하고 다른 애플리케이션 데이터를 제공해주는 컴포넌트
    • 데이터베이스(DB)를 공유하기 위해 사용
    • 용량이 큰 데이터 공유하는데 적합, 데이터 읽고 쓰기 가능
    • 앱을 처음 설치할 때 권한 요청이 뜨는 것이 콘텐츠 제공자 예시
    1. Intent(인텐트)
    • 애플리케이션 컴포넌트(구성요소) 간 작업 수행을 위해 정보를 전달하는 메신저 역할
    • 서로 독립적으로 동작하는 4가지 컴포넌트 간 상호통신을 위한 장치
    • 유형: 명시적 인텐트 - Intent를 충족하는 애플리케이션이 무엇인지 명시
    Intent intent = new Intent(getApplicationContext(),MainActivity::class.java)
     tartActivity(intent)
    • 암시적 인텐트 - 구성요소 이름x, 작업을 통해 다른 앱의 구성요소가 이를 처리할 수 있도록함.(ex. 지도 위치표시)
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://..."))
    startActivity(intent)

🧷 안드로이드 Activity 생명주기

  • onCreate(): 최조 앱 실헹 시 호출, 초가화 관련 작업

  • onStart(): 이 시점부터 사용자가 엑티비티 볼 수 있음

  • onResume(): 엑티비티가 실제 사용자와 상호작용 가능힌 ground에 위치하면 호출, 엑티비티 실행 중

  • onPause(): 엑티비티 실행 중 상태에서 사용자와 상호 불가능한 상태

  • onStop(): 엑티비티가 더 이상 보이지 않을 때 호출

  • onDestroy(): 엑티비티 종료, 프로세스 자체 종료되면 호출

※ App 배포 시

APK: apk 파일 하나를 통해 많은 디바이스 호환을 지원한다. 그렇다 보니 apk자체에 여러개 ABI(Android Binary Interface)를 포함, apk 파일 크기는 커질 수 밖에 없다.

AAB(Android App Bundle): apk 용량 문제해결, 경량화 된 앱

VersionCode: 앱의 버전 코드를 나타내는 정수, 첫번째 버전 1이고 이후 versionCode를 1씩 증가시켜 배포, 사용자 공개 x

VersionName: 앱의 배포 버전을 나타내는 문자열, <major>-앱 큰 틀이 변화, <minor>-기능추가,삭제 등, <point>-버그수정

0개의 댓글