Efl을 이용한 타이젠 네이티브 웨어러블 앱 만들기

Slides:



Advertisements
Similar presentations
Node.js on Android 김상선. Node.js 2009 년 Ryan Dahl 이 개발 자바스크립트로 네트워크 어플리케이션을 작성할 수 있는 플랫폼 간단히 말하면 서버사이드 자바스크립트.
Advertisements

Android Application. 최신버전 안드로이드 SDK 설치 1. SDK 설치 접속.
모바일 프로그래밍 개론 UNIT 01 로봇 SW 컨텐츠 교육원 조용수. 학습 목표 모바일 프로그래밍이란 ? Embedded System 특성 Mobile OS Hybrid and Native SDK and NDK 2.
For Android 이재원.  페이스북 SDK 설치  2 가지 예제 & 소스  API 사용 예제 프로젝트 만들기  Graph API  참고사항 & 사이트.
북한기도제목 1 월 1 주 (1/1-1/7). 1. 북한정치 - 북한의 대남정책 전반을 관장하는 김양건 북한 노동당 비서 겸 통일전선부장이 교통사 고로 지난 29 일 사망했다고 조선중앙통신이 30 일 보도했습니다. 한편 김양건 노동당 비 서의 죽음이 의도적인 암살 가능성이.
Page 1 Android Programming November 04 / 2009 S/W Junhyuk Jang.
시스템 개요 진화 과정 RIA & X-Internet Web Client/Server Main FRame
2013학년도 3-1 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험
안 보여 줄끼가? 소프트웨어 프로젝트 1 – 제안서 발표 피바다 (A6)조 발표자 : 조기수.
Basic of Buffer Over Flow
OpenGL Programming (III) 1. Drawing in 3D 2. Manipulating 3D Space
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
오늘 뭐하(조) Software Engineering Team Project APP만들기 팀장 팀원 심중섭
01. 안드로이드 개요와 개발환경 구축 제목.
2016 ITA 1월 강의 C Programming -4일차- 포인터배열 및 이중포인터 정대진 ( )
C++ Espresso 제1장 기초 사항.
GTK+ 프로그래밍 (2) SNSLAB 발표 : 문동규.
동명대학교 게임공학과 강영민 게임프로그래밍 1 강의노트 01.
1장 유닉스 소개.
A n d r o i d Android 2010 년 5월 19일 작성자 : 백 선 재.
Chapter 02 JAVA 프로그래밍 시작하기 01 실무에서 사용하는 JAVA 개발 환경 02 JAVA 프로그램 작성
C 프로그래밍 소개 숙명여대 창병모 2011 가을.
강좌명 : C++프로그래밍 (C++ Programming)
오목게임 W32 로봇시스템제어(하) GROUP 7 노성동, 하선웅, 김관준
이번 시간에는... 지난 시간에는 VM 기반 모바일 플랫폼 기술의 첫번째 시간으로, 모바일 플랫폼 및 그 현황과, GVM, XVM, WITOP, Brew 및 JavaStation 모바일 플랫폼의 특징과 구성에 대해 알아 보았습니다. 이번 시간에는 모바일 플랫폼 기술 그.
Lab 3 Guide: 교재 4장 대화상자 예제. - 프로파일 입력 ( 쪽)
소프트웨어 공학 Project - 어플리케이션 만들기 ( CS App. )
MelOn WP8 Developer Guide
윤 홍 란 MFC 기초 윤 홍 란
FUSING.
CDC Connected Device Configuration CLDC보다 많은 리소스를 가진 시스템을 대상으로 설정
Department of Computer Engineering
REMOQON QRemote를 활용한 Android 기반 리모컨
안드로이드 개요 2005년 휴대폰 소프트웨어 개발사인 Android를 구글이 인수 2007년 11월 오픈소스로 공개
버퍼 오버플로우에 대한 대책과 발전된 공격 안전한 함수 사용 버퍼 오버플로우에 취약한 함수 사용하지 않기
Hello World Bot Framework
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
소프트웨어 공학 Project - 어플리케이션 만들기 ( CS App ) 최종 발표
GUI Programming - Part 2 ( GUI for Python - wxPython )
명품 Java Programming.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
Java IT응용시스템공학과 김형진 교수 2장. 자바의 환경 public class SumTest {
MFC UI for TS Analyzer 서울시립대학교 컴퓨터통계학과 최 용 진.
Android 개발환경 설치 및 Hello World
DataScience Lab. 박사과정 김희찬 (월)
Visual Studio 2010 프로젝트 생성하기 PC화면에서 Visual Studio 2010 아이콘을 더블클릭 하거나
U+ Biz 그룹웨어 Mobile Office User Guide.
Platform Builder 기본 사용법
Computer Graphics OpenGL 설치 및 설정
DataScience Lab. 박사과정 김희찬 (월)
OpenCV 설치 및 구성 OpenCV
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
제2장 제어구조와 배열 if-else 문에 대하여 학습한다. 중첩 if-else 문에 대하여 학습한다.
발표자료는 다음링크에서 다운로드 받으실 수 있습니다.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
WinCE Device Driver 실습 #2
프로젝트 포트폴리오 요약 프로젝트 종류 프로젝트 이력 역할 주요 기술 : Windows System Application
3장,4장 발표 서정우.
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
이번 시간에는... 지난 시간까지 2회차에 걸쳐 WML의 택스트 포맷, 이미지 처리, 페이지 이동, 태스크 수행과 이벤트 처리 및 WML 사용자 Input 처리 태그 등, WML 개발에 대해서 알아보았습니다. 이번 시간에는 2회차에 걸쳐, WML 스크립트 개발에 대해서.
Windows System Programming
argc, argv 의 사용방법 #include <stdio.h>
DataScience Lab. 박사과정 김희찬 (화)
WinCE Device Driver 실습 #2
간식의 세계!!.
C.
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
Choi Younghwan CSE HUFS
컴퓨터 프로그래밍 언어 Visual Basic 6.0 √ 원리를 알면 VB가 쉽다.
Presentation transcript:

Efl을 이용한 타이젠 네이티브 웨어러블 앱 만들기 박진솔

소개 박진솔 EFL 한국 커뮤니티 운영진 삼성전자 Tizen Platform – UIFW, TV Profile Heavensbus@gmail.com

목차 EFL? EFL 한국 커뮤니티 TIZEN? SDK 설치 프로젝트 만들어 보기 샘플코드 개발이 막힐 때

efl? No!!!!! Executable and Linkable Format Enlightenment Foundation Library Window Manager Unity, Gnome shell , Lxde, Xfce, KDE etc… https://www.enlightenment.org

efl?

efl 한국 커뮤니티 https://www.facebook.com/enlightenment.or.kr http://efl.or.kr

TIZEN Linux Foundation Project Mobile – Native/Web Samsung Electronics, Intel, etc... Profile - Mobile, Wearable, TV, IVI, etc TV - Native not support Smart TV Mobile – Native/Web Samsung Z, Z3 Wearable – Native/Web Samsung Gear, Gear2, Gear S, Gear S2

Tizen

Tizen

Tizen

Tizen sdk Tizen.org SDK Eclipse base Repo – Git 지원 OS Gerrit (Git review system) GBS (Git Build System) 지원 OS Ubuntu Windows Mac Tizen Platform 최신버전은 2.4 http://tizen.org

Tizen sdk

TIZEN SDK Wearable Profile latest version 2.3.1

TIZEN SDK

Emulator create

Project create Tizen Native Project

Project create Basic UI Hello Tizen!

Project create Template - Basic UI

basic ui에서 하는일 - 초기화 int main(int argc, char *argv[]) { event_callback.create = app_create; event_callback.terminate = app_terminate; event_callback.pause = app_pause; event_callback.resume = app_resume; event_callback.app_control = app_control; ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, ui_app_orient_changed, &ad); ret = ui_app_main(argc, argv, &event_callback, &ad); return ret; }

basic ui에서 하는일 - 핸들러 event_callback.create = app_create; static bool app_create(void *data) { /* Hook to take necessary actions before main event loop starts Initialize UI resources and application's data If this function returns true, the main loop of application starts If this function returns false, the application is terminated */ appdata_s *ad = data; create_base_gui(ad); return true; } event_callback.create = app_create;

basic ui에서 하는일 – 화면 구성 static void create_base_gui(appdata_s *ad) { /* Window create */ ad->win = elm_win_util_standard_add(PACKAGE, PACKAGE); if (elm_win_wm_rotation_supported_get(ad->win)) { int rots[4] = { 0, 90, 180, 270 }; elm_win_wm_rotation_available_rotations_set(ad->win, (const int *)(&rots), 4);

basic ui에서 하는일 – 화면 구성 static void create_base_gui(appdata_s *ad) { evas_object_smart_callback_add(ad->win, "delete,request", win_delete_request_cb, NULL); eext_object_event_callback_add(ad->win, EEXT_CALLBACK_BACK, win_back_cb, ad);

basic ui에서 하는일 – 화면 구성 static void create_base_gui(appdata_s *ad) { /* Label */ ad->label = elm_label_add(ad->conform); elm_object_text_set(ad->label, "<align=center>Hello Tizen</align>"); evas_object_size_hint_weight_set(ad->label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_content_set(ad->conform, ad->label); /* Show window after base gui is set up */ evas_object_show(ad->win); }

run

run

run

Project create Basic UI UI Builder Watch Widget Service Lib

UI Builder

widget

UI Builder

UI Builder

gear watch designer http://developer.samsung.com/gear/design/watch-designer 간단한 Watch face를 만들고 싶을때는..

watch app - 초기화 int main(int argc, char *argv[]) { event_callback.create = app_create; event_callback.terminate = app_terminate; event_callback.pause = app_pause; event_callback.resume = app_resume; event_callback.app_control = app_control; event_callback.time_tick = app_time_tick; event_callback.ambient_tick = app_ambient_tick; event_callback.ambient_changed = app_ambient_changed; ret = watch_app_main(argc, argv, &event_callback, &ad); return ret; }

watch app - UI구성 static void create_base_gui(appdata_s *ad, int width, int height) { /* Window */ ret = watch_app_get_elm_win(&ad->win); evas_object_resize(ad->win, width, height); /* Label*/ ad->label = elm_label_add(ad->conform); evas_object_resize(ad->label, width, height / 3); evas_object_move(ad->label, 0, height / 3); ret = watch_time_get_current_time(&watch_time); update_watch(ad, watch_time, 0); }

watch app – ambient mode

watch app – 시간이 지나가면 static void app_time_tick(watch_time_h watch_time, void *data) { /* Called at each second while your app is visible. Update watch UI. */ appdata_s *ad = data; update_watch(ad, watch_time, 0); } static void app_ambient_tick(watch_time_h watch_time, void *data) /* Called at each minute while the device is in ambient mode. Update watch UI. */ update_watch(ad, watch_time, 1);

watch app - UI구성 static void update_watch(appdata_s *ad, watch_time_h watch_time, int ambient) { char watch_text[TEXT_BUF_SIZE]; int hour24, minute, second; watch_time_get_hour24(watch_time, &hour24); watch_time_get_minute(watch_time, &minute); watch_time_get_second(watch_time, &second); if (!ambient) snprintf(watch_text, TEXT_BUF_SIZE, "<align=center>Hello Watch<br/>%02d:%02d:%02d</align>", hour24, minute, second); else snprintf(watch_text, TEXT_BUF_SIZE, "<align=center>Hello Watch<br/>%02d:%02d</align>", hour24, minute); elm_object_text_set(ad->label, watch_text); }

sample code

guide https://developer.tizen.org/ko/development/getting-started/native-application

하다가 막히면!? http://efl.or.kr

하다가 막히면!? Tizen.rog Forum에 질문

하다가 막히면!?

질문/답변

감사합니다. EFL 한국 커뮤니티 http://efl.or.kr