본문 바로가기

Programing/FLEX

펌글]ResourceManager 의 기본적인 사용법

앞으로 ResourceManager 에 대해서 여러 번에 걸쳐 다룰 생각입니다. 이번에는 ResouceManager 의 기본적인 사용법만을

포스팅 하겠습니다. ResourceManager 는 텍스트나 이미지 등의 클래스들을 한군데 모아놓고 접근하기 용이하기 위해 만들어졌습니다.

 

또한 국가별 로컬라이징 작업이나 동적 리소스 변경 등이 가능하도록 설계되어 있습니다.

 

기존의 StyleManager 가 컴포넌트의 스타일을 다루기 위해 있었다면 ResourceManager 는 스타일 외에 텍스트나 특정 이미지 등

리소스를 다루기 위해 존재합니다. 간단한 프로젝트에서 라면 사용할 일이 없다던가 대체할만한 여러 방법이 존재하기 때문에

굳이 사용할 이유가 없을지도 모르겠지만 Flex의 특성상 jsp 의 연동할 일이 많기 때문에 기간망급의 대단위 프로젝트에서는

반드시 다뤄져야 할 것입니다.



먼저 ResourceManager 는 properties 확장자를 사용하기 때문에 기존의 Flex Builder 3 를 사용하시는 분이라면

propedit 를 설치하시는것을 권장합니다.


기존의 jsp 작업을 많이 하셨던분들이라면 설명드리지 않아도 아실겁니다.


Help -> SoftwareUpdate -> Find and Install

 

Name: propedit

URL: http://propedit.sourceforge.jp/eclipse/updates

 

를 입력하시고 업데이트 하시면 됩니다.


사용자 삽입 이미지



이제 ResourceManager 를 사용해 봅시다. 우리는 여기에서 기본적인 사용법만을 다룰것이기 때문에 설명하지 않은 부분이

있더라도 이해해주시기 바랍니다.


먼저 resx.properties 파일을 생성합니다. 파일 네임은 어떤것이든지 상관없지만 확장자는 당연히 properties 로 되어야겠죠.

그리고 파일을 생성한후에 UTF-8 형식으로 바꿔주셔야 합니다. 디폴트는 ISO-8859-1 입니다.




# 리소스 매니저 테스트

MSG01 = 안녕하세요.

MSG02 = JAVA & FLEX

MSG03 = 환영합니다.

 

IMG01 = Embed("image.png")



다음과 같이 입력했습니다. 기존의 properties 파일과 다른점이라면 위와 같이 이미지 파일도 하나의

리소스키로 등록이 가능하다는 점입니다.



이제 리소스를 소스에 적용해보겠습니다.




<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initApp()">

      

       <mx:Script>

             <![CDATA[

                   

                    [Bindable] private var msg:String;

                   

                    private function initApp():void

                    {

                           msg = resourceManager.getString("resx" , "MSG01");

                    }           

             ]]>

       </mx:Script>

      

      

       <mx:Label text="{msg}" />

       <mx:Label text="{resourceManager.getObject('resx' ,  'MSG02')}"/>

       <mx:Label text="@Resource(bundle='resx' , key='MSG03')" />

       <mx:Image source="@Resource(bundle='resx' , key='IMG01')" />

      

</mx:Application>




소스에서 언급된 resx 는 번들네임이라고 하는데 일단은 리소스를 묶어놓은 패키지라고 이해하시기 바랍니다.

뒤에 키값은 우리가 properties 에서 설정한 값이 되겠습니다.


위에는 몇가지 활용법을 보여드렸습니다. 직접 @Resource 를 이용해서 빌드할수도 있고. resourceManager 로 접근해서 객체를

넘겨버릴수도 있습니다. resourceManager 는 UIComponent 에 선언되어 있어 UIComponent 를 베이스로 하는 대부분의

비주얼 컴포넌트에서는 모두 접근이 가능합니다.