이우의 개발일지
안드로이드 스튜디오 xml에 대해 본문
안드로이드 스튜디오를 공부하던 중 java를 쓰는 java 파일 이외에 존재하는 activity_main.xml의 역할이 궁금해서 조사를 해봤다.
안드로이드 스튜디오 xml 역할
간단하게 xml의 역할은 이러하다.
- UI 디자인 및 레이아웃
- 리소스 정의
- 메뉴 및 대화상자 정의
- 애니메이션 및 트랜지션 정의
- 매니페스트 파일
- 설정 및 자원 관리
- 데이터 포맷
- 웹 서비스 통합
아직 이 모든 요소들이 xml 역할로 와닿지 않지만, 확실한건 앱을 구성할 때 쓰는 UI로 xml의 역할이 중요하다는 것이다.
예제코드
EX) AndroidMainFest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="kr.ac.seoultech.ee"
android:versionCode="integer"
android:versionName="string">
<application android:label="@string/app_name">
<activity android:name="MainActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
1. <manifest> 요소: 앱의 매니페스트 파일의 루트 요소로, 앱의 기본 정보를 정의합니다.
- xmlns:android: XML 네임스페이스를 정의하며, 안드로이드 네임스페이스를 사용합니다.
- package: 앱의 패키지 이름을 나타냅니다. 이 패키지 이름은 앱을 식별하는 데 사용됩니다.
- android:versionCode: 앱의 버전 코드를 나타냅니다. 이 값은 앱 업데이트 및 버전 관리에 사용됩니다.
- android:versionName: 앱의 버전 이름(사람이 이해하기 쉬운 버전 번호)을 나타냅니다.
2. <application> 요소: 앱의 메인 응용 프로그램 구성을 정의합니다. 이 요소에는 앱의 레이블(label)을 설정합니다.
- android:label: 앱의 레이블을 나타냅니다. @string/app_name은 리소스 문자열을 참조하는 것으로 보이며, 이 문자열은 앱 이름을 나타내는 리소스 파일에서 가져올 것입니다.
3. <activity> 요소: 앱 내의 활동(Activity)을 정의합니다. 이 코드에서는 "MainActivity"라는 활동을 정의하고, 액티비티의 레이블을 설정하는 것 같습니다. 또한, 이 활동을 앱의 메인 화면으로 설정하기 위해 <intent-filter>를 사용합니다.
- android:name: 활동의 이름을 지정합니다. 이 코드에서는 "MainActivity"로 설정되어 있으므로 "MainActivity"라는 이름의 활동을 나타냅니다.
- android:label: 활동의 레이블을 설정합니다. 이 코드에서는 @string/app_name을 사용하여 앱 이름을 가져오는 것으로 보입니다.
- <intent-filter>: 앱 구동 시에 이 활동을 메인 액티비티로 설정하기 위한 인텐트 필터를 정의합니다. "android.intent.action.MAIN" 액션과 "android.intent.category.LAUNCHER" 카테고리를 사용하여 이 활동을 앱의 런처 액티비티로 지정합니다.
반응형
'Coding > Android Studio' 카테고리의 다른 글
안드로이드 스튜디오 View에 대해(XML, TextView, EditText, Button) (0) | 2023.11.12 |
---|---|
안드로이드 스튜디오 Toast class에 대해 (0) | 2023.11.08 |