1. 안드로이드에서는 기존의 자바처럼 코드상에서 화면을 구성하며 데이터를 정의하고 사용할 수 있지만 XML 문서를 이용하는 방법을 새롭게 지원하고있다.
2. XML 레이아웃의 장점
- 코드와 데이터가 완벽하게 분리되므로 개발자와 디자이너의 분담 작업이 용이하다.
- 조건에 따라 레이아웃을 통째로 교체할 수 있으므로 호환성 확보, 국제화에 유리하다.
- 레이아웃만 수정할 때는 컴파일하지 않아도 되므로 개발 속도가 빨라진다.
- 구조와 속성을 함축적으로 기술할 수 있으며 레이아웃 재활용도 가능하다.
3. 실무에서는 코드 레이아웃과 XML 레이아웃을 둘 다 사용하며 동시에 적용하기도한다. 디자인에 관련된 정적인 레이아웃은 주로 XML코드로, 런타임과 연관있는 레이아웃은 자바 코드를 사용하는것이 보통이다.
4. 가장 기본적으로 생성되는 메인.xml을 살펴보자.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
가장 위에 xmlns에서 안드로이드 애트리뷰트를 사용하겠다는 네임스페이스를 선언하는것이고 이 애트리뷰트 형식은
android:속성명="속성값" 이다. 각 속성명들과 속성값은 매우 다양하고 많기 때문에 예제를 통해서 하나씩 알아가는 것이 좋겠다.
5. 문자의 경우 Strings.xml에 마찬가지로 xml 형태로 관리되어 사용 할 수 있으며 아래와 같이 직접 문자열을 쓸 수 도 있다.
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="문자를 직접 입력합니다" />
6. AndroidMenifest.xml
- 안드로이드 프로젝트 생성시 자동으로 생성되는 파일로 현재 프로젝트에 대한 뼈대를 구성하고있는 파일이다. 패키지 이름, 버전, 설치경로, SDK버전, Activity 등록 등에 대한 정보를 가지고있다.