Keep going

화면 전환하기 본문

Android Studio

화면 전환하기

코딩천재홍 2021. 7. 6. 00:25

애플리케이션 구성요소

  • 액티비티
  • 서비스
  • 브로드캐스트 수신자
  • 내용 제공자

 

애플리케이션 구성요소라고 분류해서 부르는 이유?

시스템에서 관리하기 때문. 우리가 애플리케이션 구성요소 중의 하나를 만들어 프로젝트에 추가하게 되면 시스템이 이것들을 다루게 된다.

새로 추가한 구성요소들을 시스템이 알게 하기 위해서 Manifest 파일에 어떤 구성요소가 추가되었는지 넣어주어야 한다.

앱이 설치되는 시점에 시스템이 Manifest 파일에 구성요소가 들어있는지 확인한다.

 

액티비티 실행하기

한 화면에서 새로운 액티비티를 화면에 보여주고 싶다면 startActivity나 startActivityForResult 메소드를 사용할 수 있다.

위의 메소드들을 호출할 때는 인텐트 객체를 파라미터로 전달해야 한다.

Intent intent = new Intent(getApplicationContext(), MenuActivity.class);
startActivityForResult(intent, 101);
  • 인텐트 객체 만들기 → 컨텍스트 객체, 화면에 띄울 액티비티의 클래스 인스턴스를 파라미터로 전달
  • startActivityForResult 메소드 : 인텐트 객체가 액티비티 매니저에게 전달, 액티비티 매니저는 지정한 액티비트를 실행하여 화면에 보여줌

startActivity vs startActivityForResult()

startActivity() 는 단방향으로 단순히 액티비티만 열어준다.

startActivityForResult()는 양방향으로 액티빝를 열어주고 원래의 액티비티로 돌아오면서 결과값을 전달해준다.

startActivityForResult()는 intent 뒤에 요청코드를 넣어주어야 한다.

화면을 한 개가 아니라 여러 화면을 띄우고 싶으면 각각의 화면을 구분하는 용도로 요청코드가 사용된다. (응답을 받을 때 어떤 화면에서 응답을 받았는지 요청코드로 구분)

 

액티비티 전환하기

새로운 액티비트를 실행한 후 원래의 액티비티로 돌아가려면 finish() 메소드를 호출하면 된다.

액티비티는 안드로이드 태스크에서 스택형태로 관리되기 때문에 각 액티비티가 열린 순서로 쌓이게 된다.

화면에 보이는 액티비티가 있을 때 새로운 화면이 실행되면 그 화면은 기존 화면의 위에 보이는 것과 같음, 그리고 새로 띄운 화면을 없애주면 이전 화면이 다시 보인다.

이때 화면을 없애주는 메소드가 finish다.

 

 

 

 

'Android Studio' 카테고리의 다른 글

R.java란?  (0) 2021.01.16
안드로이드 컴포넌트 종류  (0) 2021.01.16
안드로이드 컴포넌트  (0) 2021.01.15
Comments