美文网首页 移动 前端 Python Android Java程序员Android知识
LatinIME输入法源码解析-词库种类简介

LatinIME输入法源码解析-词库种类简介

作者: JulyZhang | 来源:发表于2016-12-20 00:33 被阅读0次

介绍词库的优先级之前,先来简单的介绍下词库的类结构,如下图:

词库UML.png

词库的基类是Dictionary,派生类有5个,其中ExpandableBinaryDictionary又有3个派生类,分别是UserHistoryDictionary(历史记录词典)、ContactsBinaryDictionary(联系人词典)、UserBinaryDictionary(用户词典)


由此可见,输入法中的词库大致分四种:

  • 主词典
  • 联系人
  • 历史记录
  • 用户词典

在代码中也可以找到佐证,DictionaryFacilitator.java中可找到如下定义:

public static final String[] ALL_DICTIONARY_TYPES = new String[] {       
                    Dictionary.TYPE_MAIN,        
                    Dictionary.TYPE_CONTACTS,        
                    Dictionary.TYPE_USER_HISTORY,       
                    Dictionary.TYPE_USER};

那么这四类词库是如何管理协作、如何支撑输入法的高频查询、查询结果又是如何排序的呢,下一篇文章会先从分析各个词库的作用作为切入点,逐步分析每个词库的实现细节。

相关文章

网友评论

    本文标题:LatinIME输入法源码解析-词库种类简介

    本文链接:https://www.haomeiwen.com/subject/odngmttx.html