CN106126048A - 一种移动设备的联系人信息的查询方法和装置 - Google Patents
一种移动设备的联系人信息的查询方法和装置 Download PDFInfo
- Publication number
- CN106126048A CN106126048A CN201610421887.0A CN201610421887A CN106126048A CN 106126048 A CN106126048 A CN 106126048A CN 201610421887 A CN201610421887 A CN 201610421887A CN 106126048 A CN106126048 A CN 106126048A
- Authority
- CN
- China
- Prior art keywords
- person information
- associated person
- language
- index
- letter
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供了一种移动设备的联系人信息的查询方法和装置,该方法包括:在通讯录的界面中依据存储的至少两种语言的联系人信息,显示所述至少两种语言的字母标签;当所述字母标签中的第一目标字母被触发时,在所述至少两种语言的联系人信息中查询以所述第一目标字母作为首字母的目标联系人信息;在所述通讯录的界面中显示所述目标联系人信息。本发明实施例通过在通讯录的界面显示多语音的字母标签,通过简单的点击等操作,即可实现多语言的联系人信息的快速定位,避免了用户从初始的联系人信息开始,通过持续的滑动、翻页等操作找到所需的联系人信息,大大提高了操作繁琐。
Description
技术领域
本发明涉及通信的技术领域,特别是涉及一种移动设备的联系人信息的查询方法和一种移动设备的联系人信息的查询装置。
背景技术
随着通信科技的发展,诸如手机、手表等移动设备在人们的工作、学习、日常交流等各方面的使用率也越来越高。
用户通过移动设备与他人进行通话、短信联系的频率较高,使得移动设备累积了较多的联系人信息。
在通讯录中,如图1所示,一般会添加“A”-“Z”等英文字母的定位控件,用户点击该控件可以定位到该英文字母作为首字母的联系人信息。
但是,如果在某些不适用英文字母的国家,比如阿拉伯,在使用阿拉伯语存储联系人信息的情况下,由于阿拉伯语使用的不是英文字母,而是阿拉伯语字母,这样就无法通过通讯录中的定位控件实现首字母的联系人信息定位,用户需要从初始的联系人信息开始,通过持续的滑动、翻页等操作才找到所需的联系人信息,操作繁琐。
发明内容
鉴于上述问题,为了解决上述多语言联系人信息无法以首字母定位的问题,本发明实施例提出了一种移动设备的联系人信息的查询方法和相应的一种移动设备的联系人信息的查询装置。
为了解决上述问题,本发明实施例公开了一种移动设备的联系人信息的查询方法,包括:
在通讯录的界面中依据存储的至少两种语言的联系人信息,显示所述至少两种语言的字母标签;
当所述字母标签中的第一目标字母被触发时,在所述至少两种语言的联系人信息中查询以所述第一目标字母作为首字母的目标联系人信息;
在所述通讯录的界面中显示所述目标联系人信息。
优选地,所述在所述至少两种语言的联系人信息中查询以所述第一目标字母作为首字母的目标联系人信息的步骤包括:
查找所述至少两种语言的联系人信息对应的索引文档;其中,所述索引文档中记录至少两种语言的字母索引与联系人信息的索引关系,所述字母索引为所述联系人信息的首字母;
依据索引关系查询首个以所述第一目标字母作为首字母的联系人信息的目标位置。
优选地,所述在所述通讯录的界面中显示所述目标联系人信息的步骤包括:
在所述通讯录的界面中将所述至少两种语言的联系人信息定位至所述目标位置,以显示所述目标联系人信息;
其中,所述至少两种语言的联系人信息的排序与所述至少两种语言的字母索引的排序相同。
优选地,所述依据索引关系查询首个以所述第一目标字母作为首字母的联系人信息的目标位置的步骤包括:
在所述至少两种语言的字母索引中,查询排序在所述第一目标字母之前的第二目标字母;
在所述索引文档中统计以所述第二目标字母作为首字母的联系人信息的数量;
将所述数量往后偏移一位,获得首个以所述第一目标字母作为首字母的联系人信息的目标位置。
优选地,还包括:
在通讯录中更新联系人信息时,识别所述联系人信息的首字母;
查询系统的语言类型;
根据所述语言类型确定所述首字母在所述通讯录的索引文档中的排序信息;
在所述索引文档中建立所述排序信息对应的字母索引与所述联系人信息之间的索引关系。
优选地,所述查询系统的语言类型的步骤包括:
将指定的查询参数写入查询请求中;
将所述查询请求发送至语言查询接口中;
从所述语音查询接口接收针对所述指定的查询参数返回的、指定的语音类型。
优选地,所述至少两种语言包括英语、汉语、阿拉伯语;
在所述索引文档中,所述英语的字母索引与所述汉语的字母索引相同;
当系统的语音类型为英语时,所述英语和所述汉语的字母索引排序在所述阿拉伯语的字母索引之前;
所述根据所述语言类型确定所述首字母在所述索引文档中的排序信息的步骤包括:
当所述首字母为阿拉伯语指定的第一字母时,确定所述指定的第一字母的排序信息为指定的第二字母的排序信息。
本发明实施例还公开了一种移动设备的联系人信息的查询装置,包括:
字母标签显示模块,用于在通讯录的界面中依据存储的至少两种语言的联系人信息,显示所述至少两种语言的字母标签;
目标联系人信息查询模块,用于在所述字母标签中的第一目标字母被触发时,在所述至少两种语言的联系人信息中查询以所述第一目标字母作为首字母的目标联系人信息;
目标联系人信息显示模块,用于在所述通讯录的界面中显示所述目标联系人信息。
优选地,所述目标联系人信息查询模块包括:
索引文档查找子模块,用于查找所述至少两种语言的联系人信息对应的索引文档;其中,所述索引文档中记录至少两种语言的字母索引与联系人信息的索引关系,所述字母索引为所述联系人信息的首字母;
目标位置查询子模块,用于依据索引关系查询首个以所述第一目标字母作为首字母的联系人信息的目标位置。
优选地,所述目标联系人信息显示模块包括:
目标位置定位子模块,用于在所述通讯录的界面中将所述至少两种语言的联系人信息定位至所述目标位置,以显示所述目标联系人信息;
其中,所述至少两种语言的联系人信息的排序与所述至少两种语言的字母索引的排序相同。
优选地,所述目标位置查询子模块包括:
第二目标字母查询单元,用于在所述至少两种语言的字母索引中,查询排序在所述第一目标字母之前的第二目标字母;
数量统计单元,用于在所述索引文档中统计以所述第二目标字母作为首字母的联系人信息的数量;
偏移单元,用于将所述数量往后偏移一位,获得首个以所述第一目标字母作为首字母的联系人信息的目标位置。
优选地,还包括:
首字母识别模块,用于在通讯录中更新联系人信息时,识别所述联系人信息的首字母;
语言类型查询模块,用于查询系统的语言类型;
排序信息确定模块,用于根据所述语言类型确定所述首字母在所述通讯录的索引文档中的排序信息;
索引关系建立模块,用于在所述索引文档中建立所述排序信息对应的字母索引与所述联系人信息之间的索引关系。
优选地,所述语言类型查询模块包括:
查询请求生成子模块,用于将指定的查询参数写入查询请求中;
查询请求发送子模块,用于将所述查询请求发送至语言查询接口中;
语音类型接收子模块,用于从所述语音查询接口接收针对所述指定的查询参数返回的、指定的语音类型。
优选地,所述至少两种语言包括英语、汉语、阿拉伯语;
在所述索引文档中,所述英语的字母索引与所述汉语的字母索引相同;
当系统的语音类型为英语时,所述英语和所述汉语的字母索引排序在所述阿拉伯语的字母索引之前;
所述排序信息确定模块包括:
指定排序子模块,用于在所述首字母为阿拉伯语指定的第一字母时,确定所述指定的第一字母的排序信息为指定的第二字母的排序信息。
本发明实施例包括以下优点:
本发明实施例在通讯录的界面中依据存储的至少两种语言的联系人信息,显示至少两种语言的字母标签,若字母标签中的第一目标字母被触发,则在至少两种语言的联系人信息中查询以该第一目标字母作为首字母的目标联系人信息并进行显示,通过在通讯录的界面显示多语音的字母标签,通过简单的点击等操作,即可实现多语言的联系人信息的快速定位,避免了用户从初始的联系人信息开始,通过持续的滑动、翻页等操作找到所需的联系人信息,大大提高了操作繁琐。
附图说明
图1是目前的一种通讯录的界面示例图;
图2是本发明的一种移动设备的联系人信息的查询方法实施例1的步骤流程图;
图3是本发明实施例的一种通讯录的界面示例图;
图4是本发明的一种移动设备的联系人信息的查询方法实施例2的步骤流程图;
图5是本发明实施例的一种用于输入阿拉伯语的输入法键盘的示例图;
图6是本发明实施例的一种列表控件的示意图;
图7是本发明的一种移动设备的联系人信息的查询装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图2,示出了本发明的一种移动设备的联系人信息的查询方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤201,在通讯录的界面中依据存储的至少两种语言的联系人信息,显示所述至少两种语言的字母标签。
在具体实现中,移动设备可以包括手机、平板电脑、个人数字助理、穿戴设备(如眼镜、手表等)等等。
这些移动通信终端的操作系统可以包括Android(安卓)、IOS、Windows Phone、Windows等等。
为使本领域技术人员更好地理解本发明实施例,在本说明书中,将Android作为操作系统的一种示例进行说明。
这些移动设备可以通过蜂窝网络等方式与其他用户进行通话、发送或接收短信、发送或接收彩信等通信操作。
为与其他用户进行通信操作,用户一般会在移动设备中输入其他用户的联系人信息,例如,联系人的姓名、电话、家庭地址、电邮地址、公司等等,并存储在通讯录中。
该通讯录可以为移动设备的系统通讯录,也可以是第三方应用的通讯录,本发明实施例对此不加以限制。
以Andord系统为例,系统一般携带的一个ContentProvider应用,通过该ContentProvider应用可以对通讯录(如contacts2.db文件)进行访问,对联系人信息的操作。
一方面,对联系人信息的操作可以包括增加联系人信息、修改联系人信息、删除联系人信息等写操作。
另一方面,对联系人信息的操作可以包括查询联系人信息的读操作。
例如,若移动设备采用SQLite数据库存储联系人信息,则可以使用标准SQL(Structured Query Language,结构化查询语言)语句进行查询。
ContactsContact是基于一个三层的数据模型进行存储的,其包括三个主要的数据库,分别为:
1、ContactsContact.Data;
Data表是存储具体的联系人信息,包括邮件、电话号码等等。
2、ContactsContact.RawContacts;
RawContacts表是联系人的数据集合,指定用户账号和类型。
3、ContactsContact.Contacts。
Contacts表包含了不同的联系人的记录。
在本发明实施例中,用户可以采用至少两种语言存储联系人信息,其中一种语言为可以应用英文字母的语音,例如,英语、汉语(又称中文)等等,另一种语言为不可以应用英文字母的语音,例如,阿拉伯语、希伯来语、俄罗斯语等等。
为了进行定位,可以在通讯录的UI(User Interface,用户界面)中,通过TextView(文本视图)控件等方式相应地显示这些语言的字母标签。
所谓相应,是指联系人信息与字母标签的语言类型相同,指联系人信息与字母标签的排序方式相同。
例如,若在联系人信息中存储了英语、汉语和阿拉伯语(英语、汉语排序在阿拉伯语之前),则如图3所示,可以在通讯录的界面中,相应地显示“A”-“Z”共26个英文字母(复用于汉语的拼音字母)的字母标签,之后,显示共28个阿拉伯字母的字母标签;当然,除了英文字母、阿拉伯字母之外,还可以显示字符“#”,用以对首字母为符号、数字等非字母的联系人信息进行定位。
步骤202,当所述字母标签中的第一目标字母被触发时,在所述至少两种语言的联系人信息中查询以所述第一目标字母作为首字母的目标联系人信息。
若用户想进行联系人信息的定位操作,则可以通过点击等方式触发某个字母标签,该字母标签可以称之为第一目标字母。
当然,用户所触发的字母标签可以为任一语音的字母标签,例如,可以为英文字母,如“B”,又例如,可以为阿拉伯字母等等。
在通讯录中,可以查询以该第一目标字母作为首字母的目标联系人信息。
需要说明的是,对于不用进行编码转换的语音而言,如英语、阿拉伯语等,首字母是指联系人信息(如姓名)的第一个字母。
对于需要进行编码(如拼音)转换的语音而言,如汉语、日语等,首字母是指联系人信息(如姓名)的编码(如拼音)的第一个字母。
步骤203,在所述通讯录的界面中显示所述目标联系人信息。
若查询到以第一目标字母作为首字母的目标联系人信息,则可以在联系人信息的界面中进行显示,让用户进行浏览。
本发明实施例在通讯录的界面中依据存储的至少两种语言的联系人信息,显示至少两种语言的字母标签,若字母标签中的第一目标字母被触发,则在至少两种语言的联系人信息中查询以该第一目标字母作为首字母的目标联系人信息并进行显示,通过在通讯录的界面显示多语音的字母标签,通过简单的点击等操作,即可实现多语言的联系人信息的快速定位,避免了用户从初始的联系人信息开始,通过持续的滑动、翻页等操作找到所需的联系人信息,大大提高了操作繁琐。
参照图4,示出了本发明的一种移动设备的联系人信息的查询方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤401,在通讯录中更新联系人信息时,识别所述联系人信息的首字母。
在具体实现中,若用户在通讯录中对联系人信息(如姓名)进行增加、修改等更新操作,则可以对该联系人信息生成相应的索引。
在本发明实施例中,可以识别联系人信息(如姓名)的首字母,作为索引值。
对于不用进行编码转换的语音而言,如英语、阿拉伯语等,可以识别联系人信息(如姓名)的第一个字母作为首字母。
例如,若联系人信息的姓名为“Jack”,则首字母为“j”。
对于需要进行编码(如拼音)转换的语音而言,如汉语、日语等,可以识别联系人信息(如姓名)的编码(如拼音)的第一个字母作为首字母。
例如,若联系人信息的姓名为“张三”,其拼音为“zhangsan”,则首字母为“z”。
步骤402,查询系统的语言类型。
对于不同的操作系统,如Android,在不同的语言下,联系人信息和索引文档的索引值的顺序一般不是固定的。
假设,联系人信息和索引文档的索引值分别有2个记录,一个记录是英语的,另一个记录是阿拉伯语的,若操作系统的语音为英语,英语的记录会显示在阿拉伯语的记录之前,若操作系统的语音为阿拉伯语,阿拉伯语的记录会显示在英语的记录之前。
一般为了便于用户浏览,字母标签与联系人信息的排序方式是相同的,因此,两者一般需要同步。
在一种情况中,可以查询系统当前的语言类型,若语音类型发生变化,相应地改变联系人信息、索引文档的索引值和字母标签的排序。
在另一种情况中,可以将指定的查询参数写入查询请求中,将查询请求发送至语言查询接口中,从语音查询接口接收针对指定的查询参数返回的、指定的语音类型。
在这种情况中,可以通过定义查询参数,从而使得返回指定的语音类型,如英语,使得在语音类型发生变化时联系人信息、索引文档的索引值和字母标签的排序方式也不会发生变化。
由于操作系统切换语言类型后排序方式改变可能会让用户觉得混乱,因此,排序方式不变的情况会更适合用户的习惯。
步骤403,根据所述语言类型确定所述首字母在所述通讯录的索引文档中的排序信息。
在本发明实施例中,索引文档记录至少两种语言的字母索引(即索引值)与联系人信息的索引关系。
其中,字母索引可以为联系人信息(如姓名)的首字母,联系人信息可以以联系人ID等联系人标识表征。
以英语、汉语、阿拉伯语作为索引文档记录的至少两种语言的示例。
在索引文档中,英语的字母索引与汉语的字母索引相同,例如,字母“d”可以表示英文字母“d”,也可以表示拼音字母中的声母“d”。
当系统的语音类型为英语时,英语和汉语的字母索引排序在阿拉伯语的字母索引之前。
在具体实现中,字母索引的排序通常以数字索引的形式表示。
在系统的语音类型为英语时,“A”-“Z”共26个英文字母(复用于汉语的拼音字母)的字母索引对应的数字索引为1至26,由于可能存在其他语言的字母索引,共28个阿拉伯语的字母索引对应的数字索引为112-139,并非从27开始。
如图5所示,在阿拉伯语中存在几个特殊的字母通常显示在字母之下,通过在输入法键盘中长按字母可以显示字母
因此,当首字母为阿拉伯语指定的第一字母时,如则可以强制修改字母索引与指定的第二字母(如)的字母索引相同,确定指定的第一字母(如)的排序信息为指定的第二字母(如)的排序信息。
步骤404,在所述索引文档中建立所述排序信息对应的字母索引与所述联系人信息之间的索引关系。
在具体实现中,可以在索引文档中建立排序信息对应的字母索引与联系人信息之间的索引关系。
例如,若联系人信息的姓名为“张三”,其首字母为“z”,假设系统的语音类型为英语,则查询到的排序信息为26,在索引文档中建立第26个字母与该联系人信息的索引关系。
在存储时,一般使用unicode码,例如,的unicode码为\u0627。
步骤405,在通讯录的界面中依据存储的至少两种语言的联系人信息,显示所述至少两种语言的字母标签。
步骤406,当所述字母标签中的第一目标字母被触发时,查找所述至少两种语言的联系人信息对应的索引文档。
若字母标签中的第一目标字母被触发,一般为用户查询特定的联系人信息,则可以查找至少两种语言的联系人信息对应的索引文档,进行联系人信息的定位操作。
步骤407,依据索引关系查询首个以所述第一目标字母作为首字母的联系人信息的目标位置。
在通讯录中,联系人信息一般是基于索引字母进行排序的,同一个索引字母的联系人信息一般是集中在一起显示的,因此,在通讯录中定位到首个以第一目标字母作为首字母的联系人信息,则用户可以通过简单的滑动操作即可浏览全部的以第一目标字母作为首字母的联系人信息。
在本发明的一个实施例中,步骤406可以包括如下子步骤:
子步骤S11,在所述至少两种语言的字母索引中,查询排序在所述第一目标字母之前的第二目标字母;
子步骤S12,在所述索引文档中统计以所述第二目标字母作为首字母的联系人信息的数量;
子步骤S13,将所述数量往后偏移一位,获得首个以所述第一目标字母作为首字母的联系人信息的目标位置。
在本发明实施例中,在索引文档的查询结果中可以附件一些额外的信息,即索引有联系人信息的第二目标字母及联系人信息的数量,用于实现定位。
例如,通讯录存了2个首字母为“a”的联系人信息,4个首字母为“b”的联系人信息,5个首字母为“d”的联系人,10个首字母为“e”的联系人,如果用户点击了字母标签“e”,返回的额外信息有2个数组,一个数组中保存排序在“e”之前且索引有联系人信息的首字母[a,b,d],一个数组中保存该首字母索引的联系人信息的数量[2,4,5],首个以“e”作为首字母的联系人信息的目标位置为2+4+1=7。
在Android系统中,可以直接调用adapter的getPositionForSection(intsection)函数,查询首个以第一目标字母作为首字母的联系人信息的目标位置。
步骤408,在所述通讯录的界面中将所述至少两种语言的联系人信息定位至所述目标位置,以显示所述目标联系人信息。
为了保证定位的准确,至少两种语言的联系人信息的排序(如依据“#”、“A”-“Z”、的顺序进行排序)与至少两种语言的字母索引的排序(如依据“#”、“A”-“Z”、的顺序进行排序)相同。
在实际应用中,联系人信息可以通过列表控件进行显示,在定位时,可以将列表控件滑动至目标位置。
列表控件,指以列表形式加载信息的控件,例如,在Android系统中,该列表控件为ListView。
ListView控件作为一个可以显示图标或者子项的列表控件,View属性是其重要属性之一,该属性决定了以哪种视图模式显示控件的项,这四种视图模式分别如下:
1、LartIcon:大图标视图模式,在项的文本旁显示大的图标,在控件宽度足够的情况下,项是如图一中的盘符一样优先以平行排列的,排列不完的则自动换行显示在新行中。
2、SmallIcon:小图标视图模式,与大图标模式一样,但是显示的是小的图标。
3、List:列表视图模式,显示小图标,项一般单列、垂直排列的。
4、Details:详细资料视图模式,是最丰富的选项,可以允许查看项,还允许查看为各项指定的任何子项。
各项在网格中显示,它们垂直排列且其子项会显示在列中(带有列标头)。
在定位时,可以在通讯录中查找联系人信息,如姓名、电话号码等。
接着,在列表控件中加载联系人信息,显示位于显示区域的数据对象。
其中,显示区域可以指在显示屏进行显示的区域,该区域可以为与屏幕大小相等,也可以为小于屏幕大小。
由于显示区域的面积有限,一般不能一次性显示所有联系人信息,因此,通常显示一部分联系人信息,另一部分联系人信息可能已加载,在滑动时进行显示。
例如,如图6所示,在列表控件(如ListView)中加载了六个联系人信息(Object,简称Obj),分别为Obj1、Obj2、Obj3、Obj4、Obj5和Obj6,黑色框部分为显示区域,显示Obj1、Obj2、Obj3和Obj4,未显示Obj5和Obj6。
在Android系统中,ListView里面的每个子项Item可以是一个字符串,也可以是一个组合控件。
在实现时,使用一维或多维动态数组保存ListView要显示的联系人信息。
同时构建适配器,简单地来说,适配器就是Item数组,动态数组与Item数组是一一对应的关系,动态数组有多少元素就生成多少个Item。
把适配器添加到ListView,即可显示出来。
对界面进行显示的过程,以Android系统为例,实际上是从最外层的ViewGroup开始,针对每个View进行遍历测量(measure)、布局(layout)、绘制(draw)的过程。
其中,测量(measure)主要用来决定控件View的大小,整个View树计算实际的大小,即设置实际的高(对应属性:mMeasuredHeight)和宽(对应属性:mMeasureWidth),每个View的控件的实际宽高都是由父视图和本身视图决定的。
具体的调用链如下:
ViewRoot根对象地属性mView(其类型一般为ViewGroup类型)调用measure()方法去计算View树的大小,回调View/ViewGroup对象的onMeasure()方法,该方法实现的功能如下:
1、设置本View视图的最终大小,该功能的实现通过调用setMeasuredDimension()方法去设置实际的高(对应属性:mMeasuredHeight)和宽(对应属性:mMeasureWidth);
2、如果该View对象是个ViewGroup类型,需要重写该onMeasure()方法,对其子视图进行遍历的measure()过程。
2.1对每个子视图的measure()过程,是通过调用父类ViewGroup.java类里的measureChildWithMargins()方法去实现,由于measureChildWithMargins()方法只是一个过渡层更简单的做法是直接调用View对象的measure()方法,因此,该方法内部只是简单地调用了View对象的measure()方法。
布局(layout)主要确定控件View的位置,将整个根据子视图的大小以及布局参数将View树放到合适的位置上。
具体的调用链如下:
host.layout()开始View树的布局,继而回调给View/ViewGroup类中的layout()方法。具体流程如下:
1、layout方法会设置该View视图位于父视图的坐标轴,即mLeft,mTop,mLeft,mBottom(调用setFrame()函数去实现);
接下来回调onLayout()方法(如果该View是ViewGroup对象,需要实现该方法,对每个子视图进行布局)。
2、如果该View是个ViewGroup类型,需要遍历每个子视图childView,调用该子视图的layout()方法去设置它的坐标值。
绘制(draw)主要决定控件View的显示。
由ViewRoot对象的performTraversals()方法调用draw()方法发起绘制该View树,值得注意的是每次发起绘图时,并不会重新绘制每个View树的视图,而重新绘制那些“需要重绘”的视图,View类内部变量包含了一个标志位DRAWN,当该视图需要重绘时,就会为该View添加该标志位。
调用流程如下:
mView.draw()开始绘制,draw()方法实现的功能如下:
1、绘制该View的背景;
2、为显示渐变框做一些准备操作;
3、调用onDraw()方法绘制视图本身(每个View都需要重载该方法,ViewGroup不需要实现该方法);
4、调用dispatchDraw()方法绘制子视图(如果该View类型不为ViewGroup,即不包含子视图,不需要重载该方法);
需要说明的是,ViewGroup类已经为重写了dispatchDraw()的功能实现,应用程序一般不需要重写该方法,但可以重载父类函数实现具体的功能。
4.1dispatchDraw()方法内部会遍历每个子视图,调用drawChild()去重新回调每个子视图的draw()方法(注意,这个地方“需要重绘”的视图才会调用draw()方法)。
需要说明的是,ViewGroup类已经重写了dispatchDraw()的功能实现,应用程序一般不需要重写该方法,但可以重载父类函数实现具体的功能。
5、绘制滚动条。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了本发明的一种移动设备的联系人信息的查询装置实施例的结构框图,具体可以包括如下模块:
字母标签显示模块701,用于在通讯录的界面中依据存储的至少两种语言的联系人信息,显示所述至少两种语言的字母标签;
目标联系人信息查询模块702,用于在所述字母标签中的第一目标字母被触发时,在所述至少两种语言的联系人信息中查询以所述第一目标字母作为首字母的目标联系人信息;
目标联系人信息显示模块703,用于在所述通讯录的界面中显示所述目标联系人信息。
在本发明的一个实施例中,所述目标联系人信息查询模块702可以包括如下子模块:
索引文档查找子模块,用于查找所述至少两种语言的联系人信息对应的索引文档;其中,所述索引文档中记录至少两种语言的字母索引与联系人信息的索引关系,所述字母索引为所述联系人信息的首字母;
目标位置查询子模块,用于依据索引关系查询首个以所述第一目标字母作为首字母的联系人信息的目标位置。
在本发明的一个实施例中,所述目标联系人信息显示模块703可以包括如下子模块:
目标位置定位子模块,用于在所述通讯录的界面中将所述至少两种语言的联系人信息定位至所述目标位置,以显示所述目标联系人信息;
其中,所述至少两种语言的联系人信息的排序与所述至少两种语言的字母索引的排序相同。
在本发明的一个实施例中,所述目标位置查询子模块可以包括如下单元:
第二目标字母查询单元,用于在所述至少两种语言的字母索引中,查询排序在所述第一目标字母之前的第二目标字母;
数量统计单元,用于在所述索引文档中统计以所述第二目标字母作为首字母的联系人信息的数量;
偏移单元,用于将所述数量往后偏移一位,获得首个以所述第一目标字母作为首字母的联系人信息的目标位置。
在本发明的一个实施例中,还可以包括如下模块:
首字母识别模块,用于在通讯录中更新联系人信息时,识别所述联系人信息的首字母;
语言类型查询模块,用于查询系统的语言类型;
排序信息确定模块,用于根据所述语言类型确定所述首字母在所述通讯录的索引文档中的排序信息;
索引关系建立模块,用于在所述索引文档中建立所述排序信息对应的字母索引与所述联系人信息之间的索引关系。
在本发明的一个实施例中,所述语言类型查询模块可以包括如下子模块:
查询请求生成子模块,用于将指定的查询参数写入查询请求中;
查询请求发送子模块,用于将所述查询请求发送至语言查询接口中;
语音类型接收子模块,用于从所述语音查询接口接收针对所述指定的查询参数返回的、指定的语音类型。
在本发明实施例的一个示例中,所述至少两种语言包括英语、汉语、阿拉伯语;
在所述索引文档中,所述英语的字母索引与所述汉语的字母索引相同;
当系统的语音类型为英语时,所述英语和所述汉语的字母索引排序在所述阿拉伯语的字母索引之前;
所述排序信息确定模块可以包括如下子模块:
指定排序子模块,用于在所述首字母为阿拉伯语指定的第一字母时,确定所述指定的第一字母的排序信息为指定的第二字母的排序信息。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种移动设备的联系人信息的查询方法和一种移动设备的联系人信息的查询装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种移动设备的联系人信息的查询方法,其特征在于,包括:
在通讯录的界面中依据存储的至少两种语言的联系人信息,显示所述至少两种语言的字母标签;
当所述字母标签中的第一目标字母被触发时,在所述至少两种语言的联系人信息中查询以所述第一目标字母作为首字母的目标联系人信息;
在所述通讯录的界面中显示所述目标联系人信息。
2.根据权利要求1所述的方法,其特征在于,所述在所述至少两种语言的联系人信息中查询以所述第一目标字母作为首字母的目标联系人信息的步骤包括:
查找所述至少两种语言的联系人信息对应的索引文档;其中,所述索引文档中记录至少两种语言的字母索引与联系人信息的索引关系,所述字母索引为所述联系人信息的首字母;
依据索引关系查询首个以所述第一目标字母作为首字母的联系人信息的目标位置。
3.根据权利要求2所述的方法,其特征在于,所述在所述通讯录的界面中显示所述目标联系人信息的步骤包括:
在所述通讯录的界面中将所述至少两种语言的联系人信息定位至所述目标位置,以显示所述目标联系人信息;
其中,所述至少两种语言的联系人信息的排序与所述至少两种语言的字母索引的排序相同。
4.根据权利要求2所述的方法,其特征在于,所述依据索引关系查询首个以所述第一目标字母作为首字母的联系人信息的目标位置的步骤包括:
在所述至少两种语言的字母索引中,查询排序在所述第一目标字母之前的第二目标字母;
在所述索引文档中统计以所述第二目标字母作为首字母的联系人信息的数量;
将所述数量往后偏移一位,获得首个以所述第一目标字母作为首字母的联系人信息的目标位置。
5.根据权利要求2或3或4所述的方法,其特征在于,还包括:
在通讯录中更新联系人信息时,识别所述联系人信息的首字母;
查询系统的语言类型;
根据所述语言类型确定所述首字母在所述通讯录的索引文档中的排序信息;
在所述索引文档中建立所述排序信息对应的字母索引与所述联系人信息之间的索引关系。
6.根据权利要求5所述的方法,其特征在于,所述查询系统的语言类型的步骤包括:
将指定的查询参数写入查询请求中;
将所述查询请求发送至语言查询接口中;
从所述语音查询接口接收针对所述指定的查询参数返回的、指定的语音类型。
7.根据权利要求6所述的方法,其特征在于,所述至少两种语言包括英语、汉语、阿拉伯语;
在所述索引文档中,所述英语的字母索引与所述汉语的字母索引相同;
当系统的语音类型为英语时,所述英语和所述汉语的字母索引排序在所述阿拉伯语的字母索引之前;
所述根据所述语言类型确定所述首字母在所述索引文档中的排序信息的步骤包括:
当所述首字母为阿拉伯语指定的第一字母时,确定所述指定的第一字母的排序信息为指定的第二字母的排序信息。
8.一种移动设备的联系人信息的查询装置,其特征在于,包括:
字母标签显示模块,用于在通讯录的界面中依据存储的至少两种语言的联系人信息,显示所述至少两种语言的字母标签;
目标联系人信息查询模块,用于在所述字母标签中的第一目标字母被触发时,在所述至少两种语言的联系人信息中查询以所述第一目标字母作为首字母的目标联系人信息;
目标联系人信息显示模块,用于在所述通讯录的界面中显示所述目标联系人信息。
9.根据权利要求8所述的装置,其特征在于,所述目标联系人信息查询模块包括:
索引文档查找子模块,用于查找所述至少两种语言的联系人信息对应的索引文档;其中,所述索引文档中记录至少两种语言的字母索引与联系人信息的索引关系,所述字母索引为所述联系人信息的首字母;
目标位置查询子模块,用于依据索引关系查询首个以所述第一目标字母作为首字母的联系人信息的目标位置。
10.根据权利要求9所述的装置,其特征在于,还包括:
首字母识别模块,用于在通讯录中更新联系人信息时,识别所述联系人信息的首字母;
语言类型查询模块,用于查询系统的语言类型;
排序信息确定模块,用于根据所述语言类型确定所述首字母在所述通讯录的索引文档中的排序信息;
索引关系建立模块,用于在所述索引文档中建立所述排序信息对应的字母索引与所述联系人信息之间的索引关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610421887.0A CN106126048B (zh) | 2016-06-13 | 2016-06-13 | 一种移动设备的联系人信息的查询方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610421887.0A CN106126048B (zh) | 2016-06-13 | 2016-06-13 | 一种移动设备的联系人信息的查询方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106126048A true CN106126048A (zh) | 2016-11-16 |
CN106126048B CN106126048B (zh) | 2020-06-09 |
Family
ID=57270419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610421887.0A Active CN106126048B (zh) | 2016-06-13 | 2016-06-13 | 一种移动设备的联系人信息的查询方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126048B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860137A (zh) * | 2022-03-18 | 2022-08-05 | 恒鸿达科技有限公司 | 一种lvgl界面的左右循环滑动方法、装置、设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006066700A1 (de) * | 2004-12-21 | 2006-06-29 | Daimlerchrysler Ag | Verfahren und vorrichtung zur ausgabe eines adressdatensatzes eines elektronischen adressbuchs |
CN101287203A (zh) * | 2008-05-28 | 2008-10-15 | 宁波高新区同瞻科技有限公司 | 手机内置名片簿快速查找方法 |
CN102281345A (zh) * | 2011-06-10 | 2011-12-14 | 深圳桑菲消费通信有限公司 | 一种手机电话簿联系人的排序方法 |
CN103403659A (zh) * | 2010-11-12 | 2013-11-20 | 苹果公司 | 用于导览识别符列表的装置、方法和图形用户接口 |
CN103631497A (zh) * | 2012-08-27 | 2014-03-12 | 三星电子株式会社 | 控制列表滚动条的方法和使用该方法的电子装置 |
CN103810166A (zh) * | 2012-11-06 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种通讯录内查找联系人的方法及电子终端 |
KR20140068506A (ko) * | 2012-11-28 | 2014-06-09 | 주식회사 영림원소프트랩 | 다중 인덱스를 이용한 연락처 사용자 인터페이스 방법 |
-
2016
- 2016-06-13 CN CN201610421887.0A patent/CN106126048B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006066700A1 (de) * | 2004-12-21 | 2006-06-29 | Daimlerchrysler Ag | Verfahren und vorrichtung zur ausgabe eines adressdatensatzes eines elektronischen adressbuchs |
CN101287203A (zh) * | 2008-05-28 | 2008-10-15 | 宁波高新区同瞻科技有限公司 | 手机内置名片簿快速查找方法 |
CN103403659A (zh) * | 2010-11-12 | 2013-11-20 | 苹果公司 | 用于导览识别符列表的装置、方法和图形用户接口 |
CN102281345A (zh) * | 2011-06-10 | 2011-12-14 | 深圳桑菲消费通信有限公司 | 一种手机电话簿联系人的排序方法 |
CN103631497A (zh) * | 2012-08-27 | 2014-03-12 | 三星电子株式会社 | 控制列表滚动条的方法和使用该方法的电子装置 |
CN103810166A (zh) * | 2012-11-06 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种通讯录内查找联系人的方法及电子终端 |
KR20140068506A (ko) * | 2012-11-28 | 2014-06-09 | 주식회사 영림원소프트랩 | 다중 인덱스를 이용한 연락처 사용자 인터페이스 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860137A (zh) * | 2022-03-18 | 2022-08-05 | 恒鸿达科技有限公司 | 一种lvgl界面的左右循环滑动方法、装置、设备和介质 |
CN114860137B (zh) * | 2022-03-18 | 2023-06-27 | 恒鸿达科技有限公司 | 一种lvgl界面的左右循环滑动方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106126048B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150073866A1 (en) | Data visualization and user interface for monitoring resource allocation to customers | |
CN112035667A (zh) | 一种知识图谱展示方法、装置及终端设备 | |
CN112100524B (zh) | 一种信息推荐的方法、装置、设备以及存储介质 | |
US20150234938A1 (en) | Method and electronic terminal for searching for contact in directory | |
RU2008103277A (ru) | Управление карусельного типа для навигации и назначения метаданных | |
JP5225004B2 (ja) | コンテンツ可視化装置およびコンテンツ可視化方法 | |
US20080288462A1 (en) | Database system and display method on information terminal | |
CN112433650B (zh) | 项目管理方法、装置、设备和存储介质 | |
CN112445392B (zh) | 组织权限处理方法、装置、电子设备和存储介质 | |
CN106601256A (zh) | 语音识别的方法及移动终端 | |
CN104102704A (zh) | 系统控件展示方法和装置 | |
CN106293354B (zh) | 快捷菜单自适应显示控制方法、服务器及便携式终端 | |
CN105577894A (zh) | 一种信息显示方法、终端及电子设备 | |
CN104539801B (zh) | 一种呈现联系人信息的方法及终端 | |
US20120287052A1 (en) | Quick directory search system on a touch screen device and methods thereof | |
CN105988703A (zh) | 一种业务对象的展示方法和装置 | |
CN106126048A (zh) | 一种移动设备的联系人信息的查询方法和装置 | |
CN110780970A (zh) | 数据筛选方法、装置、设备及计算机可读存储介质 | |
CN109284423A (zh) | 业务选项卡查找方法及装置 | |
CN117425887A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN114997126A (zh) | 电子表格展示方法、装置、电子设备及存储介质 | |
CN104361114B (zh) | 处理方法、处理装置和电子设备 | |
CN106126633A (zh) | 贵金属数据的处理方法、装置和系统 | |
US9767207B1 (en) | Adaptive user interface for directories | |
KR20140068506A (ko) | 다중 인덱스를 이용한 연락처 사용자 인터페이스 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee after: Qingdao Hisense Mobile Communication Technology Co.,Ltd. Address before: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |