웹/모바일 안드로이드 기초

3.1 액티비티와 인텐트

소개

액티비티는 안드로이드 UI 의 핵심 구성요소로 플랫폼 기반 애플리케이션 모델의 기본 요소가 됩니다. 예를 들어 C언어나 자바의 경우 main() 메서드가 프로그램을 실행하기 위한 진입점 이라면 안드로이드의 경우 플랫폼을 통해 우리가 만든 프로그램이 구동되는 형식으로 UI를 가지는 기본 앱의 시작점이 액티비티가 되는 것입니다.

인텐트는 기본적으로 액티비티와 액티비티를 연결해 주는 역할을 수행 합니다.

Activity 개요

안드로이드 앱에서 액티비티는 사용자와의 상호작용을 위한 하나의 화면을 말합니다. 예를 들어 노트앱에서 목록을 보여주는 메인 화면은 MainActivity 가 될 수 있으며 새로운 노트 작성 버튼을 클릭했을때 실행되는 입력화면은 또다른 액티비티가 될 수 있습니다.

새로운 액티비티가 시작되면 이전의 액티비티는 멈추게 되고 스택에 저장되게 됩니다. 현재 액티비티 사용을 마치고 Back 버튼을 통해 이전 액티비티로 돌아가게 되면 현재 액티비티는 제거 되고 기존 액티비티가 다시 시작되게 됩니다.

[그림: 액티비티 동작], 출처: https://developer.android.com

Activity 생성

안드로이드 프로젝트를 생성하게 되면 기본적으로 MainActivity 클래스가 생성되고 AndroidManifest.xml 에 등록되게 됩니다. 만일 기존의 프로젝트에 새로운 액티비티를 추가하려면 다음과 같은 과정을 거쳐야 합니다.

대부분의 경우 이과정을 직접하지 않아도 되며 프로젝트에서 File -> New -> Activity 메뉴를 통해 템플릿을 선택할 수 있고 자동으로 관련 작업들을 수행하게 됩니다.

public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
   }
}
<activity android:name=".MainActivity" >
   <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
</activity>

intent 와 관련된 사항은 뒤에서 자세히 살펴 봅니다.



App Bar 와 Option Menu


실습 및 참고자료

실습: Option menu, Context menu 및 다이얼로그와 피커등이 적용된 회원정보 등록 앱

2.3 에서 만든 회원등록 앱을 확장해서 구현 합니다.

본 예제는 다음과 같은 내용들을 학습하기 위한 내용으로 구성 됩니다.

프로젝트 준비

실행 결과

따라하기 및 코드 설명

유튜브 동영상 강좌를 참고해 주세요


참고자료