2012년 2월 26일 일요일

[안드로이드] 쓸모 없는 미디어 파일(음악,사진,동영상) 안보이게 하기.

얼마전 스트리트 파이터를 LG World에서 받았다.
의외로 재밌었지만 14000원이 약간 아까웠다 ㅠㅠ

그건 그렇고..
이녀석을 설치 하고 나서 음악에 들어가면 쓸때 없는 파일들이 너무 많아 원하는 음악 파일을 찾기가 힘들어 졌다.

이런 경우 쓸때 없는 파일들이 들어 있는 디렉토리에 .nomedia 란 파일을 만들어 주면 되는데...

먼저 .nomedia 파일을 만들어 두자.
시작메뉴 -> 실행 -> cmd
하여 명령프롬프트를 열고
copy con .nomedia
를 쳐넣고 엔터를 친다.
그뒤 Ctrl+Z 키를 누르면 파일이 하나 생성 된다.
탐색기로 그 파일이 있는 디렉토리로 가면 .nomedia 파일이 있을 것이다.

다음 USB로 휴대폰을 연결한 후 SD 카드를 마운트 한다.
내컴퓨터에서 연결된 SD 카드를 열어 쓸때 없는 파일들이 있는 디렉토리로 이동한다.
앞서 만들어 둔 .nomedia 파일을 끌어다 그 디렉토리에 복사 한다.

휴대폰에서 SD 카드 마운트를 해제 하면 SD카드를 다시 읽게 되고.
SD카드 확인이 끝나고 음악앱에 들어가면 쓸때 없는 파일이 안보이게 된다.

음악 파일 뿐만 아니고 갤러리에서 쓸때 없는 그림파일들이 자꾸 뜨는 경우에도 응용 할 수 있다.

[안드로이드] 에뮬레이터 단축키

안드로이드 에뮬레이터를 사용 하면서 유용한 단축키를 정리해 보았다.
표준 해상도가 아닌 경우 버튼 스킨이 나오지 않으므로 단축키를 사용한다면 무리 없이 사용 할 수 있다.

Emulated Device KeyKeyboard Key
Home 버튼HOME
Menu 버튼 (left softkey)F2 또는 Page-up
Star 버튼 (right softkey)Shift-F2 또는 Page Down
Back 버튼ESC
전화 걸기/통화 버튼F3
전화 끊기/통화 종료 버튼F4
Search 버튼F5
전원 버튼F7
볼륨 업 버튼KEYPAD_PLUS, Ctrl-5
볼륨 다운 버튼KEYPAD_MINUS, Ctrl-F6
카메라 버튼Ctrl-KEYPAD_5, Ctrl-F3
화면 회전 < (가로모드 < 세로모드)KEYPAD_7, Ctrl-F11
화면 회전 > (가로모드 > 세로모드)KEYPAD_9, Ctrl-F12
네트워크 On/OffF8
Toggle code profilingF9 (only with -trace startup option)
전체화면 모드Alt-Enter
트렉볼 모드 전환 (마우스 조작에 따라 트렉볼을 굴리는 듯한 효과를 나타 낸다.)F6
트렉볼 모드 (위와는 다르게 키를 누르는 동안에만 트렉볼 모드가 된다.)Delete
키패드 좌 상 우 하KEYPAD_4/8/6/2
키패드 가운데 버튼KEYPAD_5
Onion alpha increase/decreaseKEYPAD_MULTIPLY(*) / KEYPAD_DIVIDE(/)

2012년 2월 22일 수요일

[안드로이드] public.xml - 리소스값 고정하기

기본적으로 안드로이드에서는 리소스를 자동으로 관리해 준다.
res/ 이하의 디렉토리에 리소스 값을 넣어두면
Pre-compile시 재네레이터가
gen/ 폴더에 해당 리소스의 id값을 R.java 에 넣어 주게 된다.
개발자는 그 값을 이용해 리소스를 이용하기만 하면 아무 문제가 없는데...

문제는 만든 앱이 점점 버젼업을 해가고 다른 앱과 연동을 할때,
그것도 다른앱과 리소스를 공유한다면 발생하게 된다.

사실 거의 드문 케이스이기 때문에 예를 자세히 들면,

먼저 A 라는 앱이 있다.
이 앱엔 다른 앱의 아이콘 리소스 값을 등록해 해당 아이콘을 표시해 주는 기능이 있다.

B라는 앱에서 aa 라는 리소스를 만들었고,
A앱이 제공 하는 기능으로 aa의 값(0x71c4ee68 라고 하자)을 A앱에 등록 하였다.

시간이 흘러 B앱이 업데이트 되었고, 그와중에 리소스가 몇가지 추가 되어
aa의 값이 뒤로 밀리게 되었다. (0x71c4eee6)
A앱에 리소스가 등록된 상태에서 B앱이 업데이트 되면
A앱엔 B앱의(0x71c4ee68) 에 해당하는 아이콘이 보여 지게 될 것이다.
물론 B앱에서 기동시에 A앱의 값을 갱신해 주면 되지만,
뭔가 찝찝 하다.

이런 경우 aa 의 값을 고정해 줄수 있는 방법이 있다.
public.xml 이 바로 그것이다.

B앱의 res/values에 다음과 같이 public.xml을 추가 한다.
<resources>
 <!-- Fix resource value for app A -->
        <public type="drawable" name="aa" id=" 0x71c4ee68" />
</resources>
이렇게 하면 R.java의 aa값이 0x71c4ee68 로 고정될 것이다.
또한 재미있게도 주석으로 표시된 "Fix resource value for app A" 도
R.java에 주석으로 들어가게 된다.

2012년 2월 21일 화요일

[안드로이드] 에뮬레이터에 문자열 붙여 넣기

에뮬레이터를 이용해 개발 하다 보면 웹페이지나 텍스트 데이터 등을 카피 앤 페이스트 하고 싶어질때가 많다.
카피 앤 페이스트 만큼 간단하진는 않지만, 에뮬레이터에 문자열을 전달하는 방법을 소개 한다.

PC 에서
1. 먼저 이클립스에서 DDMS를 연다.
2. 다음 Emulator Control 탭을 선택 한다.
3. Emulator Control 중에 Telephony Actions 라는 그룹에
4. Incoming number 에 적당한 전화 번호를 넣고
5. SMS 를 선택 한 후
6. Message에 원하는 문자열을 넣는다 (제한이 있는듯 하다 2500자까진 된듯)
7. Send 버튼을 누른다.

Emulator 에서
1. SMS문자가 오면 해당 문자를 연다.
2. 문자를 롱클릭(누르고 있기) 하면 팝업이 뜨는데 Copy text 를 선택 한다.
3. 원하는  EditView(또는 입력하고자 하는 뷰)에 에서 롱클릭을 해 Paste 하면 된다.

뭐 10단계를 거쳐야 하니 복잡해 보이지만, 해보면 간단하게 할 수 있다.
무엇보다 20자 넘어가거나 특수 문자가 섞여 있다면 그냥 타이핑 하는것 보다 쉽고 정확하게 입렵이 가능하니 이 방법을 이용하길 권한다.

[유용한 정보] 붙여 넣기 하여 글자수를 셀 수 있는 웹페이지

작업을 하다 보면 글자수를 세어야 할 경우가 있다.
글자수 세는 프로그램이 많이 돌아 뎅기지만 일일이 다운 받고 설치 하기가 귀찮다.
사람인에서도 글자수 세주는 페이지를 제공 하지만 우리 회사에서는 접속을 막아 놨다는 -ㅁ-;;
전직 하지 말라 이건가 ㅋ;;
암튼 아래 링크로 접속 하면 된다.

http://sdrlurker.hostei.com/length.htm

제작자님 감사합니다.

제작자 : 신동렬/Ryan
홈페이지 : http://sdr1982.tistory.com