2012-05-11 13 views
0

Flex를 사용하여 Adobe Air 애플리케이션을 제작합니다. ArrayCollection 형식 코드는 국가 목록과 국적 목록과 같은 몇 가지 요소를 소개 한 후 지저분하고 믿을 수 없을 정도로 오래갑니다.ArrayCollection을 Flex에서 별도의 파일로 분리하는 방법은 무엇입니까?

ArrayCollection을 동일한 Flex 프로젝트의 개별 파일에 배치 한 다음 필요할 때마다 또는 컴파일 할 때로드 할 수 있습니까?

답변

1

예; ArrayCollections를 확장 한 ActionScript에서 클래스를 만든 다음 ArrayCollection의 요소를 하드 코딩합니다. 아마도 새로운 클래스의 생성자 내부에있을 것입니다.

ArrayCollection을 사용할 수있는 곳이면 어디에서나이 새 클래스를 사용할 수 있어야합니다.

More info on creating classes in ActionScript.

+0

새 ActionScript 클래스를 만들고 하드 코드 된 ArrayCollection 값을 생성자에 배치하면 원래 mxml 파일에서 동일한 ArrayCollection을 어떻게 호출 할 수 있습니까? – Cninroh

+0

새 클래스의 인스턴스를 만듭니다. 마치 당신이 현재 ArrayCollection을 가지고있는 것처럼 말입니다. 제 생각에는 당신이 치료적인 질문을하고 있다고 생각하기 때문에, Flex in a Week 교육 : http://www.adobe.com/devnet/flex/videotraining.html 및/또는 "ActionScript/Flex 소개" 도서. – JeffryHouser

0

그래서, 당신은/표시하는 에어 응용 프로그램을 구현 많은 양의 데이터를 사용했다. 이 데이터를 하드 코딩하지 않으려 고하고 클래스의 외부로 데이터를 이동하기 위해 ArrayCollection을 확장하고 싶지는 않습니다. 이 가장 유연한 솔루션은 XML 파일에 데이터를 채우고,이를 애플리케이션으로 컴파일하고, 파서를 구현하여 데이터로부터 오브젝트 (또는 클래스의 더 나은 인스턴스)를 작성하는 것입니다. 프록시, 어댑터 또는 사용할 패턴에 의해 숨겨져 야합니다.

이 기능을 사용하면 잠재적으로 파일 시스템에서 데이터를 비동기 적으로로드하거나 패키지 된 Air 응용 프로그램의 애셋으로 다른 어댑터를 구현하여 데이터를 가져와야합니다. Air와 함께 제공되거나 (웹) 서비스 (JSON, XML, AMF)를 사용하는 데이터베이스. 응용 프로그램을 모듈화하고 테스트하기가 더 쉽다는 것은 좋은 연습 일 수 있습니다.

상속에 관해서는 상속보다 구성을 선호해야합니다. 이는 응용 프로그램을 설계 할 때 가장 좋은 방법입니다.