안녕하세요. 주니어 개발자 godsangin입니다. 취업준비로 인해 포트폴리오를 작성하려는데 그동안 해온 것도 생각이 잘 안나고 잘 정리해 놓을 필요성을 느껴 블로그를 시작하게 되었습니다 !
많이 부족한 글이더라도 좋게 봐주시면 감사하겠습니다 !!
산학협력 프로젝트를 할 기회가 생겨 안드로이드 키보드를 제작하게 되었습니다.
커스텀 키보드 제작을 위해서는 KeyboardView, Keyboard라는 클래스를 사용하고 각 키를 정의하는 keyboard태그를 가진 xml파일과 연동하는 과정을 거쳐 inputMethodService를 통하여 Service로 등록하고 사용할 수 있다는 것을 검색을 통해 알 수 있었습니다.
하지만 안드로이드 공식 레퍼런스를 찾아본 결과 KeyboardView와 Keyboard클래스가 API 29 이후로 deprecate된 것을 확인할 수 있었습니다.
[출처] https://developer.android.com/reference/android/inputmethodservice/KeyboardView
그 이유는
개발자가 더 동적으로 자유롭게 구현할 수 있도록 하기 위함이라고 합니다..!(영알못)
때문에 하는 수 없이 모든 레이아웃을 커스텀하고, inputMethodService를 통하여 각각의 버튼을 특정 이벤트와 연결하기로 결정(!)했습니다.
키보드를 제작하는 과정에서 많은 인터넷 자료들을 찾아보았지만, deprecate되는 기능을 사용하지 않는 키보드에 대한 자료를 찾아볼 수 없었습니다.(제가 못찾은 것일지도 모릅니다...)
그래서 !! 제가 직접 고민하고 해결한 과정을 블로그로 공유드립니다.
[Android]Custom Keyboard제작기는 총 3부로 작성될 예정이며 1주일에 한편씩 업데이트 하도록 하겠습니다.
1부: inputMethodService에 대하여 알아보자(다른 서비스의 EditText간섭하기!), FrameLayout을 통한 한/영/특문 등 키보드 변경하기
2부: 한글 오토마타 만들기
3부: 천지인 키보드 만들기
PS. 키보드 제작 자체는 현재 완료된 상태이며 한글 오토마타(천지인)와 추가 기능 구현이 남아있는 상태입니다.
'IT 프로그래밍-Android' 카테고리의 다른 글
[Android]커스텀 키보드 만들기(4/4) - 천지인 키보드 만들기 (0) | 2019.11.12 |
---|---|
[Android] 커스텀 키보드 만들기(3/4) 외전 - HangulMaker (2) | 2019.11.08 |
[Android] 커스텀 키보드 만들기(3/4) - 쿼티 키보드 만들기 (7) | 2019.11.08 |
[Android] 커스텀 키보드 만들기(2/4) - 영문 키보드 만들기 (1) | 2019.11.05 |
[Android]커스텀 키보드 만들기(1/4) - InputMethodService (7) | 2019.11.05 |