목록프로그래밍/Android (18)
Hyun Chul's Utopia
별 내용이 없습니다. 제목 그대로.. Media Scanning 작업을 수행합니다. Media Scanning작업은 직접 제어한다기 보다는 Android System에게 요청을 하고, 요청을 받은 Android System이 Media Scanning를 수행하는 구조로 이루어져 있습니다. 해당 요청은 Intent를 이용하여 Broadcast를 날려주면 됩니다. 간단히 만들어 본 예제는.. 외장 메모리 전체를 수행하도록 하는 기능과, 파일 하나를 단독으로 수행하도록 하는 방법입니다. Intent의 Action값을 바꿔주기만 하면 됩니다. // 외장 메모리 전체 MediaScanning public static void startExtMediaScan(Context mContext){ mContext.sen..
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를 사용하기 위한 하위호환 라이브러리(?) 정도로 생각할..
제목 그대로 엑티비티 상에서 가상 키보드의 스타일을 정의 합니다. 이를 가능케 하는 가장 간단한 방법이 "AndroidManifest.xml" 파일에서 XML코드를 수정하는 방법입니다. 우선 적용 하고자 하는 엑티비티가 기술되어 있는 부분을 찾은 뒤 아래와 같은 옵션을 추가해 주면 됩니다. windowSoftInputMode 예를 들면 아래와 같이 되겠네요. 이렇게 값을 주게되면 가상 키보드가 올라와야 할 부분을 선택시(예를들면 EditText 선택) 레이아웃의 배치는 그대로 유지가 된 상태로 그 위에 가상 키보드가 올라오게 되어 있습니다. 샘플로 만든 화면을 보면 이해가 쉽겠네요.. 아래와 같은 원본 화면과 위의 windowSoftInputMode="adjustPan" 옵션의 유무에 따라 변된 모습을 ..
음.. 제목은 하단 커스텀 탭 이라고 적었는데.. 정확한 명칭을 몰라서 그냥 그렇게 적었습니다. 무튼! 만들고 싶었던 내용은 하단에 이쁘장한 메뉴바를 만들고 싶었다는 것 입니다. 말로만 설명하면 감이 안잡히니 견본 화면을 하나 찍어봤습니다. 이 화면은 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..
이번에 만드는 어플에서 버튼을 사용할 일이 있었습니다. 실력이 미천한지라 매번 기본 버튼만 사용하다가 이번에는 이미지를 사용하기로 결정했습니다. 그런제 문제가 생겼죠. 버튼에 백그라운드로 이미지를 주니 눌렀을때 아무런 효과가 보이질 않는겁니다. 눌렸다는 시각적 효과를 안주었죠. 이번에 적을 내용은 버튼에 press 효과를 주는것 입니다. 준비물은 2장의 이미지 파일과 (일반 모습과 눌렀을때의 모습) 이를 꾸며줄 xml파일 입니다. 보시면... bt_top_back_on_off.xml bt_top_back_press.png bt_top_back.png 세개의 파일이 있는게 보입니다. 이게 앞서 말한 준비물이죠.. bt_top_back_on_off.xml 의 내용 입니다. 그리고 이렇게 설정한놈을 해당 레이..
안드로이드를 공부하던 도중.. FTP 를 이용한 파일전송을 해야할 일이 생겼다. 자바도 공부하지 못한상태에서 무작정 덤벼들다보니, 자바에서는 기본적으로 FTP 라이브러리가 제공이 안된다는 사실을 알았다. 당연히 자바를 기반으로 하는 안드로이드 또한 FTP라이브러리가 없기는 마찬가지였다. 처음에는 URI 를 이용해서 바이너리값을 전송받아 파일 복구는 구현했지만, 업로드는 어떻게 할까? 라는 벽에 부딪혔고, 결국에는 FTP 라이브러리를 구하는 상황에 이르렀다. 열심히 구글링을 해서 몇가지 라이브러리를 구했지만, 첫번째 라이브러리는 FTP 접속 자체가 불가능(아마도 안드로이드 상에서 테스트 했기 때문이 아닐까 싶다.), 두번째 구한 라이브러리는 접속에는 성공! 파일전송후 전송이 완료되었다고 메세지 출력! 하지..