Android 어플에서 View의 계층을 디버깅할때 쓰는 툴인 Hierarchy Viewer를 소개합니다.


직접 안드로이드 소스코드를 작성하고 실행하다보면, 원하는 화면이 안나오고 깨진 화면이 나오기 일수 입니다.

이럴때 어플리케이션의 어느 뷰의 어느 위젯이 어떻게 띄어지고, 어느 위치에서 띄어지는지를 확인할 수 있습니다.


Hierarchy Viewer는 Android SDK가 깔린 폴더의 하위 폴더인 tools에 "hierarchyviewer"(Windows에서는 hierarchyviewer.exe)라는 파일로 실행할 수 있습니다.


아래는 hierarchyviewer를 맨 처음 실행한 화면입니다.


Hierarchy Viewer


위의 목록에서 작성한 어플리케이션 이름이 보이며, 어플리케이션을 선택하면, 아래의 화면처럼, View의 계층을 확인할 수 있습니다.

아래에서 버튼을 클릭하면 화면의 어느 위치에 Layout과 Widget이 존재하고 어디에 호출되어 실행된다는 정보 그리고 오른편에선 Layout, Widget의 속성을 확인할 수 있습니다.

Hierarchy Viewer로 본 어플리케이션의 View의 계층도 - Layout, Widget이 어디에서 호출되어 실행된다는것을 알수 있습니다.



Hierarchy Viewer를 사용하면 Android 개발할때 화면이 왜 안뜨는지, 왜 일그러지고 깨지는 원인을 확인가능합니다. ^^


ps. Google Android 팀이 만든 툴을 볼때마다, OS의 기본적인 설계가 잘 되었다는 생각을 해봅니다.

Buy me a coffeeBuy me a coffee



저는 Nokia 6210s을 사용하면서 뭔가 프로그램을 만들어 보고 픈 욕구가 있었습니다. 그러나 이놈의 귀차니즘과 개발 툴 설치하는 것도 까다롭고 하는 장벽이 있어서 이제서야 Nokia 6210s에 재미 삼아 프로그래밍을 해보게 되었습니다.

제가 블로그에 작성하는것은,  Nokia폰에 들어가는 Symbian 어플리케이션을 만드는 방법중에서 Widget으로 만들어보는 것입니다.

우선, Widget을 만들어 보려면 Aptana라는 IDE가 필요합니다.

Aptana 설치 - http://aptana.com/studio/download

Aptana는 아주 유명한 웹개발 툴로 Eclipse를 확장한 IDE입니다. 해외에선 자바스크립트 개발 도구로 자리 잡은 유명한 툴입니다.

저는 아래와 같이 Aptana를 설치를 하였습니다.

Aptana Studio - Eclipse clone IDE

Aptana Studio - Eclipse clone IDE



이제는 Nokia폰에 들어가는 Symbian Widget을 개발하려면 Aptana IDE에 Nokia WRT Plug-in을 설치해야합니다.

Nokia Web Runtime Plugin Installation for Aptana Studio & Aptana Stdio Plugin for Eclipse
http://tools.ext.nokia.com/wrt/prod/aptana/plugin/

아래 화면은 사이트의 화면입니다.

Nokia Web Runtime Plugin Installation for Aptana Studio & Aptana Stdio Plugin for Eclipse

Nokia Web Runtime Plugin Installation for Aptana Studio & Aptana Stdio Plugin for Eclipse



위 사이트에서는 Aptana IDE에 Nokia WRT Plug-in을 설치하는 내용을 설명합니다. 영어라도 생각보다 어렵진 않습니다.


아래 동영상은 Nokia WRT Plug-in을 설치한후, Twitter 클라이언트를 만드는 예제를 보여주고 있습니다.

Nokia WRT Plugin 2.0 for Aptana Studio from Aptana, Inc. on Vimeo.

A quick overview of the 2.0 version of the Nokia WRT Plugin for Aptana Studio, including some of its new Device Preview, Platform Event Simulation and Homescreen Widget capabilities. There's an example of creating a simple twitter client for Aptana and deploy the backend code to Aptana Cloud.


아래 동영상은 Nokia WRT Plug-in 설치후 RSS를 불러들여 쓸수 있는 예제를 보여주고 있습니다.

Nokia WRT Plugin For Aptana Studio from Aptana, Inc. on Vimeo.

Take a look a the cool features of the Nokia WRT plug-in for Aptana Studio. We'll cover everything from getting started with widget development to actual deployment to your Nokia device.


Buy me a coffeeBuy me a coffee
Windows에서는 Google Desktop을 설치를 하면 Gadget도 사용할 수 있지만, Linux에서는 Google Desktop을 설치하면 Google Desktop만 설치됩니다. Gadget은 설치가 안되죠.

이번에 연구실에 있는 CentOS에서 Google Gadget을 설치하기로 결심했습니다. Windows에 사용하는 것 처럼 Linux에서도 사용해보고 싶어서였죠.
그래서 Google에서 Beta로 제공하는 googld-gadgets-for-linux를 설치하게 되었습니다!!!
웹사이트 : http://code.google.com/p/google-gadgets-for-linux/
Google Gadget for linux Homepage

Google Gadget for linux Homepage (http://code.google.com/p/google-gadgets-for-linux/)


저도 Windows에서 쓰는 것 같이 Google Desktop Gadget을 사용하려고 삽질을 이룩하게 되었습니다.

우선 다운로드 받은 다음 /usr/local 폴더에 가서 압축을 풀고 컴파일을 하려고 했습니다.
컴파일 하기 전에 어떻게 빌드할 것인가를 참고해보고 빌드를 합니다.
(HOW TO BUILD http://code.google.com/p/google-gadgets-for-linux/wiki/HowToBuild )
위의 링크대로 설치하려고할때에는 CentOS에서 없는 것들이 나옵니다. ㅠㅠ
선수로 설치해야하는 패키지 중에서
Pre-requirements
You need install following packages in order to prepare and build the source code.
    * autoconf >= 2.50
    * automake >= 1.9
    * libtool >= 1.5.20

This project also depends on the following libraries:
    * SpiderMonkey >= 1.60
    * libcurl >= 7.15.0, openssl backend is required
    * libxml2 >= 2.6.0
    * zlib >= 1.2.0
    * xulrunner-dev >= 1.8
    * D-Bus >= 1.0.2
    * gstreamer and gstreamer-plugin-base >= 0.10.0

You can choose from the two toolkits: GTK or QT. If you choose GTK, this project also depends on the following libraries:
    * cairo >= 1.0.0, 1.2.0 or above is better.
    * gtk >= 2.8.0, 2.10.0 or above is better.

If you choose QT, the project also depends on the following libraries:
    * Qt and QtWebKit >= 4.3, (it's optional, and 4.4 is better).

These packages are included in most modern Linux distributions, you can install them using software management application provided by the distribution.

CentOS에서는 SpiderMonkey가 없습니다 ㅡ,.ㅡ
우선 설치한다고 configure를 실행시켰더니 아래의 메시지가 나오면서 설치를 하기에 껄끄러운 상황까지 옵니다.
[root@localhost google-gadgets-for-linux-0.10.2]# ./configure --prefix=/usr --disable-qt-host --enable-debug
Build options:
  Version                       "0.10.2"
  Install prefix                /usr
  Install included libltdl      yes
  Build shared libs             yes
  Build static libs             yes
  Enable debug                  no
  Host type                     linux
  OEM brand

 Libraries:
  GTK SVG Support               no
  Build libggadget-gtk          yes
  Build libggadget-qt           no
  Build libggadget-dbus         yes

 Extensions:
  Build dbus-script-class       yes
  Build gtk-edit-element        yes
  Build gtkmoz-browser-element  no
  Build qtwebkit-browser        no
  Build gst-audio-framework     yes
  Build gst-video-element       yes
  Build gtk-system-framework    yes
  Build qt-system-framework     no
  Build linux-system-framework  yes
  Build smjs-script-runtime     no
  Build qt-script-runtime       no
  Build curl-xml-http-request   yes
  Build qt-xml-http-request     no
  Build libxml2-xml-parser      yes

 Hosts:
  Build gtk host                no
  Build qt host                 no

configure: WARNING: Neither gtk host nor qt host will be built !!!
              Nothing can be used to run Google Gadgets for Linux.
어쩌라고? -_-;;

Hosts가 설정안되는 위 문제는 js, js-devel, nspr, nspr-devel패키지를 설치하면 됩니다.
설치를 하면 문제없이 컴파일을 할 수 있는 상태가 됩니다.
[root@localhost google-gadgets-for-linux-0.10.2]# ./configure --prefix=/usr --disable-qt-host --enable-debug
Build options:
  Version                       "0.10.2"
  Install prefix                /usr/local
  Install included libltdl      yes
  Build shared libs             yes
  Build static libs             yes
  Enable debug                  no
  Host type                     linux
  OEM brand

 Libraries:
  GTK SVG Support               no
  Build libggadget-gtk          yes
  Build libggadget-qt           no
  Build libggadget-dbus         yes

 Extensions:
  Build dbus-script-class       yes
  Build gtk-edit-element        yes
  Build gtkmoz-browser-element  no
  Build qtwebkit-browser        no
  Build gst-audio-framework     yes
  Build gst-video-element       yes
  Build gtk-system-framework    yes
  Build qt-system-framework     no
  Build linux-system-framework  yes
  Build smjs-script-runtime     yes
  Build qt-script-runtime       no
  Build curl-xml-http-request   yes
  Build qt-xml-http-request     no
  Build libxml2-xml-parser      yes

 Hosts:
  Build gtk host                yes
  Build qt host                 no

[root@localhost google-gadgets-for-linux-0.10.2]#

그리고 나서 아래와 같은 명령어를 치고 나서 컴파일을 합니다.
[root@localhost google-gadgets-for-linux-0.10.2]# make
[root@localhost google-gadgets-for-linux-0.10.2]# make install
컴파일하는 지루한 시간에는 딴 짓을 해도 좋습니다 ^^

그리고 나서 ggl-gtk를 실행시킵니다.
드디어 띄운 결과 화면!!
Google Gadget for linux setting

CentOS에서 드디어 설치한 Google Gadget실행화면입니다.


컴파일에러나오는 것 수정하느라 미치는 줄 알았죠.
Ubuntu에서 apt-get으로 패키지 설치하다, 오랜만에 컴파일 해서 설치하니깐 재미는 있는데 삽질을 해버렸습니다.

드디어 연구실에 설치한 CentOS로 Google Gadget을 맛보게 되어서 기쁩니다.
Buy me a coffeeBuy me a coffee

사용자 삽입 이미지

2008년 2월 1일, 저는 Future Camp에 참여를 하게 되었습니다.

저번에 썼던 글(퓨처캠프(Future Camp) 2008에 참가합니다.) 처럼 신청을 했는데 대기자 명단이라서 갈수가 있을까 조마조마하다가, 마지막날에 참석자로 변경이 되어서 가는데 부담이 없었습니다.
참석자 200명에 대기자가 140명까지 있어서 340명이 정말 다 올까 궁금하다가, 그 날 가보니 실제로 200여분의 업계 관계자 및 학생분들이 적극적으로 참여한것 같습니다.
이번 퓨쳐캠프 2008 관련 사진은 (정진호[phploveme]님의 사진 모음)에서 자세히 볼수 있습니다.
아침에 일어나서 강남역가는 341번 버스타고 출발을 하였는데, 생각보다 길이 막혀서 예정시간보다 약간 늦게 도착하였습니다.
아래는 도착하고 나서 찍은 인증사진입니다.
Future Camp 2008에 참가

2008년 2월1일 금요일 삼성동 섬유센터 17층에서 Future Camp 2008이 열렸습니다. 이 날 아침에 찍은 사진.


행사는 3개의 세션(플랫폼과 디바이스, 웹 서비스 전망, 블로그와 오픈 문화), 15개 주제로 각 10분 정도씩의 발표시간과 세션별 20 ~ 30 분간의 질의, 응답, 토론시간이 있었습니다.

퓨쳐캠프에서는 2008년도의 유선시장, 모바일시장, 웹과 인터넷등등 IT업계의 2008년 전반적인 전망에 대해 생각을 나누고 공유하는 자리였습니다.
여기서는 인터넷 기술과 서비스를 소개하는 자리라서, 그런지 깊이있는 기술의 활용보다는 미래에 대한 전망에 대해서 주로 다루었습니다.

첫번째 세션 - 플랫폼과 디바이스 (Moderator : 윤석찬 - 다음커뮤니케이션)
두번째 세션 - 웹 서비스 전망 (Moderator : 김창원 - TNC)
세번째 세션 - 블로그와 오픈 문화 (Moderator : 황현수 - SK커뮤니케이션즈)

이 세가지 큰 주제로 여러회사직원와 단체회원분들이 발표를 하였습니다.
첫번째 세션 발표는
클라우드 컴퓨팅 - 한재선(NexR)
모바일 웹 전망 - 전종홍(ETRI)
안드로이드 폭풍 후 미래 - 황병선(Futurewalker)
미래 Gadget과 디바이스 미리보기 - 김지현(다음커뮤니케이션)

두번째 세션 발표는
웹 오피스 서비스 전망 - 박재현(ThinkFree)
소셜 웹 플랫폼 전망 - 조산구(KT)
국내 위젯 시장 미리보기 - 표철민(위자드웍스)
멀티미디어 메타데이터 뽑아내기(검색, 광고, SNS) - 류중희(Olaworks)
재미없는 검색시장 분석과 전망 - 전병국(검색엔진마스터)
매쉬업 트랜드 - 정진호(Yahoo! Korea)

세번째 세션 발표는
블로그 계의 두 가지 버즈워드 - 노재성(zSoup)
노매드 웹 - 김중태(마이엔진)
오픈소스 전망 - 권순선(NHN)
책 2.0 - 장효곤(이노무브 그룹)
오픈소스와 저작권 - 윤종수(크리에이티브커먼스 코리아)

위의 발표 주제로 발표를 할때마다 이런 것이 있구나를 확실하게 알게 해주었습니다.

차니님의 미투데이에서 "퓨처캠프! 다들 10분 잘 지키시네.. 대단!"(http://me2day.net/channy/2008/02/01#10:51:28) 에서 볼수 있듯, 발표하시는 분들은 정말 10분을 넘기지 않으려고 엄청나게 노력을 하셨습니다.
그래서인지 발표하시는 분들이 10분만에 내용을 청중에게 주입을 시키려고 하니깐 청중들에게 발표자의 생각과 정보전달이 미흡한 점이 있었습니다.

이번 Future Camp에서 10분만에 내용을 강연하려고 하는데 청중들에게는 배경지식이 없이 들으니까 약간 듣는데 힘든 점이 있었습니다. 그래서 강연전에 인터넷에 발표자료를 미리 올리고 나서 발표를 하는 것이 발표자나 청중들에게 만족할만한 강연이 되지 않을까 합니다.

각 세션마다 각계 각층의 사람들이 여러 분야에 대해 2008년도 전망에 대한 의견을 발표를 하였고 거기에 질문하는 형식으로 진행이 되었는데, 저의 생각과 업계쪽의 사람들의 생각이 조금 다름을 알수가 있었습니다.
제가 생각한 전망과 업계쪽의 전망 어느 것이 정답이 될수가 없다만 2008년도 인터넷의 전망에 대해 약간이나마 많은 생각을 할수가 있었습니다.

퓨처캠프는 이번에 처음 참가하게 되었습니다. 이런 Future Camp같이 IT분야 전체를 아우르는 모임자리가 있는지가 궁금하네요. 이런 행사가 아니었다면 어디서 업계쪽 관계자의 생각을 한 곳에서 들을수가 있을까요?
앞으로도 이런 행사가 계속 펼쳐갔으면 좋겠습니다.

Channy님 블로그에 있듯이, 이 Future camp의 각 발표 자료는 향후 홈페이지에 업로드 할 예정이구요. 동영상은 ZDNet 코리아에서 촬영을 해서 편집 후 공개될 예정이라고 하네요. 이 블로그에 모든 자료들을 쓰다가 힘이 부쳐서 그냥 후기만 쓸 것 같습니다.
Buy me a coffeeBuy me a coffee

+ Recent posts