Android Custom Dialog

2010/07/25 00:08

안드로이드에서 커스텀 다이얼로그를 만들 때에는, 일반적으로 Activity를 많이 사용한다. Google이 제공하는ApiDemos에 그런 예제가 있기도 하고, 대부분의 책들에도 그렇게 설명이 되어있다. 하지만, 손 쉽게 OnClickListener 를 붙이고, 타이틀을 붙이고 할 수 있는 Dialog에 비해서, Activity로 팝업창을 만들게 되면, 상당히 불편하다. 잘 알려져있진 않은데, Dialog 를 완전히 customize 할 수 있는 방법이 없는 것은 아니다.

첫번째 링크 처럼 Dialog를 상속해서 customized dialog 를 만들거나, (두번째 링크 처럼) AlertDialog.Builder 까지 만들어버리면 된다. So Cool~

-- 이상한 나라의 종텐.


지난 약 3달간, Jweb과 2명이서 틈틈히(?) 프로그래밍 언어를 만들었습니다. 아직 공개하긴 많이 부족한 상태이고, 틈틈히 업데이트를 할 생각이긴 하지만, 몇 달간은 손을 전혀 못 댈 것 같아서 일단은 GitHub에 저장소를 만들었습니다. 사실, 현재 버전은 ad-hoc 코드가 많이 섞여 있어서, 좀 지저분 하고, 완성된 버전이라기 보다는 만들어가는 중이라고 보시는 편이 나을 듯 합니다.

메모리 문제도 좀 있고, 에러가 나는 부분도 많이 있지만, 3달간 2명이서 풀타임도 아니고 틈틈히 만든 것 치고는, 이것저것 상당히 많은 기능을 붙인 것 같습니다. 기본적인 컨셉은 C/C++과 섞어서 사용할 수 있는 Dynamic Typing, Prototype-based OOP 언어이고, 정수, 실수, 문자열, 변수, 함수, 클래스, 오버라이딩, 연산자재정의, 상속, 람다, 리스트, 해쉬 등을 부분적으로 지원합니다. 안전성에는 조금아주많이 문제가 있습니다만..;;

코드는 아래 사이트에서 다운받으실 수 있고, 윈도우용 바이너리는 현재 제공하지 않고 있는데, MinGW로 빌드하면 문제 없이 컴파일 됩니다.

저장소 : http://github.com/peanut-lang/peanut
예제코드 : 예제1, 예제2

사실은, 시연을 위해서 (로보코드와 비슷하게 생긴) 아이폰용 예제와 안드로이드용 예제도 만들었는데, 그 부분은 공개하긴 좀 문제가 있어서, 언어 엔진 부분만 올려놨습니다. 예제 코드에 C언어에 embedding 하는 것과, 반대로 peanut에서 C언어 코드를 사용하는 부분도 저장소에 있으면 좋긴 하겠는데, (시연용 예제엔 있는데), 나~중에 추가할 예정입니다. 요즘은 너무 바빠서.. ㅠㅠ

-- 이상한 나라의 종텐

p.s. 땅콩은 제가 기르던 강아지 이름입니다.


ndk-gdb

2010/07/11 11:04

Android NDK r4 에는 ndk-gdb 가 포함 되었다. ndk-build 로 빌드한 C/C++ 코드를 gdb로 까볼 수 있는 녀석이다. 주의 사항이 몇가지 있는데, {NDK}/docs/NDK-GDB.TXT 에 대부분 설명 되어있고, 당황했던 점으로는,

  • 디바이스가 Android 2.2 Froyo 이상이어야 한다. ㅠㅠ (에뮬로 되긴 하지만..)
  • Mac OS X 스노우 레오파드에서, armeabi가 아니고 ameabi 라는 얼토당토 않은 에러가 나는데, 이렇게 처리하면 된다.

디버깅 고고싱=3=3

-- 버그를 찾아 헤메이는 종텐.


윈도우용 터미널 CMDK

2010/07/07 03:45

나는 윈도우에서 cmd.exe 창을 많이 사용하는 편인데, 자주 사용하는 grep, sed, ls, gawk, wc 등이 없어서 UnxUtils를 사용하고 있다. 명령어 부족은 UnxUtils, cygwin, mSys 같은 대안들이 있지만, cmd.exe 의 가로 길이가 조정도 안되는 조악한 터미널은 항상 불만이었다.

그러던 중에, kldp.org에서 cmdk라는 대체 터미널을 발견. 우와 이거 좋잖아! (위 스크린샷은, Bitstream Vera Sans Mono + 맑은고딕 폰트로 적용한 화면이다). Mac OS X 의 iTerm처럼, CTRL+V 로 붙여넣기가 된다! 배경도 반투명해서, 매뉴얼을 뒤에 띄워놓고 타이핑 할 수도 있다! 가로로 사이즈가 늘어났다 줄어들었다도 된다!

다운로드는 아래 링크들 중 하나에서 받을 수 있다.

아 죽인다. 내가 딱 원하던만큼의 기능이다.

-- 이상한 나라의 종텐.

p.s. 아, 다 좋은데, CTRL+C 가 copy라서, break가 안걸리는게 좀 아쉽다. 물론, CTRL+BREAK가 있긴 하다.


나는 제품보다는, 플랫폼을 만들고 싶은가 보다. 옛날옛날에는 OS커널을 만들려고 1년 반동안 삽질하다가 군대에 끌려갔었고, Winter of Code 2008 에서는 웹프레임워크 만드는 프로젝트에 쥐꼬리만큼 참여하다가, 흐지부지 되었었다. 그리고나서, Distributed Key/Value Database를 만들겠다고 삽질하고, 논문도 쓰긴 했는데, 완성도는 흐지부지 끝났다. 지금은 프로그래밍 언어를 만들겠답시고 석달간 삽질을 하다가, 완성도는 형편 없는 수준에서 흐지부지 마무리를 하고 있다. 그런데 다음 프로젝트로는, jQTouch 또는 Sencha Touch와 비슷한 형태의 모바일 웹앱 프레임워크를 하게 되었다. 헐.. 또 프레임워크야. 어쩌면, 플랫폼/프레임워크가 아닌 프로젝트보다도, 플랫폼/프레임워크였던 프로젝트가 더 많은지도 모르겠다.

위에 언급한 프로젝트들의 공통점이라면, 다~ 망했다는건데.. -_-;; 이건 뭐, "종텐이 저주"도 아니고 말야. 계속 망하는데도, 여차저차 플랫폼 프로젝트들을 하게 되는걸 보면, 나는 어지간히도, 플랫폼을 만들고 싶은가 보다. 아.. 운명인가?!

-- 이상한 나라의 종텐.


프로젝트를 진행하면, 여러가지 방법을 통해서 팀원 또는 고객과 연락을 하게 된다. 이 때에, 이메일보다 전화나 메신저를 많이 사용하는 사람들이 있는데, 난 이게 정말 싫다. 나는 계속 사경을 헤메다가 조금전부터 힙겹게 집중해서 코딩을 하고 있을 수도 있고, 가족과 함께 있을 수도 있고, 여자친구와 함께 시간을 보내는 중일 수도 있고, 휴식을 취하는 중일 수도 있고, 멍 때리고 미드를 보던 중일수도 있고, 잠을 자는 중일 수도 있다.

이메일이나 IRC[각주:1]같은 비동기(asynchronized) 커뮤니케이션은, 내가 가용한 시간에 내용을 읽고 응답을 하면 되는 반면, 동기적(synchronized) 커뮤니케이션은 하던 것을 멈추고 상대의 요구에 응답할 것을 강요받는다. 그나마, 메신저의 경우는, 컴퓨터 앞에 앉아있는 시간 동안에만 방해하지만, 전화나의 소중한 시간부숴버린다. 나는, 내 시간을 침해하는 것들(또는 생물들)에 대해서 상당히 민감한 편인데, 별로 급하지도 않은 일로, 시도 때도 없이 전화 오는게 정말 싫다. 날 방해하지 마. 크르릉!

-- 이상한 나라의 까칠한 종텐.

  1. IRC는 채팅이긴 하지만, 대체적으로 반드시 당장 응답할 필요가 없다는 점에서 비동기에 더 가깝다. [본문으로]

납기일에 허덕이는 현실이지만, 책도 좀 보고 싶고, 공부도 좀 하고 싶다. 뭔가 알 수 없는 의무감에 한달에 1~2권씩 책을 규칙적으로 사긴 하는데, 읽는 것은 3달에 1권 정도인 듯 싶다. 그나마 제대로 읽지도 못하고, 훓어만 본다. 최근에는 (난 웹개발자가 아니라고 우기지만) HTML5 책훓어봤고, 프로 안드로이드 게임 개발을 (코드가 대부분인 책인데, 코드는 완전 날림으로 넘기고) 훓어만 봤다. 책을 읽을 수 있는 시간은 지하철을 타고 오가는 시간이 전부인데, 지하철은 집에 오갈때만 타고, 집에는 일주일에 한번만 가서 -_-;; 사실, 읽는 시간 자체가 거의 없다. 아놔 슬프잖아.

Hadoop책과 OpenGL ES책도 사긴 했는데, 그냥 책장에 꼽아놓으려고 산거고, 읽을 엄두도 못내고 있다. 너무 바빠서, 맥북 에어도 샀는데, 작년에 사놨던 아이폰 책은 챕터1도 다 읽지 못했고, 맥북 에어는 Xcode로 lex/yacc질과 C코딩 하는 용도로 전락했다. 사실은, 내가 MacVim이랑 iTerm만 쓰고 있으니, 주변 지인중 한명이 맥을 리눅스처럼 쓴다면서 꾸짖(?)어서.. Xcode를 더듬더듬 써보기 시작했다. (엉엉. vim이 어때서.)

요즘은 거의 의자에서 엎어져서 3~5시간 정도 자는데, 어젠 오랜만에 무려 누워서!! 잤더니, 12시간동안 꿈을 3개나 꾸다가, 저녁 6시에 일어났다. 지금은 아침 8시 22분인데, 야식을 안 먹었더니 배가 고프다. 알바가 끝날때까진, 미투데이랑 트위터를 끊었더니, 오히려 블로깅을 자주 한다. 그래도, 미투데이를 안하니깐, 코딩하는 시간이 두배로 늘어나긴 했다. 미투를 많이 하긴 했나보다.

아, 뭔가 글 제목과 상관 없는 말만 썼는데, 원래 하려던 말은, 알바랑 과제가 끝나면, 공부도 좀 하고 싶다. 오 이런. 까맣게 잊고 있었는데, 졸업하려면 토익도 해야 하잖아! 토익 점수가 정말 농담이 아니고, 신발 사이즈에 가까운데.. 큰일이다. 원래는, 돈 모아서 어학연수를 가려고 휴학을 했었는데, 지난 1년간, 영어 공부는 진짜 완전 1g도 못했다. 어휴. 인생사, 계획대로 되는 일이 한개도 없어서, 그냥 애초에 계획을 안 하고 있는데 -_-;; 잘 살고 있는건가 모르겠다.

-- 이상한 나라의 종텐.

p.s. 글 분류는 "나른한 일상"이지만, 나른하진 않고, 하루하루가 힘들다. -_-


앤디 루빈에 대한 다른 기사를 보던 중에, 이런 내용이 있다. 과장된 것인지, 진짜인지는 모르겠지만.

그는 "안드로이드는 삼성과 인연이 각별하다"며 "2005년 안드로이드OS를 처음 만들어 구글에 넘기기에 앞서 삼성전자를 방문했었다"고 말했다. 그는 삼성에 안드로이드사 인수를 제의했다가 거절당한 후 구글에 회사를 팔고, 구글의 부사장으로 재직 중이다.

- 출처 : "응용프로그램 시장 완전 개방이 최대 강점" (chosun.com)

다행이라면 다행이고. 불행이라면 불행이고. 당연하다면 당연하고. 씁쓸하다면 씁쓸하다.

-- 이상한 나라의 종텐.

p.s. 중앙일보 인터뷰 내용에는, 위 내용이 빠졌다고 한다.


앤디 루빈 인터뷰

2010/06/10 09:40

아는 사람들은 알겠지만, 안드로이드는 구글에서 2005년에 인수한 회사의 제품이다. 심지어, 그 회사 이름도 안드로이드였다. 그 회사의 사장이 "앤디 루빈"이라는 사람인데, 인수 후에는 구글의 부사장이 되었다. 이 아저씨가 얼마전에 삼성전자 갤럭시S의 론칭 행사에 방한했었는데, 인터뷰 기사가 있어서 소개한다.

http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=101&oid=001&aid=0003319166

기자 분이 준비를 꽤 많이 해갔었나보다. 날카로운 질문들이 종종 있다. 기자가 공격을 하면, 앤디 루빈은 죄다 "그건 사실 장점이다"라면서 뻥을 치는데 -_-;; 그래 뭐, 구글에겐 장점이겠지만, 제조사, 앱 개발자, 소비자에겐 장점이 아닌 부분들이 참 많다. 다른건 대충 구글의 입장을 이해하겠는데, 딱 하나만 좀 지적하자면, -_-+

"구글TV는 인텔 CPU를, 넥서스원은 퀄컴의 CPU를 썼지만, 안드로이드는 동일하게 지원한다. 화면 크기나 CPU 종류에 상관없이 잘 구동된다는 것이 안드로이드의 주요 강점이다."

이 부분은 좀 납득하기 어렵다. 첫째로, 자바만을 이용해서 개발을 한다면, 달빅 가상머신이 있으니 상관이 없겠지만, NDK의 다음 버전에선 x86으로의 빌드가 지원될 예정이긴 한데, apk 이미지는 두개가 나올 수 밖에 없지 않나? 설마, apk 한개 안에서 두개의 바이너리 이미지를 넣는다 하더라도, 이미 만들어진 레거시들은? 아, 뭐, 하위 호환성은 별로 신경 안 쓸테니.. -_-.. 둘째로, 화면 크기에 상관없이 잘 구동된다는 점. 그래 뭐, dip(density independent pixel)같은 훌륭한게 있긴 하지만, 개발자들은 대체로 소화하고 있지 못하다. -_- 개발자가 소화한다 하더라도, 디자이너는 같은 이미지를 3벌을 만들어야 한다는걸 이해하지 못한다. -_- 아.. 그 밖에도 정말 마음에 안 드는 구석이 참 많은데, 궁시렁궁시렁...

구글이 안드로이드 마켓의 수익에는 큰 관심이 없는건, 여러가지 정책을 통해서 알겠는데, 안드로이드 마켓의 수익과 앱의 품질이 비례한다는 것을 좀 인지했으면 좋겠다. 반대로, 앱의 품질이 향상되면, 플랫폼의 입지도 높아지고, 오히려 더 잘 퍼질 것 같은데.. 지금의 정책은 여러가지로 좀 아쉽다.

그나저나, 앤디 루빈은 1980년도에는 Apple에서도 일을 했었고, 예전에는 Microsoft에서도 일을 했었고, Android OS를 만든 Android 社를 창업했었고, 지금은 Google의 부사장. -_-;; 뭐야 이거, 먼치킨 아냐?

-- 이상한 나라의 종텐.


통장 잔고를 확인하면, 항상.. 뭔가 미묘하게 별로 안 남아있다. 이제 복학하면, 마지막 학기지만 17학점이나 들어야 하고, 멤버십 과제도 하나쯤 할테니, 알바는 전혀 못 할것 같은데.. 학자금을 다 갚고 나면, 다시 바닥이 될듯 싶다. ㅠㅠ 이 나이에, 모아둔 돈이 하나도 없는건 좀 문제가 있는 것 같다. ㅠㅠ.. 지금은 고정 수입이 아니라서 안되고, 입사를 하면 80%는 적금을 들어야겠다. -_-;;

아아.. 내 블로그에서, 이렇게나 현실적인 포스팅이라니!

-- 슬퍼진 종텐.


« Previous : 1 : 2 : 3 : 4 : 5 : ... 28 : Next »