1. Acitivity
안드로이드 스튜디오에서 액티비티란 하나의 화면을 나타냄. 하나의 화면을 구성하는 파일들은 xml파일과 java파일, 두개로 구성됨.
MainActivity는 가장 기본적으로 항상 실행되는 activity임. activity는 시스템에서 activityManager를 통해 관리함. 이때 activty와 시스템은 intent라는 형식을 통해 데이터를 요청과 응답으로 주고받음.
xml-> 화면에 나타낼 구성요소들을 xml 형식으로 지정해줌
java -> 자바 코드를 통해 구성요소들의 작동방식을 지정해줌
setContentView함수를 통해 액티비티 xml 파일에 있는 구성요소들을 실제 객체로 만들어줌. 따라서 화면의 구성요소들에 접근하기 위해서는 setContentView 함수 뒤에 초기화해주어야 함.
2. Context
안드로이드에서는 context라는 개념이 사용되는데, context는 하나의 클래스이며 이는 어플리케이션에 서 시스템이 관리하고 있는 전체적인 정보에 접근하기 위한 인터페이스 인스턴스 객체 **(각 어플리케이션 마다 다른) **라고 생각하면 됨. 또 context를 통해 안드로이드에서 제공하고 있는 API를 호출할 수 있음. 또 context는 Activity, Service, Application의 base class임.

- Application context -> 어플리케이션 context는 어플리케이션이 살아있는 동안 유지되며 (Activity.)getApplicationContext() 메소드는 어플리케이션 context를 return 해줌.
- Activity context -> activity와 같은 lifecycle을 가지며 (View.)getContext() 메소드를 통해 접근할 수 있음.
3. Service system
안드로이드는 크게 4개의 컴포넌트들로 이루어져 있는데

이때 서비스는 백그라운드에서 동작하는 컴포넌트로 화면이 없을때도 작동하고 있음. 예를들어 어플리케이션이 작동하지 않아도 작업이 필요한 경우에는 서비스가 사용됨.
4. Intent
Activity와 시스템이 데이터를 주고받는 형식이라고 생각하면 됨.
Intent를 통해 시스템과 액티비티가 데이터를 주고 받고 응답코드를 통해 서로를 식별함.