액티비티는 화면 하나라고 생각하면 된다. 하지만 실제 보이는건 뷰이며 액티비티는 뷰 또는 뷰 그룹을 가져와야 보이는 것이다. 또한 액티비티끼리는 중첩되지가 않는다.

다음은 버튼을 이용한 액티비티의 화면 전환 예제이다.

먼저 xml을 이용하여 서로 다른 화면을 구성해 둔다.

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.Activity;
import android.content.Intent;

public class ImageViewActivity extends Activity{ 
 public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  Button m_btn = (Button)findViewById(R.id.m_btn);
  m_btn.setOnClickListener(new Button.OnClickListener(){
   public void onClick(View v){
    Intent intent = new Intent(ImageViewActivity.this,subActivity.class);
    startActivity(intent);
   }
  });
 } 
}

위 코드를 보면 버튼을 이용하여 다른 화면을 나타나게 한다. 그리고 위에 인텐트라는 것이 보일 것인데 이는 액티비티간의 전
환 즉, 호출하여 화면을 바꿔 줄 수가 있다.

인텐트 액션 내용을 보면 다음과 같다.

 액션 대상  설명 
ACTION_CALL ACTIVITY 통화 시작
ACTION_EDIT ACTIVITY  테이터 표시 및 편짐
ACTION_MAIN ACTIVITY 메인 액티비티 호출
ACTION_VIEW ACTIVITY  화면 보이기
ACTION_DIAL ACTIVITY 전화 걸기
ACTION_BATTERY_LOW BR  배터리 부족
ACTION_HEADSET_PLUS BR 헤드셋 접속 구분
ACTION_SCREEN_ON BR  화면 열림
ACTION_TIMEZONE_CHANGED BR 타임 존 변경
 
다음은 서브 액티비티 코드이다. 동일한 내용 인 듯 하지만 finish() 라는 함수를 이용하여 화면의 종료를 나타내며 메인 액티비티로 돌아가게 한다.

public class subActivity extends Activity{
 public void onCreate(Bundle savedInstanceSatate){
  super.onCreate(savedInstanceSatate);
  setContentView(R.layout.subactivity);
  Button s_btn = (Button)findViewById(R.id.s_btn);
  s_btn.setOnClickListener(new Button.OnClickListener(){
   public void onClick(View v){
    finish();
   }
  });
 }
}

여기까지 하고 난 다음 또 매니페스트 파일에 내용을 추가 해 줘야 한다.  열어보면 하나의 액티비티만 정의 되어 있을 것이다.

서브 액티비티를 등록 해 줘야 한다는 점을 명심 해야한다.