안드로이드 개발 질문/답변
(글 수 45,052)
키보드에서 사용하는 예측단어 관련해서 처음 접해보는
초보 개발자입니다.
키보드 관련해서 샘플 자료들가 많아서 좋은데요...
문제는 키보드에서 사용되는
예측단어들을 dict로 만들어야되는지
db를 이용을 해야되는지 해서요
지금은 까페에 dict파일이용하는 소스가 있어서 기뻤는데요
dict파일을 수정하려고 하니 또 여기서 문제네요...ㅜㅜ
질문의 요지는
1. dict파일, db파일 둘중 어느걸 사용해야되는지?
2. dict파일을 사용해야한다면 dict파일 수정, 생성은 어떻게 하는지?
이렇게 두가지입니다.
고수님들의 아낌없는 조언부탁드립니다.
안녕하세요.
dict 파일은 so를 사용하여 이용할껍니다
안드로이드 폰이면 왠만하면 기본 LatineIME가 있는데요.
이 LatineIME 소스를 보시면 dictionary 사용하는소스를 보시면 JNI 메소드를 사용하는 부분이 있을거에요.
이는 LatineIME에서 예측사전을 사용할시에 기본 SO를 사용한다는것이지요.
해본지 꽤되서 이름은 가물가물한데요 아마 LatinIME.SO 일거같네요.
이 라이브러리 파일을 이용해서 예측사전기능을 합니다.
즉 dict 파일은 저러한 so에 맞게 제작을 하셔야합니다. dict 파일을 제작하는 별도의 툴이 있습니다.
하지만 이것이 공개안되어있었던 걸로 기억합니다. 다만 이것과 비슷하게 해준것이 GreekIME의 레포지터리가 오픈소스쪽에 올라온것이 있었던걸로 기억합니다. 그것을 한번 참고하셔야 할듯합니다.
사용자 사전은 이와 별도로 DB 데이터를 사용합니다.
개인적으로 예측사전 기능을 DB로 별도 구현하시는게 좀더 쉽게 개발 하실수 있을거라고 생각됩니다.
최근에 많이 개발되는 유명한 입력기는 별도의 예측사전처리를 구현합니다. 별도로 일본어IME나 PinYin 입력기소스보시면 text파일 기반으로 예측사전을 구현하신것을 확인하실수 있습니다.
그냥 단순하게 dict파일을 구하신다면 어둠의 경로로 구하실수 있으실지도 몰라요. (권장하진 않습니다..)