CN101938551A - 一种移动终端电话簿的模糊查询方法和装置 - Google Patents
一种移动终端电话簿的模糊查询方法和装置 Download PDFInfo
- Publication number
- CN101938551A CN101938551A CN2010102654204A CN201010265420A CN101938551A CN 101938551 A CN101938551 A CN 101938551A CN 2010102654204 A CN2010102654204 A CN 2010102654204A CN 201010265420 A CN201010265420 A CN 201010265420A CN 101938551 A CN101938551 A CN 101938551A
- Authority
- CN
- China
- Prior art keywords
- letter
- contact person
- inquiry
- input
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种移动终端电话簿的模糊查询方法和装置,所述方法包括:接收用户输入的第一个查询字母,将第一个拼音字母跟第一个查询字母相同的第1组联系人显示;接收用户输入的第二个查询字母,从第一组联系人中的第二个拼音字母进行查找,将查询到的字母进行第二标识;接收用户输入的第N个查询字母,从第N-1组联系人中进行第N-1标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,则将查询到的字母进行第N标识,并将符合条件的第N组联系人显示。本发明中,用户无需完全记住联系人的姓名,仅需根据记忆对联系人进行模糊搜索,利于移动终端的推广。
Description
技术领域
本发明属于移动终端技术领域,具体涉及一种移动终端电话薄的模糊查询方法和装置。
背景技术
随着移动终端技术的不断发展,用户对移动终端功能的要求也越来越高。
以手机为例,手机电话本(Phonebook)已经成为手机当中日常运用最多的功能,随着手机存储空间越来越大,可存储的联系人的条目也越来越多。
现有的搜索方式基本上是基于拼音的完整匹配实现的,如果要查找一个联系人,需要输入的联系人姓名的完整拼音或者需要至少输入联系人姓名的各个字的拼音的第一个字母,这种方式就需要用户完全清晰的记得该用户的完整姓名。如:“杨华明”的拼音是:yang hua ming,则必需至少输入“yhm”才能搜索到该联系人,如果输入“ym”,则搜索结果列表只有:杨铭。
对用户而言,往往只会模模糊糊的大概记得某些人的姓名,而不能清楚的记得完整的姓名。如何使得用户能够根据记忆对联系人进行模糊搜索,并对搜索出的结果进行排序,而无需完全记住联系人的姓名,是移动终端技术领域研究的方向之一。
发明内容
本发明的目的在于提供一种移动终端电话薄的模糊查询方法,旨在使得用户能够根据记忆对联系人进行模糊搜索,并对搜索出的结果进行排序,而无需完全记住联系人的姓名。
本发明实施例是这样实现的,一种移动终端电话薄的模糊查询方法,所述方法包括以下步骤:
接收用户输入的第一个查询字母,将第一个拼音字母跟输入的第一个查询字母相同的第1组联系人显示;
接收用户输入的第二个查询字母,从第一组联系人中的第二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,则将查询到的字母进行第二标识,并将符合条件的第2组联系人显示;
接收用户输入的第N个查询字母,从第N-1组联系人中进行第N-1标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,则将查询到的字母进行第N标识,并将符合条件的第N组联系人显示,其中N为大于2的自然数。
本发明实施例的另一目的在于提供一种移动终端电话薄的模糊查询装置,所述装置包括:
查询字母接收模块,用于接收用户输入的查询字母;
匹配模块,用于根据用户输入的查询字母对联系人拼音进行匹配,查找包含有查询字母的联系人;
字母标识模块,用于对字母进行标识;
显示模块,用于将查找的联系人显示;
其中,查询字母接收模块在接收到第一个查询字母后,匹配模块匹配第一个拼音字母跟输入的第一个查询字母相同的第1组联系人,显示模块将第1组联系人显示;
查询字母接收模块接收用户输入的第二个查询字母,匹配模块从第一组联系人中的第二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,字母标识模块则将查询到的字母进行第二标识,显示模块将符合条件的第2组联系人显示;
查询字母接收模块接收用户输入的第N个查询字母,匹配模块从第N-1组联系人中进行第N-1标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,字母标识模块则将查询到的字母进行第N标识,显示模块将符合条件的第N组联系人显示,其中N为大于2的自然数。
本发明实施例中,用户只需输入自己能够记忆的几个模糊的字母,移动终端便能根据用户输入的字母进行模糊的查找,且能对查找出的联系人进行排序,使得用户能够根据记忆对联系人进行模糊搜索,并对搜索出的结果进行排序,而无需完全记住联系人的姓名,利于移动终端的推广。
附图说明
图1为本发明实施例提供的移动终端电话薄的模糊查询方法的流程图;
图2为本发明实施例提供的移动终端电话薄的模糊查询装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的移动终端电话薄的模糊查询方法的流程。
在步骤S101中,接收用户输入的第一个查询字母,将第一个拼音字母跟输入的第一个查询字母相同的第1组联系人显示;
在步骤S102中,接收用户输入的第二个查询字母,从第一组联系人中的第二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,则将查询到的字母进行第二标识,并将符合条件的第2组联系人显示;
在步骤S103中,接收用户输入的第N个查询字母,从第N-1组联系人中进行第N-1标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,则将查询到的字母进行第N标识,并将符合条件的第N组联系人显示,其中N为大于2的自然数。
其中,当对联系人进行字母的查询时,若联系人的字母中不含有查询字母,则将该联系人进行标识,不再对该联系人进行查询。
其中,对查找到的联系人进行排序,其中,在排序时,按照以下规则:第N个查询字母与第N-1个查询字母之间的距离越小,则排列越靠前。
本发明实施例中,主要数据结构包括:
1)、MMI_PHB_ENTRY_BCD_STRUCT PhoneBook[]:
该数据结构主要是用来存放所有的联系人的姓名,以用来在搜索完成后将搜索的结果以列表的方式显示给用户,同时,在搜索的过程中需要一一使用联系人的姓名进行比较;
2、static U8
g_phb_qsearch_pinyin_cache[MAX_PB_ENTRIES][(MAX_PB_NAME_LENGTH+1)*ENCODING_LENGTH]:
该数据结构主要是用来存放所有中文联系人姓名的拼音,以在比较算法当中使用;
3、static S8
g_phb_qsearch_record_index[MMI_PHB_QUICK_SEARCH_INPUT_LE NGTH][MAX_PB_ENTRIES]:
该数据结构主要是用来记录每一个输入的查询字符在匹配的联系人姓名字符串中的位置;等于“-1”则表示该联系人跟输入的查询字符不符合;
4、static
g_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[][]位置,将联系人进行精确性排序,也就是调整联系人在g_phb_qsearch_name_inde[][]当中的位置。最后返回搜索结果联系人数量;
在电话本列表中,每输入一个字符就会调用mmi_phb_quick_search_find_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[][]对应的位置为“-1”,表示该联系人不匹配;
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示出了本发明实施例提供的移动终端电话薄的模糊查询装置的结构。
查询字母接收模块21,用于接收用户输入的查询字母;
匹配模块22,用于根据用户输入的查询字母对联系人拼音进行匹配,查找包含有查询字母的联系人;
字母标识模块23,用于对字母进行标识;
显示模块24,用于将查找的联系人显示;
其中,查询字母接收模块21在接收到第一个查询字母后,匹配模块22匹配第一个拼音字母跟输入的第一个查询字母相同的第1组联系人,显示模块24将第1组联系人显示;
查询字母接收模块21接收用户输入的第二个查询字母,匹配模块22从第一组联系人中的第二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,字母标识模块23则将查询到的字母进行第二标识,显示模块24将符合条件的第2组联系人显示;
查询字母接收模块21接收用户输入的第N个查询字母,匹配模块22从第N-1组联系人中进行第N-1标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,字母标识模块23则将查询到的字母进行第N标识,显示模块24将符合条件的第N组联系人显示,其中N为大于2的自然数。
匹配模块22当对联系人进行字母的查询时,若联系人的字母中不合有查询字母,字母标识模块23则将该联系人进行标识,不再对该联系人进行查询。
显示模块24按照排序对查询到的联系人进行显示,其中,在排序时,按照以下规则:第N个查询字母与第N-1个查询字母之间的距离越小,则排列越靠前。
本发明实施例中,用户只需输入自己能够记忆的几个模糊的字母,移动终端便能根据用户输入的字母进行模糊的查找,且能对查找出的联系人进行排序,使得用户能够根据记忆对联系人进行模糊搜索,并对搜索出的结果进行排序,而无需完全记住联系人的姓名,利于移动终端的推广。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (6)
1.一种移动终端电话薄的模糊查询方法,其特征在于,所述方法包括以下步骤:
接收用户输入的第一个查询字母,将第一个拼音字母跟输入的第一个查询字母相同的第1组联系人显示;
接收用户输入的第二个查询字母,从第一组联系人中的第二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,则将查询到的字母进行第二标识,并将符合条件的第2组联系人显示;
接收用户输入的第N个查询字母,从第N-1组联系人中进行第N-1标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,则将查询到的字母进行第N标识,并将符合条件的第N组联系人显示,其中N为大于2的自然数。
2.如权利要求1所述的移动终端电话薄的模糊查询方法,其特征在于,当对联系人进行字母的查询时,若联系人的字母中不含有查询字母,则将该联系人进行标识,不再对该联系人进行查询。
3.如权利要求1所述的移动终端电话薄的模糊查询方法,其特征在于,所述方法还包括:
对查找到的联系人进行排序,其中,在排序时,按照以下规则:第N个查询字母与第N-1个查询字母之间的距离越小,则排列越靠前。
4.一种移动终端电话薄的模糊查询装置,其特征在于,所述装置包括:
查询字母接收模块,用于接收用户输入的查询字母;
匹配模块,用于根据用户输入的查询字母对联系人拼音进行匹配,查找包含有查询字母的联系人;
字母标识模块,用于对字母进行标识;
显示模块,用于将查找的联系人显示;
其中,查询字母接收模块在接收到第一个查询字母后,匹配模块匹配第一个拼音字母跟输入的第一个查询字母相同的第1组联系人,显示模块将第1组联系人显示;
查询字母接收模块接收用户输入的第二个查询字母,匹配模块从第一组联系人中的第二个拼音字母开始进行查找,若拼音中有与第二个查询字母相同的字母,字母标识模块则将查询到的字母进行第二标识,显示模块将符合条件的第2组联系人显示;
查询字母接收模块接收用户输入的第N个查询字母,匹配模块从第N-1组联系人中进行第N-1标识的拼音字母后进行查找,若拼音中有与第N个查询字母相同的字母,字母标识模块则将查询到的字母进行第N标识,显示模块将符合条件的第N组联系人显示,其中N为大于2的自然数。
5.如权利要求4所述的移动终端电话薄的模糊查询装置,其特征在于,匹配模块当对联系人进行字母的查询时,若联系人的字母中不含有查询字母,字母标识模块则将该联系人进行标识,不再对该联系人进行查询。
6.如权利要求4所述的移动终端电话薄的模糊查询装置,其特征在于,
所述显示模块按照排序对查询到的联系人进行显示,其中,在排序时,按照以下规则:第N个查询字母与第N-1个查询字母之间的距离越小,则排列越靠前。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102654204A CN101938551A (zh) | 2010-08-26 | 2010-08-26 | 一种移动终端电话簿的模糊查询方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102654204A CN101938551A (zh) | 2010-08-26 | 2010-08-26 | 一种移动终端电话簿的模糊查询方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101938551A true CN101938551A (zh) | 2011-01-05 |
Family
ID=43391672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102654204A Pending CN101938551A (zh) | 2010-08-26 | 2010-08-26 | 一种移动终端电话簿的模糊查询方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101938551A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521329A (zh) * | 2011-12-06 | 2012-06-27 | 北京神州泰岳软件股份有限公司 | 一种通信工具中查找联系人的方法和系统 |
CN102833380A (zh) * | 2012-07-26 | 2012-12-19 | 北京小米科技有限责任公司 | 通信终端中的联系人查找方法及装置 |
CN103020054A (zh) * | 2011-09-20 | 2013-04-03 | 深圳市金蝶中间件有限公司 | 模糊查询方法及系统 |
CN103823903A (zh) * | 2014-03-18 | 2014-05-28 | 联想(北京)有限公司 | 数据处理方法及装置 |
CN104598527A (zh) * | 2014-12-26 | 2015-05-06 | 盈世信息科技(北京)有限公司 | 一种语音搜索方法及装置 |
CN102833380B (zh) * | 2012-07-26 | 2016-11-30 | 小米科技有限责任公司 | 通信终端中的联系人查找方法及装置 |
CN109067960A (zh) * | 2018-09-17 | 2018-12-21 | 珠海格力电器股份有限公司 | 一种联系人查询方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691008A (zh) * | 2004-04-23 | 2005-11-02 | 英华达(上海)电子有限公司 | 混合多种字元的电话簿的查询方法 |
-
2010
- 2010-08-26 CN CN2010102654204A patent/CN101938551A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691008A (zh) * | 2004-04-23 | 2005-11-02 | 英华达(上海)电子有限公司 | 混合多种字元的电话簿的查询方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020054A (zh) * | 2011-09-20 | 2013-04-03 | 深圳市金蝶中间件有限公司 | 模糊查询方法及系统 |
CN103020054B (zh) * | 2011-09-20 | 2016-04-13 | 深圳市金蝶中间件有限公司 | 模糊查询方法及系统 |
CN102521329A (zh) * | 2011-12-06 | 2012-06-27 | 北京神州泰岳软件股份有限公司 | 一种通信工具中查找联系人的方法和系统 |
CN102521329B (zh) * | 2011-12-06 | 2014-10-22 | 北京神州泰岳软件股份有限公司 | 一种通信工具中查找联系人的方法和系统 |
CN102833380A (zh) * | 2012-07-26 | 2012-12-19 | 北京小米科技有限责任公司 | 通信终端中的联系人查找方法及装置 |
CN102833380B (zh) * | 2012-07-26 | 2016-11-30 | 小米科技有限责任公司 | 通信终端中的联系人查找方法及装置 |
CN103823903A (zh) * | 2014-03-18 | 2014-05-28 | 联想(北京)有限公司 | 数据处理方法及装置 |
CN103823903B (zh) * | 2014-03-18 | 2017-04-19 | 联想(北京)有限公司 | 数据处理方法及装置 |
CN104598527A (zh) * | 2014-12-26 | 2015-05-06 | 盈世信息科技(北京)有限公司 | 一种语音搜索方法及装置 |
CN104598527B (zh) * | 2014-12-26 | 2018-09-25 | 论客科技(广州)有限公司 | 一种语音搜索方法及装置 |
CN109067960A (zh) * | 2018-09-17 | 2018-12-21 | 珠海格力电器股份有限公司 | 一种联系人查询方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101876878A (zh) | 单词预测输入系统及方法 | |
CN101539836A (zh) | 一种人机界面交互系统和方法 | |
CN101075231A (zh) | 手机名片索引方法 | |
CN101799816A (zh) | 一种搜索移动终端信息中关键词的方法和移动终端 | |
CN101087327A (zh) | 一种移动终端的电话本查找方法 | |
CN101815125A (zh) | 一种联系人查找的方法、装置及移动终端 | |
CN101938551A (zh) | 一种移动终端电话簿的模糊查询方法和装置 | |
CN104219362A (zh) | 搜索联系人的方法和装置 | |
CN101676911A (zh) | 联系人查找系统及方法 | |
CN102117171A (zh) | 拼音输入系统及方法 | |
CN107885826A (zh) | 多媒体文件播放方法、装置、存储介质及电子设备 | |
CN1976515A (zh) | 一种便携式移动终端及其智能拨号方法 | |
CN103617204A (zh) | 一种基于android系统的快速查找联系人的方法 | |
CN103220387B (zh) | 一种触摸屏手机用搜索方法及装置 | |
CN102999639B (zh) | 一种基于语音识别字符索引的查找方法及系统 | |
CN101825984A (zh) | 提供独立于输入顺序的字符输入机制的方法、装置和计算机程序产品 | |
CN101340672A (zh) | 一种联系人查找方法、系统及移动终端 | |
CN101212505A (zh) | 通信终端的电话本快速查找方法及装置 | |
CN101340650A (zh) | 一种移动终端功能的查找方法、系统及移动终端 | |
CN101446975B (zh) | 一种文件定位方法、装置 | |
US8509749B2 (en) | Mobile communication apparatus and operating method thereof | |
CN102142030A (zh) | 一种数据搜索方法和数据搜索装置 | |
CN100550929C (zh) | 手持设备的电话本的排序方法及查找方法 | |
CN1564569A (zh) | 电话号码搜索方法和搜索引擎 | |
CN102117159B (zh) | 一种人机界面交互系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110105 |