FirstApp 이름으로 Kotlin언어로 지정해서 Android 프로젝트를 만들면
아래와 같은 구조로 프로젝트가 생성됩니다.
크게 4개의 그룹으로 나눠져 있는데요.
하나씩 간단하게 알아볼게요.
● manifests
AndroidManifest.xml 파일은 앱이 실행되기 위한 필수 정보 목록입니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.firstapp">
<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/Theme.FirstApp">
<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>
</application>
</manifest>
▩ package="com.example.firstapp"
앱의 패키지 명
▩ android:allowBackup
백업 서비스로 구글 드라이브로 스마트폰의 데이타를 자동 백업하여
스마트폰의 문제가 생긴 경우 데이타를 복원할수 있습니다.
▩ android:icon
앱 설치될때의 아이콘 이미지
▩ android:label
앱 설치될때의 이름
▩ android:roundIcon
둥근 아이콘을 사용할 경우 이미지
▩ android:supportsRtl
Right to Left Layout 기능 지원 여부
▩ android:theme
앱의 태마 설정
▩ <activity ... </activity>
액티비티 설정 정보
액티비티는 앱이 실행했을때 우리가 보는 화면입니다.
● java
앱의 동작을 구현한 소스 파일의 위치입니다.
java라는 이름이지만 java나 코틀린 소스파일 사용할수 있으며
프로젝트 만들때 언어를 코틀린으로 지정해서 MainActivity.kt (확장자가 kt)으로 되어 있네요.
♣ MainActivity.kt
package com.example.firstapp
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)
}
}
● res
res는 resource의 줄임으며
앱에 사용되는 자원들을 지정하고 있습니다.
▩ drawable
이미지 파일
▩ layout
화면을 구성(layout)하는 xml 파일
activity_main.xml
▩ mipmap
화면 해상도에 따른 아이콘 이미지 파일
▩ values
colors.xml . 사용자 임의로 색깔 지정
string.xml . 사용자 임의로 문자열 지정
themes.xml . 사용자 임의로 앱 테마 지정
♣ activity_main.xml
<?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>
● Gradle Scripts
Gradle (그래들)은 빌드 도구입니다.
ant와 maven의 단점들을 보완해서 요즘 많이 사용되는 빌드 자동화 도구입니다.
▩ build.gradle (Project FirstApp)
프로젝트 전체 적용되는 빌드 구성 정보
▩ build.gradle (Module: FirstApp.app)
각 모듈에만 적용되는 빌드 구성 정보
▩ gradle-wrapper.properties
Gradle 설정 정보
▩ proguard-rules.pro
proguard 설정 정보 . 프로가드란 난독화 도구입니다.
난독화는 읽기 어렵다는 뜻인데요
해킹 방지를 위해 프로그램을 디컴파일해도 코딩 내용을 분석할수 없게 하는 기능입니다.
▩ settings.gradle
프로젝트 설정 정보
▩ local.properties
SDK 경로
간단하게 의미를 아는 정도로 확인했습니다.
감사합니다.
'IT > 안드로이드 Android' 카테고리의 다른 글
안드로이드 AVD 실행 도중에 다운되는 경우 . andvlk64.dll not found 해결 (0) | 2022.10.10 |
---|---|
안드로이드 에뮬레이터 AVD 실행 되다가 안되는 현상 (0) | 2022.10.09 |
안드로이드 앱 만들기 . 코틀린 시작하기 (1) | 2022.10.09 |
AVD 실행 안되는 현상 . Your CPU does not support VT-x (0) | 2022.10.08 |
안드로이드 스튜디오 설치와 기본 세팅 . AVD 앱 실행 (0) | 2022.10.01 |
댓글