안드로이드 스튜디오를 사용하는데 있어서 가장 기본이 되는 Activity와 xml은 필수적으로 알고가야한다.
1. Activity
개념
앱이 실행되면 특정 화면이 실행되며, 그 화면에서 UI가 노출되고, 개발자가 설정한 터치 이벤트나 시각적인 여러 이벤트들이 같이 실행 될텐데, 이것을 제어해주는 클래스다. 기본적인 형태는 다음과 같다.
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//setContentView의 activity_main이 MainActivity의 layout이다.
}
}
안드로이드 스튜디오는 사용자가 이용하고자 하는 라이브러리를 자동으로 import해주므로 그에 관해선 딱히 설명하지 않겠다.
1) MainActivity : 안드로이드 스튜디오에서 프로젝트를 생성하면 가장 처음에 볼 수 있는 것이 MainActivity이다. 쉽게 생각하면 C++파일을 하나 만들 때 main함수가 자동으로 생성되는 것과 같다고 볼 수 있다.
2) AppCompatActivity : 이 또한 프로젝트를 생성할 때 자동으로 상속되어지는데, 안드로이드 버젼이 낮다면, 가령 dispatchKeyShortcutEvent 같은 메소드는 Android level 11 (안드로이드 3.0) 미만의 기기에선 지원하지 않는다. 즉 API level에 따라 지원하지 않는 메소드가 있는데, 이를 지원하기 위해 상속하는 것이다.
3) onCreate : 코드를 보면 onCreate를 오버라이딩하는데, activity에 신호를 주는 생명주기, 콜백 (callback) 메소드다. 앱은 onCreate -> onStart -> onResume 를 거쳐야 실행이 되는데, 이 때 onCreate는 초기화를 담당하는 생성자와 같은 메소드다. 생명주기에 관해선 기회가 있다면 따로 분류해서 설명하도록 하겠다. 일단 기본적으로 Activity를 생성하면 항상 만나볼 수 있을 것이다.
생성
당연히 클래스를 하나 만들고 그 안에 import 할 것이 있으면 다 해주고, 상속해주고, onCreate 생성해주고, AndroidManifest.xml에 명시해줘도 되지만, 너무 복잡하다. 그러지말고
여기서 만들면 전부 세팅해준다.
2. xml
사실 별 건 없고 디자인을 담당하는 부분이라고 생각하면 된다. 개발을 진행하면서 여러 layout을 만들게 될텐데, 디자인과 관련된 대부분은 xml을 통해 개발할 수 있다. 이번 앱을 만들면서 디자인 부분은 크게 신경을 쓰지 않아서 공부가 부족하지만 설명할 수 있으면 최대한 설명할 예정이다.
xml 파일 중에 AndroidManifest.xml라는 파일이 있는데, 개발하고 있는 앱에 대한 정보를 기술하고 있는 명세서이며, 없으면 안된다. 권한, 패키지명, 컴포넌트 등이 명시되어 있다.
아래는 MainActivity의 layout이다.
댓글
댓글 쓰기