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

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


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