무작성 앱 만들기 보다는 간단하게라도
내가 코딩한 소스들이 참조되어 실행되는 과정을 알고 있다면
앞으로 더 복잡한 걸 배울때도 쉽게 이해 할수 있을거 같아서 정리해봤습니다.
제일 먼저 안드로이드 OS는 AndroidManifest.xml을 분석합니다.
화면 로딩을 위해 <activity>을 찾습니다.
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
activity는 화면을 표현하는 단위이며
<activity> ~ </activity> 쌍으로 activity가 한개 있으면 화면이 한개이고
activity가 2개이면 화면이 2개 또 10개면 화면이 10개가 되는것입니다.
특히 <intent-filer>안에
<action android:name이 MAIN것을 첫 화면으로 인식합니다.
<action android:name="android.intent.action.MAIN" />
두번째로 <activity android:name=".MainActivity"에 의해
MainActivity 라는 Class를 찾습니다.
MainActivity를 찾고 그 다음에 onCreate 함수를 실행하게 됩니다.
MainActivity.kt 파일 내용입니다.
package kr.dd0133.helloworld
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
onCreate 함수 안을 보면
super.onCreate(savedInstanceState)는 super라고 상위 Class를 실행하네요.
setContentView(R.layout.activity_main)로 인해 화면을 오픈합니다.
R.layout.activity_main이란 R은 res 폴더를 의미하며
res폴더안에 layout 폴더에 activity_main.xml 파일을 말합니다.
activity_main.xml은 화면을 구성하는 위젯들을 배치하는 파일이며
TextView에 Hello World!라는 문자열을 표시하게 됩니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
★ 안드로이드의 네가지 구성 요소가 있습니다.
Activity | 화면을 관리하는 실행 단위 |
Service | 백그라운드 실행 단위 |
Broadcast Receiver | 안드로이드 OS의 실행 단위 |
Content Provider | 다른 앱이나 외부에 데이타를 제공하는 실행 단위 |
감사합니다.
'IT > 안드로이드 Android' 카테고리의 다른 글
kotlin id 자동화 서비스 안될때 . 더 이상 findViewById 필요없어요. (2) | 2022.10.11 |
---|---|
kotlin . 코틀린 기본 배우기 그리고 변수 자료형 (0) | 2022.10.10 |
안드로이드 AVD 실행 도중에 다운되는 경우 . andvlk64.dll not found 해결 (0) | 2022.10.10 |
안드로이드 에뮬레이터 AVD 실행 되다가 안되는 현상 (0) | 2022.10.09 |
안드로이드 앱 만들기 . 코틀린 시작하기 (1) | 2022.10.09 |
댓글