一种移动终端电话簿的模糊查询方法和装置的制作方法

文档序号:7758314阅读:86来源:国知局
专利名称:一种移动终端电话簿的模糊查询方法和装置的制作方法
技术领域
本发明属于移动终端技术领域,具体涉及一种移动终端电话薄的模糊查询方法和
直O
背景技术
随着移动终端技术的不断发展,用户对移动终端功能的要求也越来越高。以手机为例,手机电话本(Phonebook)已经成为手机当中日常运用最多的功能, 随着手机存储空间越来越大,可存储的联系人的条目也越来越多。现有的搜索方式基本上是基于拼音的完整匹配实现的,如果要查找一个联系人, 需要输入的联系人姓名的完整拼音或者需要至少输入联系人姓名的各个字的拼音的第一 个字母,这种方式就需要用户完全清晰的记得该用户的完整姓名。如“杨华明”的拼音是 yang hua ming,则必需至少输入“yhm”才能搜索到该联系人,如果输入“ym”,则搜索结果列 表只有杨铭。对用户而言,往往只会模模糊糊的大概记得某些人的姓名,而不能清楚的记得完 整的姓名。如何使得用户能够根据记忆对联系人进行模糊搜索,并对搜索出的结果进行排 序,而无需完全记住联系人的姓名,是移动终端技术领域研究的方向之一。

发明内容
本发明的目的在于提供一种移动终端电话薄的模糊查询方法,旨在使得用户能够 根据记忆对联系人进行模糊搜索,并对搜索出的结果进行排序,而无需完全记住联系人的 姓名。本发明实施例是这样实现的,一种移动终端电话薄的模糊查询方法,所述方法包 括以下步骤接收用户输入的第一个查询字母,将第一个拼音字母跟输入的第一个查询字母相 同的第1组联系人显示;接收用户输入的第二个查询字母,从第一组联系人中的第二个拼音字母开始进行 查找,若拼音中有与第二个查询字母相同的字母,则将查询到的字母进行第二标识,并将符 合条件的第2组联系人显示;接收用户输入的第N个查询字母,从第N-I组联系人中进行第N-I标识的拼音字 母后进行查找,若拼音中有与第N个查询字母相同的字母,则将查询到的字母进行第N标 识,并将符合条件的第N组联系人显示,其中N为大于2的自然数。本发明实施例的另一目的在于提供一种移动终端电话薄的模糊查询装置,所述装 置包括查询字母接收模块,用于接收用户输入的查询字母;匹配模块,用于根据用户输入的查询字母对联系人拼音进行匹配,查找包含有查 询字母的联系人;
字母标识模块,用于对字母进行标识;显示模块,用于将查找的联系人显示;其中,查询字母接收模块在接收到第一个查询字母后,匹配模块匹配第一个拼音 字母跟输入的第一个查询字母相同的第1组联系人,显示模块将第1组联系人显示;查询字母接收模块接收用户输入的第二个查询字母,匹配模块从第一组联系人中 的第二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,字母标识模 块则将查询到的字母进行第二标识,显示模块将符合条件的第2组联系人显示;查询字母接收模块接收用户输入的第N个查询字母,匹配模块从第N-I组联系人 中进行第N-I标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,字母 标识模块则将查询到的字母进行第N标识,显示模块将符合条件的第N组联系人显示,其中 N为大于2的自然数。本发明实施例中,用户只需输入自己能够记忆的几个模糊的字母,移动终端便能 根据用户输入的字母进行模糊的查找,且能对查找出的联系人进行排序,使得用户能够根 据记忆对联系人进行模糊搜索,并对搜索出的结果进行排序,而无需完全记住联系人的姓 名,利于移动终端的推广。


图1为本发明实施例提供的移动终端电话薄的模糊查询方法的流程图;图2为本发明实施例提供的移动终端电话薄的模糊查询装置的结构图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不 用于限定本发明。图1示出了本发明实施例提供的移动终端电话薄的模糊查询方法的流程。在步骤SlOl中,接收用户输入的第一个查询字母,将第一个拼音字母跟输入的第 一个查询字母相同的第1组联系人显示;在步骤S102中,接收用户输入的第二个查询字母,从第一组联系人中的第二个拼 音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,则将查询到的字母进行 第二标识,并将符合条件的第2组联系人显示;在步骤S103中,接收用户输入的第N个查询字母,从第N-I组联系人中进行第N_1 标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,则将查询到的字 母进行第N标识,并将符合条件的第N组联系人显示,其中N为大于2的自然数。其中,当对联系人进行字母的查询时,若联系人的字母中不含有查询字母,则将该 联系人进行标识,不再对该联系人进行查询。其中,对查找到的联系人进行排序,其中,在排序时,按照以下规则第N个查询字 母与第N-I个查询字母之间的距离越小,则排列越靠前。本发明实施例中,主要数据结构包括1)、MMI_PHB_ENTRY_BCD_STRUCT PhoneBook[]
4
该数据结构主要是用来存放所有的联系人的姓名,以用来在搜索完成后将搜索的 结果以列表的方式显示给用户,同时,在搜索的过程中需要一一使用联系人的姓名进行比 较;2、static U8g_phb_qsearch_pinyin_cache [MAX_PB_ENTRIES] [ (MAX_PB_NAME_ LENGTH+1)*ENCODING_LENGTH]该数据结构主要是用来存放所有中文联系人姓名的拼音,以在比较算法当中使 用;3、static S8g_phb_qsearch_record_index[MMI_PHB_QUICK_SEARCH_INPUT_LE NGTH][MAX_ PB_ENTRIES]该数据结构主要是用来记录每一个输入的查询字符在匹配的联系人姓名字符串 中的位置;等于“_1”则表示该联系人跟输入的查询字符不符合;4、staticg_phb_qsearch_name_inde[MMI_PHB_QUICK_SEARCH_INPUT_LEN GTH][MAX_PB_ ENTRIES]该数据结构主要是记录每个查询字符输入搜索后的各个联系人物理的存储位置; 同时只要对该数组进行排序就能达到对电话本当中联系人的逻辑位置的排序;上层MMI显 示时,只要通过读取该数据中的物理位置就能读取到相关姓名,号码等信息;其中,本发明实施例主要的函数为S32mmi_phb_quick_search_find_entry(U8*keyword)功能该函数主要完成了搜索匹配联系人并进行精确性排序的功能输入U8*keyword输入的查询字符串返回匹配的联系人的个数;实现该函数通过查询g_phb_qsearch_pinyin_cache [][]中的姓名,来获得是否 跟输入的keyword匹配,如果匹配则在g_phb_qsearch_record_index口 []纪录下位置,再 通过比较g_phb_qSearCh_reCOrd_indeX[][]位置,将联系人进行精确性排序,也就是调整 联系人□口当中的位置。最后返回搜索结果联系人数量;在电话本列表中,每输入一个字符就会调用mmi_phb_quick_search_f ind_ entry ()搜索匹配的联系人,并得到新排序的列表--g_phb_qSearCh_name_inde [][],电话 本再通过该列表中联系人物理位置依次读出联系人姓名,通过列表的方式显示给用户。本发明实施例中查询函数的处理流程1)、输入第一个查询字母后,查询所有的联系人的拼音表g_phb_qSearCh_pinyin_ cache[] □,查找第一个拼音字母跟输入的第一个查询字母相同的所有联系人,在g_phb_ qsearch_record_index[][]记录下当前匹配字符的位置,将这些第一组联系人作为查询结 果显示给用户;2)、输入第二个查询字母后,在第一组联系人中继续查找,查找时需要从名字中从 第二个字母开始,如果该名字含有该字母,在g_phb_qSearCh_reCOrd_indeX[][]中记录下 该字母在名字中出现的位置,将第二组联系人作为查询结果显示给用户;如果联系人的名字中不含有该字母,将g_phb_qSearCh_reCOrd_indeX[][]对应的位置为“_1”,表示该联系 人不匹配;3)、输入第三个查询字母后,在第二组联系人中继续查找,查找时需要从第二 个字母出现的位置的下一个开始查找,如果该联系人的名字还是含有该字母,在g_phb_ qsearch_record_index[][]中记录下该字母出现的位置,将该联系人作为查询结果显示给 用户;如果联系人的名字中不合有该字母,将g_phb_qSearCh_reCOrd_indeX[][]对应的位 置为“-ι ”,表示该联系人不匹配;4)、输入第四个,第五个......查询字母以此例推;当然最大的查询的字符个数
是有限制的,一般为6到10个。当找到一个与当前输入字符匹配的联系人后,需要进行精确性比较,将越是与输 入字符相近的联系人越放在前面。比较精确性的原则是当输入大于等于两个搜索字符 后,匹配的联系人姓名的拼音字符串当中这两个字符之间的距离越小越表示精确。如输 入“YB”后匹配的结果有“杨红兵”-YangHongBing与“杨兵” 一YangBing;显然“杨兵”要比 “杨红兵”更精确,因为“YangBing”中的Y与B的距离更近。本发明实施例的精确性比较处理流程1)、输入一个搜索字符后,找到一个匹配的联系人,在所有匹配的联系人当中查找 第一个精确性比当前联系人差的联系人,该联系人的位子就是当前联系人需要插入的位 子也就是在数组g_phb_qSearCh_name_indeX[]中将当前联系人的位置调整;2)、依次移动查找到的那个精确性差的联系人以及后面精确性更差的联系人的位 子也就是移动数组中g_phb_qSearCh_name_indeX[]中各个联系人的物理存储次序;3)、将当前的联系人放在调整后的位子;譬如,当前电话本中的有以下联系人列表1)、阿木2)、杨华名3)、杨启明4)、杨铭5)、杨小明6)、曾晓明当用户记得名字不是很清楚,只记得一个人叫“杨XX明”时,只要输入yming或者 ym,就可以得到查询列表1)、杨铭2)、杨华名3)、杨启明4)、杨小明本发明实施例对输入关键字母的对输入关键字母的个数没有限制,只要输入的关 键字母的顺序跟名字中这些关键字母所在的先后顺序一致就可以,譬如“杨华明”的拼音 是:yang hua ming,只要输入yanghuaming、yhm、yum、yhi、yming、ym、yi...都可以搜索出 “杨华明”。图2示出了本发明实施例提供的移动终端电话薄的模糊查询装置的结构。
6
查询字母接收模块21,用于接收用户输入的查询字母;匹配模块22,用于根据用户输入的查询字母对联系人拼音进行匹配,查找包含有 查询字母的联系人;字母标识模块23,用于对字母进行标识;显示模块24,用于将查找的联系人显示;其中,查询字母接收模块21在接收到第一个查询字母后,匹配模块22匹配第一个 拼音字母跟输入的第一个查询字母相同的第1组联系人,显示模块24将第1组联系人显 示;查询字母接收模块21接收用户输入的第二个查询字母,匹配模块22从第一组联 系人中的第二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,字母 标识模块23则将查询到的字母进行第二标识,显示模块24将符合条件的第2组联系人显 示;查询字母接收模块21接收用户输入的第N个查询字母,匹配模块22从第N_1组 联系人中进行第N-I标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字 母,字母标识模块23则将查询到的字母进行第N标识,显示模块24将符合条件的第N组联 系人显示,其中N为大于2的自然数。匹配模块22当对联系人进行字母的查询时,若联系人的字母中不合有查询字母, 字母标识模块23则将该联系人进行标识,不再对该联系人进行查询。显示模块24按照排序对查询到的联系人进行显示,其中,在排序时,按照以下规 则第N个查询字母与第N-I个查询字母之间的距离越小,则排列越靠前。本发明实施例中,用户只需输入自己能够记忆的几个模糊的字母,移动终端便能 根据用户输入的字母进行模糊的查找,且能对查找出的联系人进行排序,使得用户能够根 据记忆对联系人进行模糊搜索,并对搜索出的结果进行排序,而无需完全记住联系人的姓 名,利于移动终端的推广。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换, 而这些改进和变换都应属于本发明所附权利要求的保护范围。
权利要求
一种移动终端电话薄的模糊查询方法,其特征在于,所述方法包括以下步骤接收用户输入的第一个查询字母,将第一个拼音字母跟输入的第一个查询字母相同的第1组联系人显示;接收用户输入的第二个查询字母,从第一组联系人中的第二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,则将查询到的字母进行第二标识,并将符合条件的第2组联系人显示;接收用户输入的第N个查询字母,从第N 1组联系人中进行第N 1标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,则将查询到的字母进行第N标识,并将符合条件的第N组联系人显示,其中N为大于2的自然数。
2.如权利要求1所述的移动终端电话薄的模糊查询方法,其特征在于,当对联系人进 行字母的查询时,若联系人的字母中不含有查询字母,则将该联系人进行标识,不再对该联 系人进行查询。
3.如权利要求1所述的移动终端电话薄的模糊查询方法,其特征在于,所述方法还包括对查找到的联系人进行排序,其中,在排序时,按照以下规则第N个查询字母与第N-I 个查询字母之间的距离越小,则排列越靠前。
4.一种移动终端电话薄的模糊查询装置,其特征在于,所述装置包括查询字母接收模块,用于接收用户输入的查询字母;匹配模块,用于根据用户输入的查询字母对联系人拼音进行匹配,查找包含有查询字 母的联系人;字母标识模块,用于对字母进行标识;显示模块,用于将查找的联系人显示;其中,查询字母接收模块在接收到第一个查询字母后,匹配模块匹配第一个拼音字母 跟输入的第一个查询字母相同的第1组联系人,显示模块将第1组联系人显示;查询字母接收模块接收用户输入的第二个查询字母,匹配模块从第一组联系人中的第 二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,字母标识模块则 将查询到的字母进行第二标识,显示模块将符合条件的第2组联系人显示;查询字母接收模块接收用户输入的第N个查询字母,匹配模块从第N-I组联系人中进 行第N-I标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,字母标识 模块则将查询到的字母进行第N标识,显示模块将符合条件的第N组联系人显示,其中N为 大于2的自然数。
5.如权利要求4所述的移动终端电话薄的模糊查询装置,其特征在于,匹配模块当对 联系人进行字母的查询时,若联系人的字母中不含有查询字母,字母标识模块则将该联系 人进行标识,不再对该联系人进行查询。
6.如权利要求4所述的移动终端电话薄的模糊查询装置,其特征在于,所述显示模块按照排序对查询到的联系人进行显示,其中,在排序时,按照以下规则 第N个查询字母与第N-I个查询字母之间的距离越小,则排列越靠前。
全文摘要
本发明公开了一种移动终端电话簿的模糊查询方法和装置,所述方法包括接收用户输入的第一个查询字母,将第一个拼音字母跟第一个查询字母相同的第1组联系人显示;接收用户输入的第二个查询字母,从第一组联系人中的第二个拼音字母进行查找,将查询到的字母进行第二标识;接收用户输入的第N个查询字母,从第N-1组联系人中进行第N-1标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,则将查询到的字母进行第N标识,并将符合条件的第N组联系人显示。本发明中,用户无需完全记住联系人的姓名,仅需根据记忆对联系人进行模糊搜索,利于移动终端的推广。
文档编号H04M1/725GK101938551SQ201010265420
公开日2011年1月5日 申请日期2010年8月26日 优先权日2010年8月26日
发明者杨志兵 申请人:惠州Tcl移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1