2012-05-14 4 views
2

나는 안드로이드에서 GUI를 만드는 것에 따라 짧은 질문이있다. 어떤 방법으로 XML이나 코딩이 더 좋은가요? 나는 항상 xml이 더 좋지만 스크롤 뷰가 있다고 상상한다. 스크롤보기 내부에는 상대방이 있습니다. 그 안에는 RadioButton 옆 TextView 옆에 ImageView가있는 여러 행이 있어야합니다. 행 수는 다를 수 있습니다. XML을 사용하여 50 개의 뷰를 만들거나 이러한 뷰가 생성되는 코드의 루프를 만드는 것이 더 낫습니까?안드로이드 GUI XML 대 코드

답변

1

동적으로 구성 요소를 추가해야하는 경우에만 코드 (또는) 혼합 방식 (XML의 레이아웃 정의 및 코드의 구성 요소 추가)으로 이동하십시오. 구성 요소가 정적 인 XML 인 경우 가장 좋을 수 있습니다.

1

동적 콘텐츠는 동적으로 추가됩니다. 그래서 당신의 예제는 자바 코드가 필요합니다. 프로그래밍 방식으로 동적 부분 만 추가하면 정적 부분에 XML 문서가 사용됩니다 (레이아웃이 완전히 동적 인 경우는 매우 드뭅니다).

고정 된 수의보기가있는 경우 루프가 아닌 XML로 50 개를 작성합니다. 나는 코드 중복에 대해 궁금해하고 있으며, 알고있는 한 xml을 사용할 때 일부를 얻을 것입니다.

각각의 장단점이 있습니다

+0

이것은 올바른 하나의 상대 레이아웃 (xml)을 만들고 레이아웃을 채워서 다시 사용하여 동적 콘텐츠를 생성해야합니다. – KDEx

+0

그건 재미 있어요.나는 xml 파일의 50 개 뷰가 더 좋은 방법이라고 믿지 않았다. – Mister004

+0

@ Mister004 내가 볼 수있는 방식으로 GUI를 동적으로 코딩하는 것을 피할 수있다. – keyser

7

('XMLS 내에서 코드 중복을 최소화하는 한 가지 방법은 스타일과 테마의 사용에있다).

  • 전문가를

    XML -> 빠른 GUI 개발,

  • 단점 깨끗한 코드를 유지 -

    정적>

동적 (코드) : 그냥 몇 가지 이름

  • 전문가 -> r에 반응 할 수 있음 untime 조건
  • 단점 - 가난한 유지 보수 및 잠재적 buggier을 의미> 더 많은 코드, 당신은 대신있는 ScrollView의 ListView를 사용하지 않는 이유는
0

. 구현이 더 간단하며 성능이 향상되어야합니다.

ListView를 사용하여 XML 파일을 만들고 활동에 자신의 어댑터를 구현하여 행을 인스턴스화하십시오. 인터넷에서 많은 튜토리얼을 찾을 수 있습니다. 필요한 것을 찾을 수있을 것입니다. 행운을 비네.

+0

이미 내가 말한 예를 코딩했습니다. 나는 그것에 대해 생각하고 정말로 더 나은 것을 상상할 수 없었기 때문에 묻고 싶었다. – Mister004

1

나는 위에 동의합니다. 동적 업데이트가 필요한 경우에도 XML 비트와 조각을 사용하여 콘텐츠를 렌더링 할 수있는 경우에도 XML이 더 나은 방법입니다. 코드는 XML 요소를 기반으로하지만 XML 파일은 독립적입니다. 따라서 코드에서 funcitonality를 깨면 비즈니스 로직이 UI 부분을 손상시키지 않으므로 쉽게 개발하고 문제를 쉽게 찾을 수 있습니다.