一种手持设备高效联系人查找方法技术

技术编号:5491526 阅读:318 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种手持设备高效联系人查找方法,属于信息技术处理领域。本方法为:1)建立一字符反查表和一数字键盘映射表;2)将通讯录中的联系人姓名进行分解,得到姓名中的标点符号S、连续的字母串L、字符C并读取字符的字母拼写串(L1,L2,..,Ln),并将其保存到一链表结构的顺序节点中;3)将链表中存储的姓名分解结果与用户输入的过滤字符串进行匹配;4)返回包含匹配信息的联系人,得到匹配的联系人列表。与现有技术相比,本发明专利技术可实现手持设备通过直接按数字键对联系人进行查找,同时给出智能查找的匹配结果,以方便使用者继续输入字符进行更准确的查找。

【技术实现步骤摘要】

本专利技术涉及,属于信息技术处理领域。本专利技术 可实现手持设备通过直接按数字键对联系人进行查找,同时给出智能查找的匹配结果,以 方便使用者继续输入字符进行更准确的查找。
技术介绍
现今手机行业发展迅猛,手机已成为人们日常生活中不可或缺的一部重要的移动 设备。然而受物理尺寸限制,手机制造商往往采用物理数字键盘以减少键盘占用的空间。还 有许多触屏手机提供的虚拟键盘也适用数字键盘的布局,方便用户点击。在数字键盘输入 时,各种语言一般将字母表映射到0-9的十个数字上,通过连续点击数字按键在字母之间 切换。还有许多语言(例如汉字)不能通过数字键盘直接输入字符,还需要使用本地的输 入法进行一个转换。受此种数字键盘输入方式的影响,基于字母输入的联系人查找也必须多次点击一 个数字键选择要输入的字母,然后使用该字母进行对联系人的姓名进行查找。例如在英文 环境中查找“Meven”,用户必须连续按四下数字键‘7’选择字母‘S’,输入整个单词需要按 十四次按键。数字键盘联系人查找方式严重制约联系人的查找速度。另外,传统的查找方 式只会将搜索结果按照联系人的姓名进行排序,如果姓名的前几个字符相同,用户必须输 入更多的字符才能准确查找到想要找到的联系人。
技术实现思路
针对现有技术中存在的技术问题,本专利技术的目的在于提供一种手持设备高效联系 人查找方法。本方案直接采用输入数字对联系人进行查找。查找时,自动根据数字键盘映 射将列举出数字对应的可能字母组合,然后使用字母组合对联系人进行过滤;同时还使用 输入的数字对联系人的手机号码进行查找。本方案还使用匹配程度和联系频率对搜索结果 进行智能排序,以提高搜索的准确性。搜索结果高亮显示匹配的字母,方便用户继续输入数 字或者删除数字进行进一步查找。本专利技术的技术方案为,其步骤为1)建立一字符反查表,用于保存需要转换成字母才能输入的字符;2)建立一数字键盘映射表,用于保存字母与键盘数字之间的对应关系;3)利用所述字符反查表对通讯录中的联系人姓名进行分解,得到姓名中的标点符 号S、连续的字母串L、字符C及其字母拼写串(L1,L2,..,Ln),并将分解结果保存到一链表 结构的顺序节点中;4)利用所述数字键盘映射表对链表中存储的姓名分解结果与用户输入的过滤字 符串进行匹配;5)返回包含匹配信息的联系人,得到匹配的联系人列表。进一步的,所述字符反查表的字段包括文件类型标识、拼写串缓存在文件中的存 储起始位置、字符节点在文件中的存储位置、字符节点个数。进一步的,一个字符设置有一个或多个字母拼写串。进一步的,将通讯录中的联系人姓名进行分解并保存到链表中的方法为1)获取姓名中每一个字符,如果当前字符是一个字母,将其添加到字母串缓存,否 则将已缓存字母作为一个字母串节点,添加到顺序节点中;2)如果当前字符是可拼写的字符,则将当前字符添加到一个字符节点;同时获取 当前字符的字母拼写串,并将每一个字母拼写串添加到一个字母串节点;最后将字符节点 和字母串节点添加到一个分支节点中,并将该分支节点添加到顺序节点中;3)如果当前字符是无法识别的字符,则将其当作标点符号单独作为一个字符节点 添加到顺序节点中。进一步的,将链表中存储的姓名分解结果与用户输入的过滤字符串进行匹配的方 法为1)将顺序节点中存储的子节点依次与用户输入的过滤字符串进行匹配,并记录顺 序节点中每一个子节点与过滤串的匹配的状态信息;其中,如果当前子节点是字符节点,则 将其存储的字符与过滤串当前字符直接进行比较,如果是字母串节点,则将其存储的字母 及字母对应于数字键盘上的数字分别与过滤串当前字符进行比较,如果是分支节点,则将 其存储的字符节点或字母串节点与过滤串当前字符进行比较,只要有一个节点匹配成功就 认为分支节点与过滤串匹配;2)使用下一个子节点与剩余部分过滤串的字符继续匹配,如果能够匹配到过滤字 符串的结尾,则认为本次匹配成功,否则认为本次匹配失败。进一步的,所述匹配的状态信息包括子节点在顺序节点中的位置,分支节点的分 支位置,子节点与过滤字符串匹配的状态。进一步的,所述字符节点按照字符的Unicode值从小到大排列;采用折半查找方 法查找当前字符在所述字符反查表中对应的字母串;将姓名分解结果采用正则文法表示 为:SL(C|L1 |L2|. . I Ln)。进一步的,将匹配联系人中的匹配结果进行高亮显示,并计算匹配准确度,根据匹 配准确度对搜索结果排序。进一步的,计算所述匹配准确度的方法为1)遍历解析后的节点串中每一个节点,如果当前节点匹配就返回匹配精确度为 0,否则返回匹配精确度为1 ;2)将匹配精确度返回值进行累加,累加值愈大则匹配的准确度越低,反之匹配度 越高;3)将匹配精确度保存到匹配结果中。进一步的,根据匹配结果对匹配的联系人列表进行排序,其方法为首先根据匹配 精确度对匹配联系人进行升序排序;然后对于匹配精确度相同的联系人根据联系频率进行 降序排列,最后对于相同匹配精确度和相同联系频率的联系人根据姓名排序。与现有技术相比,本专利技术的积极效果为1.接受用户直接输入数字,使用数字按照键盘映射对联系人查找;2.查找联系人时,除了对姓名查找外还对用户手机号码进行;3.统计查找的匹配准确度,根据匹配准确度和联系频率对过滤后联系人排序;4.高亮显示字母匹配结果,方便用户继续输入;附图说明图1 本专利技术方法流程图;图2 使用手机数字键盘联系人查找。具体实施例方式下面结合附图对本专利技术的具体实施方式进行详细描述,本专利技术的方法流程如图1 所示。1.对于文字中需要转换成字母才能输入的字符,建立字符反查表(SpellTable)。 一个字符可能有多个字母拼写串,按照字符排序后存储可以使用折半查找加快查找速度。 对于不需要拼写转化的语言省略此步骤。表格1 字符反查表字符1字母拼写串1字符1字母拼写串2字符2字母拼写串3建立字符反查表,保存在二进制文件中。文件结构如下文件头SpellTableFileHead用于识别拼写串缓存位置和字符节点位置和个数。 在文件头后面紧接着存储拼写串,然后是存储字符节点(CharNode)。字符节点按照字符的 Unicode值从小到大排列,便于使用折半查找。struct SpellTableFileHead{char mMagic ;//文件类型标识,存储固定字符串” yldb”。int mSpellsOffset ;//拼写串缓存在文件中的存储起始位置,每个拼写串 以’ \0’结束。int mNodesOffset ;//字符节点在文件中的存储位置,每一个节点为一个 CharNode0int mNodesCount ;// 字符节点个数。}struct CharNode{wchar_t mChar ;unsigned short mSpell ;//存储拼写串在文件中的偏移量。}2.对字母建立数字键盘映射表(LetterTable),用于数字串和字母串的匹配,多 个字母可能对应一个数字。表格2 字母数字键盘映射表权利要求1.,其步骤为1)建立一字符反查表,用于保存需要转换成字母才能输入的字符;2)建立一数字键盘映射表,用于保存字母与键盘数字之间的对应关系;3)利用所述字符反查表对通讯录中的联系人姓名进行分解,得到姓名中的标点符号 S本文档来自技高网...

【技术保护点】
一种手持设备高效联系人查找方法,其步骤为:1)建立一字符反查表,用于保存需要转换成字母才能输入的字符;2)建立一数字键盘映射表,用于保存字母与键盘数字之间的对应关系;3)利用所述字符反查表对通讯录中的联系人姓名进行分解,得到姓名中的标点符号S、连续的字母串L、字符C及其字母拼写串(L1,L2,…,Ln),并将分解结果保存到一链表结构的顺序节点中;4)利用所述数字键盘映射表对链表中存储的姓名分解结果与用户输入的过滤字符串进行匹配;5)返回包含匹配信息的联系人,得到匹配的联系人列表。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱胜
申请(专利权)人:北京友录在线科技发展有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1