기존 안드로이드 앱을 만들 때 사용하는 ADT 툴의 한계를 채워 줄 수 있는 새로운 플러그인을 개발하자는 취지로 시작하였습니다. ADT 플러그인의 한계를 뛰어넘고, 3D를 활용한 UI제작을 통하여 개발 시 개발자는 기존의 개발방법과 차이를 두지 않는 한도 내에서 개발자들이 편리하게 기존 ADT의 퍼포먼스를 능가하는 개발 결과를 주는데 목적이 있습니다.


 

System Architecture

 

 

 

레이아웃 및 오브젝트 구성

1. Rotation Layout

좌우로 회전을 하는 형태의 Layout 입니다.

 

RotationLayout : 기본형태

 

 RotataionLayout : 객체 선택형태

 

2. Dock Layout

Mac 의 Dock 형태의 Layout 입니다.

 

 

DockLayout : 기본형태

 

DockLayout : 객체 선택형태

 

3. Dial Layout

옛날 전화기 모양의 Dial 형태 Layout 입니다.

 

 

DialLayout : 기본형태

 

DialLayout : 객체 선택형태

 

4. Roll Layout

상하로 회전하는 형태의 Layout 입니다.

 

 

RollLayout : 기본형태

 

RollLayout : 객체 선택형태

 

5. Object

 

 

Cube Object

 

Flat Object

 

Circle Object

 

Custom Object

 

 

 

NDK 구성

1. NDK 활용 라이브러리를 제작합니다.

 

 

2. libNDKLib.so

 

 

3. Android Library 구성

AUIDT.jar

 

 

4. Plug-In 구성

Install

- Plug-In 이 설치되면 사용자의 eclipse 폴더에 Plug-In 의 Custom SDK(Auidt.jar, Layoutlib.jar, template파일들) 와 3D 환경을 위한 라이브러리 파일들을 저장합니다.

 

 

Wizard

- Plug-In 을 설치하면 기존 ADT에서 사용하는 Android Category에 AUIDT 항목을 생성합니다.

 

- AUIDT 프로젝트를 선택하면 기존 ADT 와 유사하게 Package 의 이름을 정하고 Build Target SDK 를 설정할 수 있습니다.

 

 

- Launcher Icon 과 Activity 를 정한 후 Finish 버튼을 누르면 Wizard 가 종료되고 새로운 프로젝트가 생성됩니다.

 

Project

- src, gen, res 등 ADT 와 같은 환경을 제공하여 사용자들이 큰 어려움 없이 개발을 할 수 있도록 해줍니다.

 

 

- AUIDT 의 라이브러리와 초기 resource 들이 저장되어 있고 buildpath 가 설정되어 있습니다.

 

 

- AUIDT 의 라이브러리를 사용하지만, 기존 ADT 에서 사용하는 Support Library 를 포함한 외부 라이브러리를 불러와도 문제가 없습니다.

 

Editor

- 일반 이클립스의 에디터와 같습니다. 사용자의 JDT 가 연동되어 있고 AUIDT 의 classpath 가 설정되어 있기 때문에 사용자는 어려움 없이 에디터를 사용 할 수 있습니다.

 

 

 

3D XML Editor

- SDK 로부터 화면을 불러오기 때문에 사용자의 컴퓨터에 설치되어 있는 android sdk 에서 지원하는 모든 화면을 불러 올 수 있습니다.

- 화면 레이아웃의 기본은 RelativeLayout 으로 설정되어 있고, 사용자는 원하는 Layout 을 모두 사용 할 수 있습니다.

 

 

- 메뉴에 있는 3D widget 들을 화면으로 드래그하면 widget 들이 화면에 나타나고 현재 설정되어 있는 Layout 에 맞게 크기를 조정하거나 위치를 옮길 수 있습니다.

 

 

- 사용자가 3D XML Editor 에서 화면을 구성하면, xml 구문도 함께 만들어진다. Xml property 는 위젯의 이름으로 정해집니다.

 

 

- 각 Layout 에 맞게, id 외 기타 속성들을 설정할 수 있습니다.

 

 

Builder

- 사용자가 새로운 프로젝트를 생성할 때, 프로젝트 내의 리소스들을 검색하고, SDK 의 aapt 를 이용하여 리소스의 id를 가지는 R.java 를 생성합니다.

- 기존 ADT 플러그인을 연동하여 prebuilder, post builder 를 빌더로 사용합니다.

 

 

 

현재 이클립스 플러그인 마켓플레이스에 등록이 되어 있으며 안드로이드 마켓에는 샘플 프로그램이 등록이 되어 있는 상태입니다.

 

 

개발환경

[OS] Windows7, Ubuntu 12.04

[TOOL] Visual Studio 2010, eclipse juno

[Language] C, C++, JAVA

 

 

에필로그

이클립스 플러그인을 만든다는게 마켓에도 플러그인 어플이 100개 정도밖에 없을 정도로 힘든 도전이었습니다. 이에 NDK 를 이용한 JNI 의 연동, 그곳에  openGL ES 쪽의 문제, 등의 여러 난관에 봉착을 하였지만 노력으로 이겨나갔고 현재까지 만들었습니다. 밤을 새워가면서 만든 프로그램이니만큼 관심있게 지켜봐 주셨으면 합니다.

 

 

향후 발전 방향

향후 지속적인 업데이트와 더 많은 컴텐츠를 확보 함으로써 개발자들에게 편의성을 많이 제공할 예정이고 본 플러그인을 이용하여 많은 어플을 제작을 할 예정입니다.

 

 

 

 

김승욱 / Ksw29zz@naver.com / 010 - 5230 - X5XX

강상규 / Kang3498@naver.com / 010 - 3625 - X0XX

탁현욱 / Hyunuk.T@gmail.com / 010 - 9261 - X3XX

 

 

 

 



posted by 알 수 없는 사용자