본문 바로가기

어플리케이션 구성/액티비티(Activity)

이클립스에서 안드로이드 액티비티 추가하기


안드로이드용 어플리케이션을 개발하려면 "하나의 액티비티" 만으로는 제데로된 어플리케이션을 개발할 수 없습니다. 이번 강좌에서는 액티비티를 추가하는 방법에 대해 알아보도록 하겠습니다.

액티비티를 추가해주기 위해서는 아래의 두 가지 작업을 수행해주어야 합니다.

  • 메니페스트 파일(AndroidManifest.xml)에 액티비티 등록하기
  • 액티비티 소스 코드 만들기

1. 메니페스트 파일에 액티비티 등록하기

안드로이드에서 액티비티를 호출하기 위해서는 먼저 메니페스트 파일에 액티비티가 등록되어 있어야 합니다. 메니페스트 파일에 액티비티를 등록해주기 위해, 먼저 메니페스트 파일(AndroidManifest.xml) 파일을 연 후, Application 탭을 클릭합니다.

이클립스 ADT로 열어본AndroidManifest.xml


여러가지 속성을 설정할 수 있는 화면들과 함께 어플리케이션의 여러 구성요소들을 등록할 수 있는 Application Nodes 화면이 화면 좌측 하단에 있습니다. 이곳에서 액티비티 뿐만 아니라 다른 액티비티 구성요소 (서비스, 컨텐트 프로바이더 등)도 추가해줄 수 있습니다.

액티비티를 추가하기 위해 Application Nodes 부분의 Add... 버튼을 클릭합니다.




Add.. 화면을 클릭하면 다음과 같은 대화상자가 나타나는데, 이곳에서 "Activity"를 클릭합니다.
"OK" 버튼을 클릭한 후, 추가된 Activity를 선택한 후 오른쪽의 Attributes 화면을 보면 다음과 같은 화면이 보일 것입니다.




2. 액티비티 소스 코드 만들기

메니페스트 파일에 액티비티를 선언하였으니, 이 액티비티의 실질적인 동작을 구현할 자바 소스 코드를 만들어야 합니다.
파란색으로 되어있는 Name* 을 클릭하여 새 클래스를 만들어줍시다.


위와 같은 대화상자가 뜨게 될 것입니다. 다른 것은 특별히 건드릴 필요가 없고, 클래스의 이름 (일반적으로 액티비티의 이름과일하게 설정합니다) 을 입력합니다. 이름을 입력했으면, Finish 버튼을 누릅시다.


Finish 버튼을 누르면, 다음과 같이 새로운 코드 파일이 생성이 됩니다. 처음 프로젝트를 만들 때와 동일하게 onCreate() 메소드까지 추가되어있습니다. :) 단, 액티티의 화면을 표시해주는 메소드인 setContentView()메소드가 추가되어있지 않으므로, 이 상태로 이 액티비티를 호출하면 화면에는 아무것도 표시되지 않게 됩니다.

 여기까지 하셨다면, 호출 대상을 명확히 지정하는 명시적 인텐트(Explicit Intent)를 이용하여 이 액티비티를 호출할 수 있습니다. 하지만, 인텐트 필터를 정의하지 않았기에 암시적 인텐트(Implicit Intent)를 통해 호출될 수는 없습니다. 

인텐트에 대한 자세한 설명 및 암시적 인텐트에 대한 내용은 아래의 글을 참고하세요.