Hello, Android!
02. 액티비티 Activity 본문
액티비티는 안드로이드 4대컴포넌트중 하나이며, 화면을 구성한다.
별도의 설정 없이 프로젝트를 생성하면 MainActivity가 존재한다.
액티비티는 UI를 구성하는 컴포넌트인 만큼, 하나의 res/layout내의 xml과 연결되어 화면 내의 요소들의 이벤트를 처리하게 된다.
onCreate 메소드 내에서 두번째 줄에 setContentView(R.layout.activity_main); 을 통해서 MainActivity클래스는 activity_main.xml화면과 연결된다.
MainActivity이외에 다른 액티비티를 만들때 manifest내에 이러이러한 액티비티를 만들었으니 사용하겠다
라고 등록을 해주어야 한다.
MainActivity2를 새롭게 생성하고 manifest.xml파일을 확인해 보면 <application> 태그 안에 <activity> 태그로
만들어진 액티비티들이 등록된 것을 볼수 있다.
안드로이드 스튜디오에서 오른쪽클릭하여 액티비티를 자동으로 생성하게되면, manifest에도 자동으로 등록되니 따로 등록할 필요는 없다.
하지만 작업 도중에 액티비티의 이름을 변경하면 manifest에도 변경을 해주어야한다.
또한 지금 상태로는 앱 최초 실행시 MainActivity화면이 가장 먼저 보여진다.
이를 다른 액티비티를 가장 먼저 보여주고싶으면 해당 액티비티 태그 내로 <intent-filter> 를 넣어주면 해당 액티비티가
최초 화면으로 보여지게 된다.
안드로이드 4대 컴포넌트 글에서 컴포넌트 사이에서 다리를 놓아주는 인텐트가 있다고 하였다.
액티비티도 컴포넌트이기때문에 MainActivity에서 Main2Activity를 호출할때 인텐트를 사용하게 된다
new를 이용하여 인텐트 객체를 생성해주는데 여기서 첫번째 값은 출발지점, 두번째 값은 도착지점으로 생각하면서 객체를 만들어준다.
단순히 객체를 만들어준다고 새로운 액티비트를 호출하는것이 아니고
액티비티를 호출할때는 startActivity메소드를 호출해야만 화면이 이동된다.
인텐트가 컴포넌트 사이에 데이터를 전달하는만큼 액티비티를 이동하면서 값을 전달하는것 또한 가능하다
인텐트에 대한 더욱 자세한 설명은 인텐트 정리글에서 따로 설명하도록 하겠다.
'Android' 카테고리의 다른 글
안드로이드 shared preferences (0) | 2020.05.17 |
---|---|
05. 인텐트, 뷰 in kotlin (0) | 2019.03.11 |
04. 뷰 (0) | 2019.03.10 |
03. 인텐트 Intent (0) | 2019.03.07 |
01. 안드로이드 4대 구성요소 (0) | 2019.03.04 |