새 프로젝트 만들기

새로운 플래시 애플리케이션 프로젝트를 만드는 방법을 설명한다.

01. 템플릿 내려받기

다운로드 페이지에서 템플릿(template-1.3.1.zip)을 내려받아 컴퓨터에 저장한다.

02. 이클립스에 템플릿 넣기

이클립스에서 File > Import... 메뉴를 선택한다.

그림 1과 같이 Import 대화상자가 나타나면 General 항목에서 Existing Projects into Workspace를 선택한 후 Next 버튼을 누른다.

그림 1. Import 대화상자

그림 2의 화면이 나타나면 Select archive file을 선택하고 Browse... 버튼을 눌러 내려받은 템플릿 ZIP 파일을 선택한 후, Finish 버튼을 누른다.

그림 2. 템플릿 ZIP 파일 선택

그림 3과 같이 Package Explorer에 템플릿 프로젝트가 들어가 있음을 확인할 수 있다.

그림 3. 이클립스에 들어간 템플릿 프로젝트

03. 프로젝트 이름 변경하기

그림 4와 같이 Package Explorer에서 template 프로젝트를 선택하고 File > Rename... 메뉴를 선택한다.

그림 4. 이름을 변경할 프로젝트

그림 5와 같이 Rename Java Project 대화상자가 나타나면 변경할 프로젝트 이름을 입력한 후 OK 버튼을 누른다.

그림 5. Rename Java Project 대화상자

그림 6과 같이 프로젝트 이름이 변경되었음을 확인할 수 있다.

그림 6. 이름이 변경된 프로젝트

04. 패키지 이름 변경하기

그림 7과 같이 Package Explorer에서 AndroidManifest.xml 파일을 더블클릭하여 연다.

그림 7. AndroidManifest.xml 파일

그림 8과 같이 AndroidManifest.xml 탭을 선택하고 your.packagename(패키지 이름)을 수정한다.

안드로이드 애플리케이션은 패키지 이름으로 구분되기 때문에 입력하는 패키지 이름은 유일한 문자열이어야 한다. 이를 위해 소유한 URL을 거꾸로 한 문자열(www 제외)에 문자열을 추가하여 패키지 이름을 정하는 것이 일반적이다. 예를 들어, 소유한 URL이 www.sample.com인 경우 com.sample에 문자열을 추가하여 패키지 이름을 만든다.

그림 8. your.packagename 수정

패키지 이름을 수정하고 AndroidManifest.xml 파일을 저장하면 그림 9와 같은 대화상자가 나타나는데 Yes 버튼을 누르면 된다.

그림 9. Launch Configuration Update 대화상자

그림 10과 같이 패키지 이름이 변경되었다.

그림 10. 변경된 패키지 이름

05. 로봇 ID 변경하기

그림 11과 같이 AndroidManifest.xml 파일에서 카테고리를 수정한다.

그림 11. 카테고리 수정

알버트 로봇용으로 개발된 애플리케이션은 그림 12와 같이 카테고리에 kr.robomation.physical.albert를 입력하면 되고, 알파 로봇용으로 개발된 애플리케이션의 경우에는 그림 11과 같이 카테고리에 kr.robomation.physical.alpha를 입력하면 된다.

그림 12에서 입력한 kr.robomation.physical.albert는 알버트 로봇의 ID인 Albert.ID와 같고, kr.robomation.physical.alpha는 알파 로봇의 ID인 Alpha.ID와 같다.

그림 12. kr.robomation.physical.albert로 수정

06. 그룹 ID 변경하기

스마트 로봇 론처에는 애플리케이션이 설치될 때 폴더가 자동으로 생성되는 기능이 있다. 그림 13과 같이 AndroidManifest.xml 파일에서 your.group.id를 수정하도록 하자.

그림 13. your.groud.id 수정

그림 14와 같이 그룹 ID가 변경되었다.

그림 14. 변경된 그룹 ID

roboid.group.id는 각각의 폴더를 구분하기 위한 ID이고, roboid.group.name은 폴더의 이름을 나타낸다.

애플리케이션이 설치될 때 roboid.group.id, 즉 이 예제에서는 www.sample.com에 해당하는 폴더가 존재하지 않는 경우에는 roboid.group.name에서 설정한 이름을 폴더 이름으로 하여 새로운 폴더를 생성하고, 그 폴더 안에 애플리케이션이 포함된다. 애플리케이션이 설치될 때 roboid.group.id, 즉 이 예제에서는 www.sample.com에 해당하는 폴더가 이미 존재하는 경우에는 폴더를 새로 생성하지 않고 해당 폴더에 애플리케이션이 포함된다.

AndroidManifest.xml 파일에서 roboid.group.id와 roboid.group.name을 설정하지 않으면 (roboid.group.id에 해당하는 메타 데이터 한 줄을 삭제하고, roboid.group.name에 해당하는 메타 데이터 한 줄을 삭제) 스마트 로봇 론처의 바탕화면에 애플리케이션이 표시된다.

폴더의 ID, 즉 AndroidManifest.xml 파일에서 roboid.group.id에 설정할 수 있는 ID 문자열은 한 업체당 하나로 제한된다. 너무 많은 폴더가 생성되면 사용자의 혼란을 야기하기 때문이다. 개인적으로 하나의 애플리케이션만 배포하는 경우에는 roboid.group.id를 설정하지 말고 (roboid.group.id에 해당하는 메타 데이터 한 줄을 삭제하고, roboid.group.name에 해당하는 메타 데이터 한 줄을 삭제) 바탕화면에 표시되도록 하자. 또한, 각 업체별로 설정하는 폴더의 ID는 추후 변경할 수 없으므로 신중하게 선택하도록 하고, 자신만이 사용하는 유일한 문자열로 설정하여야 한다. 보유하고 있는 URL 주소를 폴더의 ID로 설정하는 것도 좋은 방법이다.

스마트 로봇 론처에는 미리 지정된 폴더 ID가 있다. 현재는 3가지가 있으며, AndroidManifest.xml 파일에서 roboid.group.id에 설정하면 된다. roboid.group.name은 설정하지 않아도 되며, roboid.group.name을 설정하더라도 무시된다. 미리 지정된 폴더 ID는 누구나 사용할 수 있다.

폴더 ID 폴더 이름 설명
org.smartrobot.folder.book 책을 사용하는 애플리케이션들을 포함하는 폴더
org.smartrobot.folder.card 카드놀이 카드를 사용하는 애플리케이션들을 포함하는 폴더
org.smartrobot.folder.board 보드놀이 보드를 사용하는 애플리케이션들을 포함하는 폴더

07. 애플리케이션 이름과 그룹 이름 변경하기

그림 15와 같이 Package Explorer에서 res 폴더의 values 폴더에 있는 strings.xml 파일을 더블클릭하여 연다.

그림 15. strings.xml 파일

그림 16과 같이 strings.xml 탭을 선택하고 Template(애플리케이션 이름)과 GroupName(그룹 이름)을 수정한다.

애플리케이션 이름은 론처에 아이콘과 함께 표시되는 애플리케이션 이름이며, 그룹 이름은 애플리케이션이 속한 폴더의 이름이다.

그림 16. 애플리케이션 이름과 그룹 이름 수정

그림 17과 같이 애플리케이션 이름과 그룹 이름이 변경되었다.

그림 17. 변경된 애플리케이션 이름과 그룹 이름 (영문 이름)

그림 18과 같이 res 폴더의 values-ko 폴더에 있는 strings.xml 파일의 애플리케이션 이름과 그룹 이름도 마찬가지 방법으로 수정한다.

그림 18. 변경된 애플리케이션 이름과 그룹 이름 (한글 이름)

08. 아이콘 변경하기

그림 19와 같이 res 폴더의 아이콘 파일들을 사용할 아이콘 파일들로 변경한다. 아이콘 파일은 론처에 표시되는 애플리케이션의 아이콘이다.

그림 19. res 폴더의 아이콘 파일 변경

09. 플래시 파일 만들기

어도비 플래시를 실행하고 AIR for Android를 선택하여 새로운 플래시 파일을 만든다.

플래시 파일을 편집한 후 File > Publish 메뉴를 선택하여 그림 20과 같이 APK 파일을 생성한다.

그림 20. 생성된 APK 파일

그림 21과 같이 APK 파일의 확장자를 ZIP으로 변경하고 압축을 푼다.

그림 21. APK 파일의 압축 풀기

10. 이클립스 프로젝트에 넣기

압축을 푼 폴더에 있는 assets 폴더를 그림 22와 같이 이클립스의 프로젝트에 복사한다.

그림 22. assets 폴더를 이클립스 프로젝트에 넣기

11. 애플리케이션 설치 및 수정하기

이클립스에서 작업한 프로젝트를 실행하면 애플리케이션을 설치한 후 실행하게 된다.

이후부터는 플래시 파일을 수정하였을 때 Publish할 필요 없이 SWF 파일만 생성하여 생성된 SWF 파일을 assets 폴더에 복사하면 된다. 애플리케이션이 이미 설치된 경우에는 작업한 프로젝트를 실행할 때 수정된 SWF 파일이 반영되지 않는 경우가 있다. 이 때에는 설치된 애플리케이션을 삭제한 후 다시 설치하면 된다.

Publish 옵션과 AndroidManifest.xml 파일

어도비 플래시에서 Publish할 때 선택하는 옵션과 AndroidManifest.xml 파일의 관계를 알아보자.

그림 23과 같이 어도비 플래시에서 Aspect ratio가 Landscape이면 그림 24와 같이 AndroidManifest.xml 파일의 aspectRatio 값이 landscape로 설정된다.

어도비 플래시에서 Aspect ratio가 Portrait이면 AndroidManifest.xml 파일의 aspectRatio 값은 portrait이며, 어도비 플래시에서 Aspect ratio가 Auto이면 AndroidManifest.xml 파일의 aspectRatio에 해당하는 meta-data 태그는 없어진다.

어도비 플래시에서 Full screen을 체크하면 AndroidManifest.xml 파일의 fullScreen 값이 true이며, 체크하지 않으면 false가 된다.

어도비 플래시에서 Auto orientation을 체크하면 AndroidManifest.xml 파일의 autoOrients 값이 true이며, 체크하지 않으면 false가 된다.

그림 23. AIR for Android Settings 대화상자

그림 24. AndroidManifest.xml 파일

그림 25와 같이 어도비 플래시에서 Permission 항목을 체크하면 그림 26과 같이 각 Permission 항목에 대응하는 uses-permission 태그가 생성된다.

그림 25. AIR for Android Settings 대화상자

그림 26. AndroidManifest.xml 파일