2012-10-22 6 views
0

Java 프로그래밍이 잘되어 있습니다. Android 프로젝트를 진행하면서 Android 용 애플리케이션을 만드는 방법을 배웠습니다. 그러나, 나는 안드로이드의 인터페이스에 대해 이해하지 못한다는 요지가 있습니다. Java로 작업 할 때 우리는 코드 스크린 패널과 Swing, AWT, SWT와 같은 일부 가져 오기를 사용해 왔지만 이제 XML 파일에 인터페이스를 만들고 XML 파일이 인터페이스를 만드는 방법을 이해하지 못합니다. 나는 그 논리를 알고 싶다. XML 파일에 대해 나에게 가르쳐 주시겠습니까?Android 용 인터페이스 파일 용 XML 파일

답변

1

XML과 비슷한 HTML을 생각해보십시오. 기본적으로 마크 업을 사용하여 UI 구성 요소를 정의하고 위치, 크기, 색상 등과 같은 기본 스타일 속성을 제공하지만 실제 행동 특성은 제공하지 않습니다. HTML과 같은 XML 태그에는 속성을 정의하는 이름과 속성이 있습니다. 많은 경우에 중첩 될 수 있습니다. 태그에 다른 태그가 중첩되어 있으면 해당 태그를 호출합니다. 하위 태그가있는 태그에는 여는 태그()와 닫는 태그()가 있습니다. 어린이는 중간에 정의됩니다. 자녀가없는 태그>

<LinearLayout> 
    <Button 
     android:layout_width="100dp" 
     android:layout_height="25dp" 
     android:id="@+id/my_button" 
     android:text="CLICK HERE" /> 
</LinearLayout> 

속성은 안드로이드가 바깥 쪽의 앞/(슬래시)를 배치하여 닫는 태그를 생략 할 수 있습니다 : 라벨을 그들에 XML 파서가 제대로 그들이에 의해 정의 된 속성입니다 인식 할 수 있도록 안드로이드, 간단하게 그것을 넣어. 이클립스 ADT (또는 Eclipse를 사용하지 않는 경우 SDK 도구)에 포함 된 빌드 도구는 해당 속성을 적절히 설정하여 씬 뒤에 자바 객체를 생성하므로 사용자가 그 작업을 수행 할 필요가 없습니다. 당신이 원하는 경우

Button myButton = (Button) findViewById(R.id.my_button); 
myButton.setOnClickListener(...); 

것은, 당신이 당신의 레이아웃을 수행 할 수 있습니다 쉽게 자바 코드를 참조 할 수 있도록 또한, 그것은 당신의 레이아웃 요소를 생성하는 자바 객체에 대한 포인터를 포함하는 R.java 파일을 생성/UI 개발은 자바 코드로 전적으로 이루어 지지만, 해당 XML 코드에서 묵시적/생략되는 많은 값을 명시 적으로 설정해야하므로 훨씬 더 장황하고 지루해진다. XML을 사용하면 많은 시간을 절약 할 수 있으며 시각적 편집자는 원하는 모양을 훨씬 쉽고 빠르게 찾을 수 있습니다.

XML을 사용하면 쉽게 국제화하려는 String과 같은 항목을 정의 할 수 있습니다. 올바르게 완료되면 화면 크기와 해상도, 간단한 애니메이션을 쉽게 확장 할 수 있습니다. 리소스 디렉토리에서 "정규화 된 경로 이름"을 사용하면 XML로 정의 된 값/자원 (레이아웃, 드로어 블 또는 문자열 등)의 대체 버전을 사용자 디바이스를 기반으로 런타임에 적절하게 스왑 아웃 할 수 있습니다 & 설정.

예를 들어, landscape의 경우 res/layout-land에서 레이아웃을 정의하고 portrait의 경우 res/layout-port에서 대체 버전을 정의 할 수 있습니다. 그런 다음 앱은 자동으로 사용자 방향에 해당하는 레이아웃을로드합니다. 비슷하게 res/values-en/strings.xml에서 "Yes"값을 가진 문자열 인 button_label을 정의하고 res/values-es/strings에서 button_label과 같은 이름의 문자열을 정의 할 수 있습니다. xml은 "Si"값을가집니다. 사용자 로케일이 영어로 설정된 경우 '예'가 사용됩니다. 해당 지역이 스페인어 인 경우 "Si"가 사용됩니다. 그들은 충분히 이해하고 나에게 도움이

http://developer.android.com/guide/topics/graphics/view-animation.html