안드로이드에선 중요한 개념 세가지가 있단다.

첫번째, 액티비티 (Activities)

두번째, 프래그먼트 (Fragments)

마지막으로, 인텐트 (Intents) 가 있다.

프래그먼트랑 인텐트는 다음 장에서 알아보고, 당장에 우리가 많이 접할 액티비티부터 알아보자.

1. MainActivity.java 와 activity_main.xml 의 차이

처음 프로젝트를 생성하면 기본적으로, MainActivity.java 와 activity_main.xml 파일 두가지를 생성해 주는데, 여기서 말하는 액티비티가 책이나 다른 개발자들이 말하는 개념의 액티비티가 맞는것 같다.

어떤 개발자 강의를 보면, 액티비티를 쉽게 이해하는 방법은 그냥 화면 한 단위라고 이해하면 편하다고 하는 사람도 있다.

그럼, 나도 개발을 잘 모르고 공부하는 입장이니, 저 고수분이 알려준데로 하나의 화면단위로 이해하겠다.

그런데 문제는?? 최초로 Empty Activity 로 프로젝트를 생성했을 때, Hello world! 라는 메시지를 던져주는 화면은 하난데, 왜 나는 MainActivity.java 와 activity_main.xml 두개의 파일을 넘겨받았는가?

쉽게 이해하기 위해 내부의 기능(앱의 실행, 중지, 종료 및 지속적인 계산이 필요한 경우 계산 로직 등의 행동)을 담당하는 부분은 MainActivity.java 에서 이루어지고, 이를 화면으로 (UI로: User Interface)로 보여주는 부분을 담당하는 곳은 activity_main.xml 이라고 이해하기로 했다.

 

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

이 라인은 MainActivity.java 에 자동으로 기입되는 코드인데, 여기서 보면, setContentView(R.layout.activity_main); 에서 기능과 화면을 서로 연결해주는 부분을 찾을 수 있다.

프로젝트 View의 위치로는 res -> layout 에 위치하고 있는걸 확인했다. layout 이라고 폴더명까지 지정된걸 보니, 이해한게 대충 맞다는 확신이 생긴다.

 

2. 액티비티의 특징

앱에서의 모든 액티비티는, 그 사용에 대한 선언을 AndroidManifest.xml 무조건 해야 된단다.

ProjectView-> Manifests -> AndroidManifest.xml 로 가서 확인해보자.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.activity101">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

<activity ...... </activity> 태그 사이에 보면 MainActivity 가 선언되어 있음을 확인할 수 있다.

여기까지는 뭐 프로젝트 생성시에 대충 다 만들어 주는 것이니, 대충 상호작용의 구조만 확인하고 넘어가도록 하겠다.

 

Posted by 공급망관리 최선생
,