美文网首页 移动 前端 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