본문 바로가기

IT/Tizen

(112)
[Tizen] 타이젠에 대한 문의는 여기서 하자! 코딩을 하고 있으면, 으레 큰 벽을 만나 더 이상의 진척을 볼 수 없는 순간이 있습니다. 의지할 만한 멘토가 있다면,커피를 한 잔 사들고 가서 답을 구걸하면 되지만...조언을 해줄만한 사람이 없으면,삽질이라는 최악의 방법으로 문제를 풀어나가는 수밖에 없죠. 안녕하세요, Tizen 개발자 윤진입니다. 앱을 개발하면 으레 수없이 많은 난관에 부딪힐 것입니다.헤더파일을 꼼꼼히 살펴보고,예제코드도 따라가 보지만,결국 아무 소득이 없으면 소스코드를 하나씩 따라가보며 분석하는 수밖에 없죠. 하지만, 소스코드를 뒤지는 행위는,굉장히 많은 노력과 시간을 필요로 합니다. 노력과 시간을 들여 해법을 얻으면야 좋겠지만,세상사가 늘 그렇게 마음먹은 대로 되지 않기 마련이죠. 그럴 때 필요한 것이 포럼입니다.포럼에는 이미 삽질..
[Tizen] 타이젠 앱에서 SQLite를 이렇게 사용해볼까요? 한밤 중 1시 51분, 잘까 말까 잠시 망설이다가, DB에 대한 포스팅을 마무리하기 위해 세수를 하고 왔습니다. 이 포스팅에는 대단한 스키마가 나오는 것도 아니고, 어마무시한 쿼리문도 나오지 않습니다. 그저 비몽사몽 간에, 앱단에서 사용할만한 함수 몇가지를 공유하고자 합니다. 타이젠에서 공식적으로 지원하는 DB는 SQLite3입니다. (참고, "Tizen 플랫폼 DB 엿보기-", http://storycompiler.tistory.com/25) 오래전부터 SQLite였고 그 기조는 당분간 바뀌지 않을겁니다. 따라서 SQLite를 다른 DB로 포팅할 일도 없겠군요. 그렇지만, 순전히 앱사이드에서 sqlite3를 덕지덕지 소스에 붙여 놓고 싶지도 않습니다. sqlite3_open() / sqlite3_clo..
[Tizen] 타이젠 앱 DB는 언제 어디서 초기화하는게 좋을까요? 일요일 석양무렵,관리비 용지 위에다가 앱을 위한 디비 스키마를 그렸습니다. 공동항목과 세대항목으로 나뉘어진 관리비 용지 가운데,가장 큰 부분을 차지하는 주차비충당금을 보며 한숨을 쉬다가도,디비에 새겨놓아야하는 필드가 떠오를때마다 다시 펜을 부여잡고 관리비 용지 귀퉁이에 스키마를 그렸죠. 테이블 여덟개를 끄적이고 나니코드로 옮겨 확인을 해봐야겠다는 생각이 들었습니다. 안녕하세요, Tizen 개발자 윤진입니다. 앱을 위한 DB는 어느 시점에 초기화되어야할까요?DB 초기화 시점은 아래 중에 하나일 것입니다.- 앱이 설치되는 시점- 앱이 처음 런칭되는 시점- 앱에서 실질적으로 DB에 접근하는 시점 1. 앱이 설치되는 시점앱이 설치되는 시점에 DB를 만들면,앱을 런칭한 이후에 DB를 만들 필요가 없으므로,런칭 혹..
[Tizen] 타이젠 앱에 디버그 로그 심어보기 개발자로서 살아온 기간내내함수 안팎으로 로그를 '신나게' 심어왔습니다. 코드에 로그가 없는 경우는,- 아직 로그를 심기 직전이거나- 동작을 확인하고 로그를 지운 뒤겠죠. 앱이 물고 있는 프레임워크의 동작이 언제나 완벽하다면,앱에서 로그를 출력할 일은 크게 줄어들 것입니다. 하지만, 언제나 프레임워크는 개발막바지가 되어야 비로소 쓸만해지죠. :)모든 함수에 에러체크는 필수이고,에러로그는 가장 쉬우면서 확실한 디버깅 방법입니다. 안녕하세요, Tizen 개발자 윤진입니다. 타이젠은 플랫폼 차원에서 로그를 남길 수 있는 방법을 제공합니다.printf(), fprintf()도 사용할 수 있지만,- SDK에 로그를 노출하거나,- 시스템 로그들과 함께 사용하기 위해서는,타이젠에서 제공하는 dlog를 사용해야 합니다...
[Tizen] 타이젠 플랫폼이 선택한 DB는 SQLite 간단한 앱을 하나 짜더라도사용자로그를 관리하기 위해서는 DB가 필요하죠. 하지만, 플랫폼마다 지원하는 DBMS가 달라서,낯선 DBMS 환경에 적응해야하는 경우도 있습니다. 다행스럽게도 타이젠에서는 모바일이나 웨어러블 같은 임베디드 환경에서,가장 널리 사용되고 있는 SQLite를 지원하고 있습니다. 안녕하세요, Tizen 개발자 윤진입니다. 타이젠 2.3에서 지원하고 있는 API 레퍼런스를 살펴보면,API Reference > Native Application > Native API Reference > Base > sqlite위와 같이 SQLite 항목을 찾을 수 있습니다. SQLite 항목을 살펴보면,SQLite는 가벼운 sql 데이터베이스로 라이브러리 형태로 제공된다고 언급되어 있습니다.플랫폼에 탑재..
[Tizen] 타이젠 앱 Life cycle은 어떤 모습일까 어느 플랫폼에서건 앱을 작성하게 되면,앱의 라이프사이클에 대해 고민을 하게 됩니다. 앱 프로세스가 생성(fork & exec)된 직후에 수행해야하는 루틴,종료 직전에 처리해야하는 루틴,앱이 일시정지할 때 혹은 다시 시작할 때 필요한 루틴 등은,앱 라이프 사이클을 구상할때 필히 고려해야하는 요소입니다. 안녕하세요, Tizen 개발자 윤진입니다. 타이젠 2.3 버전 기준으로 앱 라이프사이클은 "application"이라는 framework에서 관리합니다."application"의 소스를 살펴보려면, 아래처럼 command를 입력하여 소스를 clone 받을 수 있습니다.간단하게 웹으로 보고 싶다면 여기를 누르면 됩니다. 앱은 main()에서 앱 라이프사이클을 관리해주는 ui_app_main()을 불러줘야 합니..
[Tizen] 타이젠 SDK와 Git repository 연동하기 혼자 개발하지 않는 이상,팀원과 개발 중인 소스를 시시각각 공유해야할 필요가 있습니다.타인과 데이터를 공유하는 수많은 방법이 있겠지만,2015년 현재 가장 대중적으로 이용되는 git을 이용하여 소스를 공유하고자 합니다. 안녕하세요, Tizen 개발자 윤진입니다. Tizen SDK 내에 git repository를 clone하거나 pull 받을 수 있는 기능은 없습니다.Tizen SDK와 git은 서로 별개의 독립적인 모듈입니다. 따라서,Tizen SDK에서 작업한 후,git에서 수정사항을 push 하는 과정을 거쳐줘야 합니다.vim에서 에디팅을 하고,커맨드라인에서 git 명령어로 push 하는 것과 마찬가지의 절차입니다. * 준비물1. GIT Repository2. Tizen SDK Project (ht..
[Tizen] 타이젠 SDK 네이티브 앱 디렉토리 구조 애초에 타이젠 앱을 짜려고 마음을 먹은 것은,5월 5일 어린이날,초딩러시를 피하기 위해 두문불출할 때였습니다.(http://storycompiler.tistory.com/14) 그날 이후,SDK를 설치하고(http://storycompiler.tistory.com/15),타이젠 오픈소스를 다운로드 받고(http://storycompiler.tistory.com/16),Z1을 구해 개발자+시료인증(http://storycompiler.tistory.com/20)까지 하니,5월 25일 부처님 오신 날이 되었네요. 20일이 지나는 동안,본격적인 코딩은 커녕 앱 아키텍쳐를 고민해보지도 않았다.갈 길이 멀어요. 안녕하세요, Tizen 개발자 윤진입니다. 그렇다고 오늘 아키텍쳐를 고민하거나 코딩을 하겠다는 것은 아..