Tizen Studio를 통한 Text 및 사각형 출력

hoyunadmin 11월 30, 2016 댓글 없음

Tizen SDK가 지난 9월 Tizen Studio로 새 출시되었습니다.

먼저 기존 Tizen SDK에서 Tizen Studio로 변하게되며 어떠한 기능이 추가되었는지 간단히 살펴보겠습니다.

1. 인증 없이 에물레이터를 통한 APP개발 가능

기존 Tizen SDK에서는 7단계에 걸친 복잡한 인증 절차를 걸처야 에물레이터를 통해 APP개발과 테스트가 가능했습니다.(단, 디바이스를 통해 개발 및 테스트를 진행할 경우 인증을 받아야합니다. 인증 방법은 잠시 후 설명하겠습니다.) 하지만, Tizen Studio에서는 복잡한 인증 절차를 간소화 하고 인증서 생성 없이 에물레이터를 통해 APP개발과 테스트가 가능해졌습니다.

certificate-manager

       <사진1. Tizen Studio Certificate Manager>

2. Window에서도 EDC Editor 사용 가능

기존 Tizen SDK의 경우 Linux환경에서만 EDC Editor를 제공하였습니다. 이에 Window환경에서는 EDJ를 통해 UI를 구성할 경우 미리보기 없이 사진2와 같이 Text파일 형식을 통해 코딩만 가능하였습니다.

tizen-edc-sample

                           <사진2. Tizen EDC Sample>

하지만, Tizen Studio에서는 Window환경에서도 사진3과 같이 EDC Editor를 제공하여 쉽게 UI구성을 할 수 있게 제공합니다.

tizen-studio-edc-editor

              <사진3. Tizen Studio EDC Editor>

3. 안정적인 에물레이터 제공

필자의 경우 Window10을 사용하게 되는데 기존 Tizen SDK는 에물레이터가 실행이 되지 않은 경우가 빈번하여 Linux환경을 사용했습니다. 하지만, Tizen Studio는 Window10에서도 안정적으로 에물레이터를 제공하고 있어 Window상에서도 개발이 더욱 편리하게 되었습니다.

tizen-%ec%98%88%eb%ac%bc%eb%a0%88%ec%9d%b4%ed%84%b0

                <그림4. Tizen 에물레이터>

이 외에도 Tizen Studio에서 많은 변화가 있지만, 가장 눈에 띄는 변화를 간단하게 정리하였습니다. 이제 APP개발에 있어 복잡한 인증절차가 없어지고, Window환경에서도 EDC Editor가 제공될 뿐더러, 안정적인 에물레이터가 제공되어 APP개발이 더욱 편리하게 되었습니다.

그럼 이제 Tizen Studio를 통해 간단한 Text 및 사각형을 출력해보겠습니다.

먼저, EDC Editor를 사용하여 Text와 사각형을 구성해 보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
collections {
   group { name: “main”;
      parts {
         part { name: “txt_title”;
            type: TEXT;
            mouse_events: 0;
            description { state: “default” 0.0;
               text { text: “Hello Tizen”; font: “Tizen:style=regular”; size: 20; min: 1 1; align: 0.5 0; ellipsis: -1; }
               color: 0 255 255 255;
            }
         }
         part { name: “rect_eJhZ”;
            type: RECT;
            scale: 1;
            description { state: “default” 0.0;
               color: 0 255 255 255;
               visible: 1;
               align: 0.5 0.5;
               rel1.relative: 0.25 0.25;
               rel2.relative: 0.75 0.75;
            }
         }
      }
   }
}

EDC Editor를 통해 group을 생성한 후 part를 추가해 text와 사각형을 추가한 후 색상과 위치 등을 설정하였습니다.

EDC를 통한 UI구성은 복잡하지 않아 자세한 설명은 생략하겠습니다.

컴파일을 하게 되면 Edje라이브러리를 통해 바이너리파일인 EDJ파일이 생성되게 됩니다.

그럼 생성된 UI인 EDJ파일을 Layout에 적용시켜보겠습니다.

먼저 EDJ파일의 PATH를 define시킵니다.

#define EDJ_FILE “/opt/usr/apps/org.example.basicuiwithedc/res/edje/basicuiwithedc.edj”

이후 create_base_gui 함수로 이동하여 아래와 같이 layout에 EDJ파일을 SET시킵니다.

1
2
3
4
5
6
7
/* Layout */
Evas_Object *layout = elm_layout_add(ad->win);
elm_layout_file_set(layout, EDJ_FILE, “main”);
elm_object_part_text_set(layout, “txt_title”, “Hello Tizen”);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_content_set(ad->conform, layout);
evas_object_show(layout);

사용된 API를 살펴보겠습니다.

  • elm_layout_add() : layout를 생성하는 API
    • parameter : parent object
  • elm_layout_file_set() : layout에 EDJ파일을 SET하는 API
    • parameter : layout object, layout에 사용되파일 경로, Group
  • elm_object_part_text_set() : object에 text를 SET하는 API
    • parameter : Elementary object, part, text
  • evas_object_size_hint_weight_set() : object의 크기를 대략적으로 지정하는 API
    • parameter : evas object , x, y
  • elm_object_content_set() : 컨터이너에 콘텐츠를 지정하는 API
    • parameter : Container, Content
  • evas_object_show() : 지정된 evas object를 출력하는 API
    • parameter : evas object

이제 project를 RUN시키면 아래 사진5와 같이 TEXT와 사각형이 출력되는 것을 볼 수 있습니다.

text%eb%b0%8f-%ec%82%ac%ea%b0%81%ed%98%95

       <사진5. Tizen TEXT 및 사각형 출력>

※참고 : USB 커넥터가 없는 SAMSUNG의 Galaxy Gear S2모델의 디버깅 방법

1. Galaxy Gear S2의 설정 -> Gear정보 -> 디버깅 활성화

2. Galaxy Gear S2와 개발에 사용될 PC가 같은 WIFI에 접속(Galaxy Gear S2의 Bluetooth는 비활성화 하는게 더욱 좋습니다.)

3. Tizen Studio의 Remote Device Manager 실행

   Tizen Studio Connetion Explorer의 아래 사진6과 같이 빨간네모박스 표시된 버튼을 클릭하시면 쉽게 실행할 수 있습니다.

connect

      <사진6. Tizen Studio Connection Explorer>

4. 실행된 Remote Device Manager의 + 버튼을 클릭하여 Device를 추가

    IP주소는 Gear의 설정 -> 연결 -> WIFI -> WIFIR 네트워크 에서 확인할 수 있습니다.

anjaj

                          <사진7. Device 설정>

5. 다음과 같이 Connect를 확인할 수 있고 이제 WIFI를 사용하여 Galaxy Gear S2를 통해 디버깅 및 업로드가 가능합니다.

%ec%97%b0%ea%b2%b0%ec%99%84%eb%a3%8c

               <사진8. Device 연결 완료>

다른 방법으로는 Tizen의 sdb기능을 사용하여 연결할 수 있습니다.(필자의 경우 이방법을 더욱 선호)

cmd를 실행 시킨 후 아래와 같이 Tizen Studio의 sdb가 설치된 경로로 이동합니다.

이동 후 ‘sdb connect ip주소’ 를 입력하면 device와 연결할 수 있습니다.

연결 해제의 경우 ‘sdb disconnect ip주소’를 입력하면 해제할 수 있습니다.

%eb%aa%85%eb%a0%b9%ec%96%b4

              <사진9. sdb를 사용한 device 연결>

단, 이 2가지 방법을 통해 device와 연결을 하였더라도 최소 연결시에는 디바이스 인증을 받아야합니다.(인증은 한번만 받으면 되고, 만약 tizen studio를 재설치할 경우 다시 인증을 받아야합니다.)

인증 방법은 다음과 같습니다.

1. Certificate Manager 실행 후 인증서 추가를 위해 + 버튼 클릭

2. SAMSUNG 클릭

%ec%9d%b8%ec%a6%9d%ec%a0%88%ec%b0%a81

                     <사진10. Deivce 인증 절차1>

3. Mobile/Wearable or TV 선택

t%ec%84%a0%ed%83%9d

                     <사진11. Device 인증 절차2>

4. Create a new certificate profile에 name 추가

name

                     <사진12. Device 인증 절차3>

5. Create a new author certificate

asdasdasd

                     <사진13. Device 인증 절차4>

6. Name과 Password 추가

naemnc

                     <사진14. Device 인증 절차5>

7. Samsung developer에 등록된 id로 로그인

%eb%a1%9c%ea%b7%b8%ec%9d%b8

         <사진15. Device 인증 절차6>

8. Browse를 클릭하여 Tizen Studio의 author추가

%ec%9d%b8%ec%a6%9d%ec%84%9c

                     <사진16. Device 인증 절차7>

9. Create a new distributor certificate

123

                     <사진17. Device 인증 절차8>

10. DUID 입력

234

                     <사진18. Device 인증 절차9>

DUID는 device와 connect 되어 있을 경우 자동으로 삽입됩니다.

next를 클릭하면 다음과 같은 인증이 완료되었다는 메시지를 확인할 수 있습니다.

345

                     <사진19. Device 인증 절차10>

이후 아래와 같이 연결된 device를 우클릭하여 Permit to install applications를 하면 Galaxy Gear S2를 통해 디버깅 및 APP업로드가 가능합니다.

456

         <사진20. Device Permit to Install applications>

실제로 Galaxy Gear S2에 위에서 만든 Text및 사각형 출력을 올려보겠습니다.

%eb%a7%88%eb%ac%b4%eb%a6%ac

                     <사진21. Galaxy Gear S2 APP>

위와 같은 절차를 거치면 에물레이터와 동일하게 APP이 올라간 것을 확인할 수 있습니다.

감사합니다.

Prepared by : 신재규

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.