목록프로그래밍 (33)
Hyun Chul's Utopia
Service를 이용하여 백그라운드에서 작업을 하다보면, Activity로 데이터를 전달 해야 한다던가, 혹은 어떠한 순간에 데이터를 전달해 주어야 할 때가 있습니다. 처음에 이 작업을 위하여 삽질을 하다보니 좋은 방법이 있다는걸 뒤늣게 알아 버렸습니다. Android에서는 Service에 Bind된 클라이언트들은 Service로부터 특정 시점에 특정 데이터를 Callback 받기 위하여 RemoteCallbackList 라는 방법을 제공합니다. 해당 클래스는 템플릿 형태로 되어 있으며 원하는 타입을 지정하여 사용할 수 있습니다. 사용법은 간단합니다. Bind를 위한 ADIL과, Callback 시점에서 수행할 interface class를 정의한 ADIL이 준비물의 전부 입니다. Bind를 위한 ADI..
안드로이드는 버젼이 매우 다양합니다. 1.6부터 시작한다고 해도... 지금이 4.1.0 까지 나왔으니.. 그 종류만 해도 매우 많지요. 문제는 아이폰과 다르게 사용자들의 기기는 사용하는 버젼이 매우 다양하게 분포하고 있다는 점입니다. 때문에 무엇인가 만들기 시작하면 과연 타겟을 어떤 버젼에 맞추느냐..? 또한 문제가 되곤 합니다. 타켓 버젼에 따라서 사용할 수 있는 API 항목들이 다르다는것은 참 좋으면서도 애매한 상황입니다. 이번에 다루려고 하는 ActionbarSherlock 또한 그런 문제점을 해결하고자 나온 방안이 되겠네요. 잡설이 길었습니다. 이번에 다뤄볼 주제는 ActionbarSherlock 입니다. 3.0 이후 등장한 ActionBar를 사용하기 위한 하위호환 라이브러리(?) 정도로 생각할..
Ant는 Apache의 프로젝트로서 개발 되었다. 최초 개발은 Apache 내부에서 프로젝트를 보다 효율적으로 빌드&관리 하기 위하여 고안되었고, 이후 업계 표준으로 자리잡음 으로서 널리 사용되게 되었다. Ant 프로젝트의 공식 페이지는 다음과 같다. ( http://ant.apache.org/ ) 다운로드는 위의 공식 사이트에서 다운로드 페이지로 이동후 바이너리 파일을 다운 받으면 된다. 다운받은 파일을 압축 해제한 뒤, bin폴더의 경로를 Windows 환경변수에 추가 해준면 사용 가능하다. 환경 변수가 제대로 적용이 되었다면 Cmd에서 ant 명령어를 입력 하였을 때 메세지가 출력된다.
Windows에서의 레지스트리는 시스템의 모든 설정 및 데이터를 모아두는 중앙 저장소 역할을 수행한다. Windows가 작동되는 구성값, 설정, 그리고 프로그램과 관련된 모든 정보가 저장 되어 있다. 레지스트리 키 정의에 있어서,영단어 첫 자나 의미를 구분짓는 단어의 경우는 그 시작 첫 자만 대문자로 입력하는 습관을 갖는 것도 괜찮다. 또한 여러 개의 사용자계정을 쓰고 있다면, 가능한 HKEY_LOCAL_MACHINE 키에서보다는 HKEY_CURRENT_USER 키에서 편집을 하도록 한다.편집 전에 레지스트리를 백업해 두면 편집 후 발생할 수 있는 시스템 이상 징후들을 안전하게 이전 상태로 되돌릴 수 있다. Windows 레지스트리는 기본적으로 5개의 Main Key를 가지고 있다. 각각의 역할은 다음과..
제목 그대로 엑티비티 상에서 가상 키보드의 스타일을 정의 합니다. 이를 가능케 하는 가장 간단한 방법이 "AndroidManifest.xml" 파일에서 XML코드를 수정하는 방법입니다. 우선 적용 하고자 하는 엑티비티가 기술되어 있는 부분을 찾은 뒤 아래와 같은 옵션을 추가해 주면 됩니다. windowSoftInputMode 예를 들면 아래와 같이 되겠네요. 이렇게 값을 주게되면 가상 키보드가 올라와야 할 부분을 선택시(예를들면 EditText 선택) 레이아웃의 배치는 그대로 유지가 된 상태로 그 위에 가상 키보드가 올라오게 되어 있습니다. 샘플로 만든 화면을 보면 이해가 쉽겠네요.. 아래와 같은 원본 화면과 위의 windowSoftInputMode="adjustPan" 옵션의 유무에 따라 변된 모습을 ..
기본적으로 IPv4에 맞게 구성되어 있으며, 중간에 적힌 정규형 표현은 구글링을 참고 하였음을 미리 밝힙니다. 이번에 코딩을 하던 도중 입력한 문자열이 IP Address 인지 아니면 그냥 문자열인지 판별하는 그런 기능이 필요했습니다. 구글링 검색 결과 나온 내용은 단순히 4자리 숫자에 대한 판별 (ex : 255.255.255.0)에 관한 판별만 가능하더군요.. 입력하는 경우가 Port를 포함한 경우 (ex : 192.168.0.1:9000)에 대한 처리는 없었기에.. 해당 부분을 추가하여 개조 시켰습니다. ○ IpAddressAndPortCheck.java import java.util.regex.Matcher; import java.util.regex.Pattern; public class IpAd..
정말 지극히 개인적으로 Autorun을 제작해 봤습니다. 그냥 말이 Autorun이지 그냥 셋업파일 연결시켜주는 간단한 프로그램이 되겠네요. 사건의 전말은 공DVD 한장에 MS Office 2007, 2010 과 한컴오피스2007 을 모두 집어넣어 한장의 CD로 만들고 싶었다는거네요.. 정품CD에서 컴퓨터로 파일 복사 시키고 그냥 간단히 이들 셋업파일을 실행시켜주는 프로그램입니다. 약간 해맸던점은 한컴오피스 2007의 경우는 제가 만든 프로그램이 다른 경로에 있으면 정품사용자가 아니라고 반항을 하더라는 점이었는데..(한글 정품CD 유저란 말이다!!) 약간 삽질한 끝에 그냥 현재 경로를 이동시키면 되겠구나 하면서 해결 봤네요.. 소스는 지극히 더럽습니다 욕하지 말아주세요 ㅠ 사용 안하는 변수나 define..
음.. 제목은 하단 커스텀 탭 이라고 적었는데.. 정확한 명칭을 몰라서 그냥 그렇게 적었습니다. 무튼! 만들고 싶었던 내용은 하단에 이쁘장한 메뉴바를 만들고 싶었다는 것 입니다. 말로만 설명하면 감이 안잡히니 견본 화면을 하나 찍어봤습니다. 이 화면은 T Wifi Zone 어플입니다. 여기서 하단에 보면 "지도, 내주변리스트, 즐겨찾는장소, 기타" 이렇게 하단 탭 메뉴가 있습니다. 여기 있는 이런 모양의 하단 탭 메뉴를 한번 제작해 봤습니다. 우선 하단에 들어갈 아이콘 이미지가 필요하겠죠. 그래서 하나 만들었습니다. 못하는 포토샵 끙끙대가면서 허접하게 하나 만들어 봤습니다. 버튼에 효과를 주기위해 버튼이 눌렸을때의 이미지도 만들어서 직접 커스텀 버튼을을 만들었습니다. 이렇게 버튼을 만들고 xml로 합쳐서..
안드로이드에서 뒤로가기 버튼을 눌렀을때 KeyEvent를 발생하여 어플리케이션을 종료시킬 수 있는 방법입니다. 우선적으로 프로세스 종료하는 방법중 하나인 KillProcess 가 있습니다. 레퍼런스상의 문서 내용으로 보자면 아래와 같이 명시 되어 있네요.. public static final void killProcess(int pid) Since: API Level 1 Kill the process with the given PID. Note that, though this API allows us to request to kill any process based on its PID, the kernel will still impose standard restrictions on which PIDs y..