탐색기나 Finder도 실행프로그램인지라

AIR가 만질 수 있는 영역이 아닙니다.

PFG 소셜 프로젝트를 진행하는데 필요한 부분인데

반짝 생각나서 해봤더니 나름 쓸만합니다.

아래 코드는 바탕화면을 띄워주는 코드입니다.

1프레임 코딩용 테스트 코드
stage.addEventListener( "click", clickListener );

function clickListener( e: MouseEvent ): void
{
     navigateToURL( new URLRequest( "file:///" + File.desktopDirectory.nativePath + File.separator ) );
}

Windows에서 실행했을 때



OS X에서 실행했을 때



이런 유도리없는 파이어폭스 같으니라고!!

Windows에서는 이쁘게 탐색기로 연결해주지만

OS X에서는 고지식한 파폭군이 모르쇠로 일관하는군요.

어쩌겠습니까...

아예 외부 프로그램이 접근이 안되는 AIR 지만



ByteArray 타입의 바이너리 데이터를

웹에서 사용할 수 있는 문자열로 변환해줍니다.

아래의 1번 예제는

1. 유저의 이미지를 불러와 Bitmap.draw() 로 찍은 후에

2. JPEncoder 를 통해서 ByteArray로 인코딩을 합니다.

3. 이렇게 인코딩된 ByteArray를 텍스트로 변환합니다.

4. 텍스트를 클립보드로 복사합니다. (ctrl + c)

2번 예제는

1. 입력된(ctrl + v ) 텍스트를 읽어와서

2. ByteArray로 다시 변환합니다.

3. 이렇게 변환된 ByteArray를 다시 Loader를 이용해서 이미지로 로드해옵니다.



1) Binary -> Text



2) Text -> Binary



사용법은 간단합니다.

ByteArray를 텍스트로 변환하려면

var text: String = new StringSerializer().serialize( byte );

텍스트를 ByteArray로 다시 변환하려면

var byte: ByteArray = new StringSerializer().unserialize( text );

이렇게 사용하면 됩니당.

에러가 간혹 있을 수도 있습니다. 에러같은거 보이시면 바로 댓글 ㄱㄱ




데이터의 증감률은 테스트해보니 아래처럼 나왔습니다.

13,624 byte 가 17,313(34,626 byte)의 문자로 변환 약 254% 증가.

10,862 byte 가 13,293(26,586 byte)의 문자열로 변환 약 248% 증가.

대략 2.5배 정도 용량이 늘어나더군요.

64개의 문자를 가지고 6 bit 단위로 치환하는 방식이기 때문에 모두 웹에서 표현할 수 있는 문자열입니다.

그리고 Preset 도 지정할 수 있어서 활용하기 좋을거 같습니다.

잇힝~

p.s) XML에 이미지가 들어가는 티스토리의 백업기능을 보고 흉내내봤습니다.




아이팟에서 제 블로그 볼때 : http://wooyaggo.tistory.com/m

기존의 주소에 /m 으로 접속하면 되는군요.

아 이쁩니다!!

p.s) 아이팟산지 얼마 안된 날 위해 준비한것처럼 딱 나와주는 센수!!


+ Recent posts