일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Friendship
- 삼성
- 패턴 인식
- 인공지능
- 구글 앱 엔진
- BAM
- 물걸레자동세척로봇청소기
- Google App Engine
- 나르왈프레오
- 파이썬
- 신경회로망
- 물걸레로봇청소기추천
- 패턴인식
- 빅데이터
- 동아리
- 갤럭시탭S8울트라
- hopfield network
- NarwalFreo
- 삼성소프트웨어멤버십
- 신경망
- Neural Network
- Bidirectional Associative Memory
- Python
- SSM
- 고려대학교
- 삼성전자 소프트웨어멤버십 SSM
- 하이퍼바이저
- 증강현실
- 멤버십
- 가상화
- Today
- Total
정보공간_1
[4기 전주 김재호] 안드로이드 소프트웨어 키보드#2 - 준비 단계 본문
[4기 전주 김재호] 안드로이드 소프트웨어 키보드#2 - 준비 단계
알 수 없는 사용자 2013. 10. 31. 03:30안녕하세요 전주멤버십 김재호입니다.
첫 글에서 안드로이드 키보드의 간단한 소개와 개념에 대하여 말씀드렸다면 이제는 실제로 코드를 이용하여 소프트웨어 키보드를 인식시키고 코딩을 시작하도록 하겠습니다.
안드로이드에서 키보드를 제작하기 위해서는 Input Method Serivce를 통하여 안드로이드 프레임 워크상에서 제공하는 기능들에 접근하게 됩니다.
다음은 IME 의 생명주기입니다. 리소스 초기화 등의 경우 시간을 많이 소모하게 되면 사용자가 불편함을 느낄 수 있으므로 미리 로딩할 수 있는 초기화 단계에 캐시하는 것이 권장됩니다.
IME의 생명주기 (Google)
IME를 시스템에 등록하기 위해서는 개발자의 어플리케이션이 IME서비스를 포함하고 있다는 것을 명시해야 합니다.
안드로이드를 위한 소프트 키보드를 만드는 첫 단계는 메니페스토 XML에 키보드 서비스를 등록하는 것입니다.
또한 키보드를 제공하기 위해서는 BIND_INPUT_METHOD 퍼미션이 필요합니다.
다음 단계를 통하여 키보드를 메니페스토에 추가하여 시스템에 알릴 수 있습니다.
(1) 서비스 클래스를 만든다
InputMethodService 를 상속받는 클래스를 제작한다.
(2) 메니페스토에 그 클래스를 추가한다.
(3) 인덴트 필터에 <action android:name=”android.view.InputMethod”>를 추가한다
실제 키보드를 제작하기 전에 안드로이드 키보드를 제작하는 데 중요한 클래스 2가지가 있습니다.
keyboardView 클래스
이 클래스는 입력 방식을 화면에 보여 주는 역할을 합니다. 상속받아 프로그래머가 직접 히트 영역 등을 수정할 수도 있고 프레임워크에서 제공하는 키보드 레이아웃 대신 다른 입력방식을 위한 화면을 나타내기 위해서도 상속하여 자식 클래스를 만드는 경우가 있습니다. KeyboardActionListener를 지정하여 각 키가 눌렸을 때 해야 할 일을 지정할 수 있습니다.
BasicInputConnection 클래스
이 클래스는 키보드와 입력을 받는 어플리케이션 간의 연결을 담당합니다.
다음 글에서는 이러한 클래스들을 가지고 키보드를 실제로 표시해 보도록 하겠습니다.
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[4기 강남 박인수] HotSwap기능이 있는 JRebel 사용법 #1 (0) | 2013.10.31 |
---|---|
[4기 전주 김재호] 안드로이드 소프트웨어 키보드#3 - 키보드 표시 (1) | 2013.10.31 |
[4기 전주 김재호] 안드로이드 소프트웨어 키보드#1 - 소개 (0) | 2013.10.31 |
[4기 강남 노진우] 개발자가 할 수 있는 프로토타이핑 (0) | 2013.10.30 |
[4기 강남 김태협]ChainCode와 MultiClass SVM을 이용한 제스처 인식 방법 (0) | 2013.10.29 |