[베다니 도서관] 1. Activity와 xml



안드로이드 스튜디오를 사용하는데 있어서 가장 기본이 되는 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이다.





댓글