일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 물걸레로봇청소기추천
- 파이썬
- 구글 앱 엔진
- Bidirectional Associative Memory
- 고려대학교
- 멤버십
- SSM
- 증강현실
- 가상화
- 삼성
- 인공지능
- NarwalFreo
- 삼성전자 소프트웨어멤버십 SSM
- 삼성소프트웨어멤버십
- 신경망
- Friendship
- 나르왈프레오
- 동아리
- 물걸레자동세척로봇청소기
- Google App Engine
- BAM
- Neural Network
- 패턴인식
- 패턴 인식
- 빅데이터
- 하이퍼바이저
- 신경회로망
- hopfield network
- Python
- 갤럭시탭S8울트라
- Today
- Total
정보공간_1
[4기 전주 김재호] 안드로이드 소프트웨어 키보드#4 - 이벤트 처리 본문
[4기 전주 김재호] 안드로이드 소프트웨어 키보드#4 - 이벤트 처리
알 수 없는 사용자 2013. 12. 5. 07:25안녕하세요 22-2기 김재호입니다.
지금까지는 안드로이드 키보드를 초기화 하고 디자인 하는 방법을 살펴보았습니다.
이제 만들어진 키보드 뷰에서 키 입력을 받고 그 키 입력을 통하여 문자를 텍스트 입력창에 입력시키는 방법을 알아보도록 하겠습니다.
입력되어야 하는 문자에 따라 키보드의 모양이 바뀌는 경우가 있습니다. 전화번호 등 숫자만을 입력할 경우에는 숫자 키보드를 보여주거나 전화번호를 입력하는 경우 전화번호용 키패드를 보여줄 수 도 있습니다. 패스워드를 입력할 경우에는 노출시키지 않아야 하기 때문에 추천단어 기능을 끄고 입력되는 텍스트를 저장해서는 안 됩니다.
이런 기능은 EditorInfo라는 클래스의 inputType을 통해서 얻을 수 있습니다.
안드로이드에는 다음과 같은 입력 타입이 있습니다.
상수 | 설명 |
TYPE_CLASS_NUMBER | 숫자 |
TYPE_CLASS_DATETIME | 날짜와 시간 |
TYPE_CLASS_PHONE | 전화번호 |
TYPE_CLASS_TEXT | 모든 글자 |
TYPE_TEXT_VARIATION_PASSWORD | 패스워드 필드-텍스트 숨김, 저장 안함 |
다음과 같이 초기화 후 EditorInfo 클래스를 사용하여 필요한 키보드의 종류를 알 수 있습니다.
그 후에는 SetKeyboard를 이용하여 표시할 키보드를 정할 수 있습니다.
OnStartInput 메서드의 매개변수로 EditorInfo 클래스가 있으며 EditorInfo 클래스의 inputType 변수를 통해 표시할 키보드의 종류를 알 수 있습니다.
알맞은 키보드를 표시한 후에는 조합 과정이 필요합니다. 단순히 키를 누를 때마다 바로 문자를 입력하는 단순 쿼티 키보드의 경우 조합 과정이 필요 없을 수 있습니다. 하지만 단어 예측 기능을 지원하려고 하거나 한글 키보드와 같이 여러 키의 입력을 조합해야만 하나의 문자를 완성할 수 있는 언어용 키보드의 경우, 즉 대부분의 키보드는 조합을 통해서 문자 입력 기능을 수행하게 됩니다.
안드로이드에서는 조합 기능(Composing)을 위하여 조합 과정 후 Commit 을 통해 문자를 텍스트 입력 위젯으로 전송할 수 있습니다.
SetComposingText 를 사용하여 조합중인 문자를 텍스트 위젯에 표시할 수 있습니다.
예를 들어 ‘한’이라는 글자를 표시하는 경우 ㅎ, ㅏ, ㄴ 키를 쿼티 키보드 모드에서 순서대로 눌렀다고 할때,
setComposingText(“ㅎ”)
setComposingText(“하”)
setComposingText(“한”)
setComposingText를 호출할 때마다 조합중인 텍스트가 갱신되게 됩니다.
만약 USB 키보드가 연결되었다거나 해서 하드웨어 입력이 들어오는 경우 터치 키 이벤트만으로는 처리할 수 없으며
onKeyDown과 onKeyUp 메서드를 오버라이드 하면 하드웨어 키 이벤트를 처리할 수 있습니다.
이제 글자를 표시하는 방법까지 알아보았고 다음에는 키를 입력할 때마다 변화해야 하는 경우에 대하여 알아보도록 하겠습니다.
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[4기 신촌 백재현] Windows Device Driver의 Logo 인증 받는 절차 (0) | 2013.12.05 |
---|---|
[4기 전주 김재호] 안드로이드 소프트웨어 키보드#5 - 조합 (0) | 2013.12.05 |
[4기 신촌 백재현] Luxand Face SDK를 사용하여 얼굴 유사도를 측정해보자 (4) | 2013.12.05 |
[4기 대구 박병권] MySQL 데이터베이스 백업 및 복원 (2) | 2013.12.05 |
[4기 부산 오세빈] Meemoo!! (0) | 2013.12.05 |