앱 만들기/안드로이드

안드로이드 화면 전환 방법.

나도 처음이야 2020. 5. 11.
반응형

A 화면에서 B 화면으로 전환 하는 방법을 다루어 보자.

안드로이드에서 화면을 전환하기 위해서는 Intent 라는 객체가 필요하다.

"즉, Intent 라는 소포를 안드로이드 시스템에 건내서 특정 화면을 실행해줘" 라고 부탁하는 과정이다.

구현을 해보자.

 

1. 먼저 B화면 액티비티를 추가해보자. 

    SubMenu New -> Activity -> Empty Activity 를 선택.

특정 기능이 필요치 않기에 Empty Activity 를 선택함.

Activity 와 Layout name 을 설정하고, Finish 버튼을 선택하면 화면 추가 작업이 마무리 된다.

2. AndroidManifest.xml 파일을 살펴보자.

   하기 처럼 신규 Activity 가 설정됨을 확인 할 수 있다.

   정상적으로 모든 준비는 완료 된 것이다.

   참고로, Intent-filter 의 LAUNCHER 는 앱 실행시 처음으로 실행되는 Activity 를 설정해주는 값이다.

   자신이 원하는 Activity에 설정이 가능하다.

...
<activity 
android:name=".Activity2th" />
    <activity 
android:name=".MainActivity">
        <intent-filter>
            <action 
android:name="android.intent.action.MAIN" />

            <category 
android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

 

3. Intent 로 A에서 B 화면으로 이동하자.

  - Intent 객체를 생성한뒤 인자 값으로 Context 와 B화면을 지정한다.

  - startActivity(intent) : 인텐트를 담아서 안드로이드 시스템에게 알려주는 역할이다.

   "B 화면을 띄워 다오"

public class MainActivity extends AppCompatActivity {

   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
       
setContentView(R.layout.activity_main);
   
}

public void btn1Method(View v){
    // Intent 객체를 만들어 실행한 액티비티의 정보를 세팅한다.
    Intent intent = new Intent(this, Activity2th.class);
    startActivity(intent);
}

 

이 과정이 끝나면 하기 처럼 화면 A-B 로 이동이 된다.

이때 A 화면은 사라지는 것이 아니라 스택 구조로 B 화면 밑에 쌓이게 된다.

그렇기에 B화면에서 Back 키 동작을 하면 밑에 깔려있던 A 화면이 불려지게 되는 것.

다시 그려지는 것이 아닌, A화면의 onResume() 함수만 불려진다.

화면 A
화면 B

 

오늘도 티스토리를 방문해주셔서 감사드립니다.

반응형

댓글