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

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

LatinIME输入法源码解析-词库种类简介_第1张图片
词库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输入法源码解析-词库种类简介)