top of page

액티비티(Activity)

안드로이드는 자바를 기반으로 하지만 처음 접하게 되면 전혀 다른 느낌을 받습니다. 자바처럼 main()함수가 있는 것도 아니라 도대체 어디부터 어떻게 접근해야 할 지 참 당혹스러움을 금치 못합니다.

최근에는 안드로이드 스튜디오가 버전업 되면서 조금 복잡해 지고 있습니다.
복잡해도 정확하게 이해하기만 하면 그다지 어렵지 않겠지요.

 

다음은 안드로이드 라이프사이클입니다. 그림에서 보는 것 처럼 Activity가 시작되면 제일 먼저 시작되는 곳이 onCreate() 메소드입니다. 소스들을 살펴보면 항상 onCreate() 메소드가 있는 것을 알 수 있을겁니다. 다른 메소드는 없어도 onCreate() 메소드는 반드시 있어야 하며 다른 메소드는 필요할 때 포함시키면 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                    [안드로이드 라이프사이클]

 

 

안드로이드 스튜디오로 프로젝트를 만들 때 Empty Activity를 선택하면 맨 처음 접하는 코드는 다음과 같다. 

 

■ MainActivity.java

 

    public class MainActivity extends AppCompatActivity {

        @Override

        protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

        }

    }

 

 

■ activity_main.xml

 

    <?xml version="1.0" encoding="utf-8"?>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    

    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"    

    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"    

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

 

    <TextView android:text="Hello World!"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content" />

 

    </RelativeLayout>

 

 

이제부터는 자바에서 배운내용을 곰곰히 생각해서 적용하면 되겠습니다.

필요한 기능(메소드)이 있으면 그 기능이 포함되어 있는 클래스를 import 시킵니다.

import후에는 클래스의 인스턴스를 만들고 클래스에 있는 필요한 기능(메소드)을 자유롭게 사용하면 됩니다.

클래스를 상속받고 클래스의 인스턴스를 만들고 클래스에 있는 필요한 기능(메소드)을 자유롭게 사용해도 됩니다.

 

나중에 상속, 인터페이스, 추상화, 오버로딩, 오버라이딩 등등 다양한 개념들을 알면 더 깊이있는 프로그램 작성이 될 것입니다.

 

bottom of page