CN103916509A - 一种手机通讯录恢复方法和装置 - Google Patents

一种手机通讯录恢复方法和装置 Download PDF

Info

Publication number
CN103916509A
CN103916509A CN201210593027.7A CN201210593027A CN103916509A CN 103916509 A CN103916509 A CN 103916509A CN 201210593027 A CN201210593027 A CN 201210593027A CN 103916509 A CN103916509 A CN 103916509A
Authority
CN
China
Prior art keywords
backup
address
address list
address book
associated person
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
Application number
CN201210593027.7A
Other languages
English (en)
Other versions
CN103916509B (zh
Inventor
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201210593027.7A priority Critical patent/CN103916509B/zh
Publication of CN103916509A publication Critical patent/CN103916509A/zh
Application granted granted Critical
Publication of CN103916509B publication Critical patent/CN103916509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种手机通讯录恢复方法和装置。该方法包括:逐一将备份通讯录中的联系人信息与手机的本地通讯录中联系人信息进行对比,并执行以下过程:如果存在联系人名称相同的联系人信息,则判断该联系人信息的其他项信息在备份通讯录中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中;如果备份通讯录中的一个联系人信息中的指定项的数据量超出本地通讯录所能保存该对应项的数据量,则将超出的部分进行丢弃处理,用未超出的部分添满本地通讯录的对应项。本发明的技术方案解决了备份时的手机操作系统和恢复时的手机操作系统不一致导致报错不能完成备份的问题。

Description

一种手机通讯录恢复方法和装置
技术领域
本发明涉及手机操作系统技术领域,特别涉及一种手机通讯录恢复方法和装置。
背景技术
手机通讯录中可以保存联系人的各种信息,如电话、单位、邮箱地址以及住址等等,这大大方便了用户的日常生活。
可是当用户更换不同操作系统的手机、通信录发生变化或者手机丢失的情况下,很难将之前的通讯录中的信息完整地导入到新的手机中。这需要将原有备份的通讯录信息一条一条地添加到新手机的通讯录中。
为此现有技术中出现了备份通讯录以及恢复通讯录的技术,如下:
备份通讯录:通过手机操作系统提供的API(Application ProgrammingInterface,应用程序编程接口)将通讯录备份到手机内部的SDCard、互联网或者PC上,并最终以vCard格式进行持久化。
恢复通讯录:读取vCard文件,将vCard文件中的通讯录信息导入到手机的联系人列表中。
但是由于现有的不同手机的操作系统可能是不同的,例如已有的操作系统包括黑莓(blackberry)、安卓(android)和塞班(Symbian)等。对于同一份vCard文件,如果备份时的手机操作系统和恢复时的手机操作系统不一致,则可能出现报错或不能尽可能保证数据完整性的情况。这是由于不同操作系统中的通讯录的规格不一致导致的。例如,在安卓的通讯录中一个联系人的电话的个数可以无限制的增加,而黑莓的通讯录中一个联系人最多可添加8个电话。一旦报错则备份过程终止,不能完成备份。
发明内容
本发明提供了一种手机通讯录恢复方法和装置,解决了备份时的手机操作系统和恢复时的手机操作系统不一致导致报错不能完成备份的问题。
为达到上述目的本发明的技术方案是这样实现的:
本发明公开了一种手机通讯录恢复方法,该方法包括:
读取备份通讯录文件中的备份通讯录;
逐一将备份通讯录中的联系人信息与手机的本地通讯录中联系人信息进行对比,并在将备份通讯录中的联系人信息恢复到手机的本地通讯录中时,执行以下过程:
如果存在联系人名称相同的联系人信息,则判断该联系人信息的其他项信息在备份通讯录中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中;
如果备份通讯录中的一个联系人信息中的指定项的数据量超出本地通讯录所能保存该对应项的数据量,则将超出的部分进行丢弃处理,用未超出的部分添满本地通讯录的对应项。
可选地,所述如果存在联系人名称相同的联系人信息,则判断该联系人信息中的其他项信息在备份通讯录文件中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中包括以下的一项或多项:
比较该联系人信息中的电话号码,如果一个电话号码在备份通讯录中存在,而在本地通讯录中不存在,则将该电话号码添加到本地通讯录中的该联系人信息中;如果一个电话号码在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电话号码;如果一个电话号码在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的电子邮件地址,如果一个电子邮件地址在备份通讯录中存在,而在本地通讯录中不存在,则将该电子邮件地址添加到本地通讯录中的该联系人信息中;如果一个电子邮件地址在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电子邮件地址;如果一个电子邮件地址在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的组织名称,如果一个组织名称在备份通讯录中存在,而在本地通讯录中不存在,则将该组织名称添加到本地通讯录中的该联系人信息中;如果一个组织名称在备份通讯录中存在,在本地通讯录中也存在,则丢弃该组织名称;如果一个组织名称在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的标题,如果该标题在备份通讯录中存在,而在本地通讯录中不存在,则将该标题添加到本地通讯录中的该联系人信息中;如果该标题在备份通讯录中存在,在本地通讯录中也存在,则丢弃该标题;如果该标题在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的地址,先判断备份通讯录中存在的地址的类型在本地通讯录中是否存在;如果存在则判断对应的地址是否相同,相同则不做处理,不相同则将备份通讯录中的地址插入到本地通讯录中的该类型下;如果不存在,则在本地通讯录中新建该类型,并将将备份通讯录中的地址添加到本地通讯录中的该新建类型下。
可选地,该方法进一步包括通讯录备份过程,具体为:
确定备份通讯录的目标位置;
从手机的本地获取通讯录,设置备份通讯录的读取模式;
遍历所获取的通讯录中的联系人信息,通过调用手机操作系统的应用程序编程接口将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中,得到备份通讯录文件;
关闭通讯录备份过程中使用的资源。
可选地,所述指定格式为:UTF8格式、ISO-8859-1格式或者UTF-16BE格式。
可选地,所述通讯录备份过程进一步包括:
如果目标位置不存在所述指定文件,则先在目标位置创建所述指定文件;
在将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中的过程中,对所述指定文件加锁,以避免其他线程对所述指定文件进行读写操作。
本发明还公开了一种手机通讯录恢复装置,其特征在于,该装置包括:读取单元和恢复单元;
所述读取单元,用于从备份通讯录文件中读取备份通讯录;
所述恢复单元,用于逐一将所述读取单元读取的备份通讯录中的联系人信息与手机的本地通讯录中联系人信息进行对比,并在将备份通讯录中的联系人信息恢复到手机的本地通讯录中时,执行以下过程:
如果存在联系人名称相同的联系人信息,则判断该联系人信息的其他项信息在备份通讯录中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中;
如果备份通讯录中的一个联系人信息中的指定项的数据量超出本地通讯录所能保存该对应项的数据量,则将超出的部分进行丢弃处理,用未超出的部分添满本地通讯录的对应项。
可选地,所述恢复单元,用于在存在联系人名称相同的联系人信息时,
比较该联系人信息中的电话号码,如果一个电话号码在备份通讯录中存在,而在本地通讯录中不存在,则将该电话号码添加到本地通讯录中的该联系人信息中;如果一个电话号码在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电话号码;如果一个电话号码在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的电子邮件地址,如果一个电子邮件地址在备份通讯录中存在,而在本地通讯录中不存在,则将该电子邮件地址添加到本地通讯录中的该联系人信息中;如果一个电子邮件地址在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电子邮件地址;如果一个电子邮件地址在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的组织名称,如果一个组织名称在备份通讯录中存在,而在本地通讯录中不存在,则将该组织名称添加到本地通讯录中的该联系人信息中;如果一个组织名称在备份通讯录中存在,在本地通讯录中也存在,则丢弃该组织名称;如果一个组织名称在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的标题,如果该标题在备份通讯录中存在,而在本地通讯录中不存在,则将该标题添加到本地通讯录中的该联系人信息中;如果该标题在备份通讯录中存在,在本地通讯录中也存在,则丢弃该标题;如果该标题在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的地址,先判断备份通讯录中存在的地址的类型在本地通讯录中是否存在;如果存在则判断对应的地址是否相同,相同则不做处理,不相同则将备份通讯录中的地址插入到本地通讯录中的该类型下;如果不存在,则在本地通讯录中新建该类型,并将将备份通讯录中的地址添加到本地通讯录中的该新建类型下。
可选地,该装置进一步包括:备份单元;
所述备份单元,用于确定备份通讯录的目标位置,从手机的本地获取通讯录,设置备份通讯录的读取模式,遍历所获取的通讯录中的联系人信息,通过调用手机操作系统的应用程序编程接口将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中,得到备份通讯录文件,关闭通讯录备份过程中使用的资源。
可选地,所述备份单元,用于将所获取的通讯录中的联系人信息按照UTF8格式、ISO-8859-1格式或者UTF-16BE格式编码后序列化到目标位置的指定文件中。
可选地,所述备份单元,进一步用于在如果目标位置不存在所述指定文件时,先在目标位置创建所述指定文件;
所述备份单元,进一步用于在将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中的过程中,对所述指定文件加锁,以避免其他线程对所述指定文件进行读写操作。
本发明实施例的有益效果是:本发明的技术方案在将备份通讯录中的联系人信息恢复到手机的本地通讯录中时,如果存在联系人名称相同的联系人信息,则判断该联系人信息的其他项信息在备份通讯录中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中,并且如果备份通讯录中的一个联系人信息中的指定项的数据量超出本地通讯录所能保存该对应项的数据量,则将超出的部分进行丢弃处理,用未超出的部分添满本地通讯录的对应项。因此,即使备份时的手机操作系统和恢复时的手机操作系统不一致导致备份通讯录和手机本地通讯录的规格不一致,也能成功地将备份通讯录恢复到手机本地,而不会出现报错终止的情况,因而能够实现通讯录跨操作系统平台的恢复。并尽可能地保证了数据的完整性。
附图说明
图1是本发明实施例中的一种手机通讯录恢复方法的流程图;
图2是本发明实施例中的通讯录备份过程的流程图;
图3是本发明实施例中的一种手机通讯录恢复装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例中的一种手机通讯录恢复方法的流程图。如图1所示,该方法包括:
步骤S110,读取备份通讯录文件中的备份通讯录。
在本发明的实施例中,本步骤中的备份通讯录文件可以是从任何操作系统的手机备份出来的通讯录文件。例如可以是从安卓手机备份的,也可以是从黑莓手机备份的,也可以是从塞班手机备份的。
备份通讯录一般为vCard格式的文件。vCard规范容许公开交换个人数据交换(Personal Data Interchange PDI)信息,在传统纸质商业名片可找到这些信息。规范定义电子名片(或叫vCard)的格式。vCard规范可作为各种应用或系统之间的交换格式。
步骤S120,逐一将备份通讯录中的联系人信息与手机的本地通讯录中联系人信息进行对比,并在将备份通讯录中的联系人信息恢复到手机的本地通讯录中时,执行步骤S130和步骤140中的过程。
步骤S130,如果存在联系人名称相同的联系人信息,则判断该联系人信息的其他项信息在备份通讯录中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中。
本步骤中,在有同名的联系人时,不会去新建联系人,而是进行同名联系人信息的合并。
本步骤中的就是实现备份通讯录与本地通讯录的合并,即如果备份通讯录中有本地通讯录中缺失的内容,则将这部分缺失的内容添加到本地通讯录中。对于本地通讯录中已有的内容则无需再复制到本地通讯录中,节省了资源,提高了效率。
步骤S140,如果备份通讯录中的一个联系人信息中的指定项的数据量超出本地通讯录所能保存该对应项的数据量,则将超出的部分进行丢弃处理,用未超出的部分添满本地通讯录的对应项。
本步骤的方案可以有效避免跨操作系统进行通讯录恢复时,由于备份通讯录的规格与本地通讯录的规则不一致时,会报错并导致恢复过程终止,不能完成通讯录恢复的问题。
例如,在安卓的通讯录中一个联系人的电话的个数可以无限制的增加,而黑莓的通讯录中一个联系人最多可添加8个电话。采用现有技术中的通讯录恢复方案,当安卓手机备份出来的通讯录中某个联系人有10个电话号码(例如该联系人是一个组织,该组织的可以有多个联系电话)时,如果将该通讯录恢复到黑莓手机中,则会出现报错终止,不能完成备份。而采用本发明的技术方案,则将其中的8个电话恢复的黑莓手机的通讯录中,丢弃另外两个,不进行报错,因此能够顺利地将该通讯录恢复到黑莓手机中,并尽可能地保证了数据的完整性。
在本发明的一个实施例中,上述步骤S130具体可以包括以下的一项或多项:
第一项:比较该联系人信息中的电话号码,如果一个电话号码在备份通讯录中存在,而在本地通讯录中不存在,则将该电话号码添加到本地通讯录中的该联系人信息中;如果一个电话号码在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电话号码;如果一个电话号码在备份通讯录中不存在,而在本地通讯录中存在,则不做处理。
例如,在备份通讯录中存在一个联系人张三,其有两个电话号码,分别为12345678和13887654321;在本地通讯录中也存在一个联系人张三,其也有两个电话号码12345678和22334455;则依据本发明的技术方案将备份通讯录中的13887654321添加到本地通讯录中的张三的电话号码中,而对备份通讯录中的12345678进行丢弃处理。
第二项:比较该联系人信息中的电子邮件地址,如果一个电子邮件地址在备份通讯录中存在,而在本地通讯录中不存在,则将该电子邮件地址添加到本地通讯录中的该联系人信息中;如果一个电子邮件地址在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电子邮件地址;如果一个电子邮件地址在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
第三项:比较该联系人信息中的组织名称,如果一个组织名称在备份通讯录中存在,而在本地通讯录中不存在,则将该组织名称添加到本地通讯录中的该联系人信息中;如果一个组织名称在备份通讯录中存在,在本地通讯录中也存在,则丢弃该组织名称;如果一个组织名称在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
第四项:比较该联系人信息中的标题,如果该标题在备份通讯录中存在,而在本地通讯录中不存在,则将该标题添加到本地通讯录中的该联系人信息中;如果该标题在备份通讯录中存在,在本地通讯录中也存在,则丢弃该标题;如果该标题在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
第五项:比较该联系人信息中的地址,先判断备份通讯录中存在的地址的类型在本地通讯录中是否存在;如果存在则判断对应的地址是否相同,相同则丢弃备份通讯录中的该地址,不相同则将备份通讯录中的该地址插入到本地通讯录中的该类型下;如果不存在,则在本地通讯录中新建该类型,并将将备份通讯录中的地址添加到本地通讯录中的该新建类型下。
这里,地址的类型是指单位地址、住宅地址等。仍以联系人张三为例,如果备份通讯录中存在单位地址:xx区xx路xx号,则判断本地通讯录中张三是否有单位地址,如果有则判断该单位地址是否为xx区xx路xx号,是则对备份通讯录中的该地址xx区xx路xx号进行丢弃处理,否则将该地址xx区xx路xx号插入到本地通讯录中的张三的单位地址下;如果本地通讯录中没有保存张三的单位地址,则在本地通讯录中为张三新建一个单位地址,并将该地址xx区xx路xx添加到本地通讯录中张三的单位地址中。
需要说明的是,在本发明的其他实施例中,一个联系人信息中包含的项不限于上述的五项(电话号码、电子邮件地址、组织名称、标题和地址),如果有其他的项,则执行与上述五项相同的操作。
在比较的过程中可以依据各项在联系人信息中的排列顺序进行,当然也可以设定一个顺序,按设定的顺序依次进行比较。
在实际应用中可以编写一个联系人导入器来执行图1所示的方法,完成手机通讯录的恢复。
图2是本发明实施例中的通讯录备份过程的流程图。如图2所示,该方法包括:
步骤S210,确定备份通讯录的目标位置。
在本步骤中,目标位置可以使PC上的指定位置,也可以是手机SD卡上的指定目录,也可以是互相网上的指定位置。
步骤S220,从手机的本地获取通讯录,设置备份通讯录的读取模式。
在本步骤中,可以设置备份通讯录的读取模式为只读模式,或可读写模式等。
步骤S230,遍历所获取的通讯录中的联系人信息,通过调用手机操作系统的应用程序编程接口将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中,得到备份通讯录文件。
在本步骤中,指定格式为UTF8格式、ISO-8859-1格式或者UTF-16BE格式。得到备份通讯录文件具体可以是vCard文件。
这里的序列化是指,将对象的状态信息转换为可以存储或传输的形式的过程。现有技术中已给出了序列化的具体实现方式,这里不再复述。
步骤S240,关闭通讯录备份过程中使用的资源。
本步骤中关闭在备份过程中启动的一些资源,例如input stream,outputstream等。
通过图2所示的方法,可以将手机中的通讯录进行备份,得到备份通讯录文件,供后续发生意外(手机更换或丢失等)情况时恢复通讯录使用。
在本发明的一个实施例中图2所示的通讯录备份过程中进一步需要注意写文件的回滚操作,具体包括:
1.如果目标位置不存在写入通讯录的指定文件,则先在目标位置创建该指定文件,然后再向该新建的指定文件中写入通讯录的信息;
2.在将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中的过程中,对该指定文件加锁,以避免其他线程对指定文件进行读写操作。
图3是本发明实施例中的一种手机通讯录恢复装置的结构图。如图3所示,该手机通讯录恢复装置300包括:读取单元301和恢复单元302。此外该手机通讯录恢复装置300还包括:备份单元303。
读取单元301,用于从备份通讯录文件中读取备份通讯录。
恢复单元302,用于逐一将读取单元301读取的备份通讯录中的联系人信息与手机的本地通讯录中联系人信息进行对比,并在将备份通讯录中的联系人信息恢复到手机的本地通讯录中时,执行以下过程:
如果存在联系人名称相同的联系人信息,则判断该联系人信息的其他项信息在备份通讯录中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中;
如果备份通讯录中的一个联系人信息中的指定项的数据量超出本地通讯录所能保存该对应项的数据量,则将超出的部分进行丢弃处理,用未超出的部分添满本地通讯录的对应项。
在本发明的一个实施例中,恢复单元302用于在存在联系人名称相同的联系人信息时,
比较该联系人信息中的电话号码,如果一个电话号码在备份通讯录中存在,而在本地通讯录中不存在,则将该电话号码添加到本地通讯录中的该联系人信息中;如果一个电话号码在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电话号码;如果一个电话号码在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的电子邮件地址,如果一个电子邮件地址在备份通讯录中存在,而在本地通讯录中不存在,则将该电子邮件地址添加到本地通讯录中的该联系人信息中;如果一个电子邮件地址在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电子邮件地址;如果一个电子邮件地址在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的组织名称,如果一个组织名称在备份通讯录中存在,而在本地通讯录中不存在,则将该组织名称添加到本地通讯录中的该联系人信息中;如果一个组织名称在备份通讯录中存在,在本地通讯录中也存在,则丢弃该组织名称;如果一个组织名称在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的标题,如果该标题在备份通讯录中存在,而在本地通讯录中不存在,则将该标题添加到本地通讯录中的该联系人信息中;如果该标题在备份通讯录中存在,在本地通讯录中也存在,则丢弃该标题;如果该标题在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的地址,先判断备份通讯录中存在的地址的类型在本地通讯录中是否存在;如果存在则判断对应的地址是否相同,相同则丢弃备份通讯录中的该地址,不相同则将备份通讯录中的该地址插入到本地通讯录中的该类型下;如果不存在,则在本地通讯录中新建该类型,并将将备份通讯录中的地址添加到本地通讯录中的该新建类型下。
备份单元303,用于确定备份通讯录的目标位置,从手机的本地获取通讯录,设置备份通讯录的读取模式,遍历所获取的通讯录中的联系人信息,通过调用手机操作系统的应用程序编程接口将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中,得到备份通讯录文件,关闭通讯录备份过程中使用的资源。
在本发明的一个实施例中,备份单元303,用于将所获取的通讯录中的联系人信息按照UTF8格式、ISO-8859-1格式或者UTF-16BE格式编码后序列化到目标位置的指定文件中。
在本发明的一个实施例中,备份单元303,进一步用于在如果目标位置不存在所述指定文件时,先在目标位置创建所述指定文件;
在本发明的一个实施例中,备份单元303,进一步用于在将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中的过程中,对所述指定文件加锁,以避免其他线程对所述指定文件进行读写操作。
综上所述,本发明的技术方案在将备份通讯录中的联系人信息恢复到手机的本地通讯录中时,如果存在联系人名称相同的联系人信息,则判断该联系人信息的其他项信息在备份通讯录中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中,并且如果备份通讯录中的一个联系人信息中的指定项的数据量超出本地通讯录所能保存该对应项的数据量,则将超出的部分进行丢弃处理,用未超出的部分添满本地通讯录的对应项。因此,即使备份时的手机操作系统和恢复时的手机操作系统不一致导致备份通讯录和手机本地通讯录的规格不一致,也能成功地将备份通讯录恢复到手机本地,而不会出现报错终止的情况,因而能够实现通讯录跨操作系统平台的恢复。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种手机通讯录恢复方法,其特征在于,该方法包括:
读取备份通讯录文件中的备份通讯录;
逐一将备份通讯录中的联系人信息与手机的本地通讯录中联系人信息进行对比,并在将备份通讯录中的联系人信息恢复到手机的本地通讯录中时,执行以下过程:
如果存在联系人名称相同的联系人信息,则判断该联系人信息的其他项信息在备份通讯录中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中;
如果备份通讯录中的一个联系人信息中的指定项的数据量超出本地通讯录所能保存该对应项的数据量,则将超出的部分进行丢弃处理,用未超出的部分添满本地通讯录的对应项。
2.如权利要求1所述的方法去,其特征在于,所述如果存在联系人名称相同的联系人信息,则判断该联系人信息中的其他项信息在备份通讯录文件中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中包括以下的一项或多项:
比较该联系人信息中的电话号码,如果一个电话号码在备份通讯录中存在,而在本地通讯录中不存在,则将该电话号码添加到本地通讯录中的该联系人信息中;如果一个电话号码在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电话号码;如果一个电话号码在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的电子邮件地址,如果一个电子邮件地址在备份通讯录中存在,而在本地通讯录中不存在,则将该电子邮件地址添加到本地通讯录中的该联系人信息中;如果一个电子邮件地址在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电子邮件地址;如果一个电子邮件地址在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的组织名称,如果一个组织名称在备份通讯录中存在,而在本地通讯录中不存在,则将该组织名称添加到本地通讯录中的该联系人信息中;如果一个组织名称在备份通讯录中存在,在本地通讯录中也存在,则丢弃该组织名称;如果一个组织名称在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的标题,如果该标题在备份通讯录中存在,而在本地通讯录中不存在,则将该标题添加到本地通讯录中的该联系人信息中;如果该标题在备份通讯录中存在,在本地通讯录中也存在,则丢弃该标题;如果该标题在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的地址,先判断备份通讯录中存在的地址的类型在本地通讯录中是否存在;如果存在则判断对应的地址是否相同,相同则丢弃备份通讯录中的该地址,不相同则将备份通讯录中的该地址插入到本地通讯录中的该类型下;如果不存在,则在本地通讯录中新建该类型,并将将备份通讯录中的地址添加到本地通讯录中的该新建类型下。
3.如权利要求1或2所述的方法,其特征在于,该方法进一步包括通讯录备份过程,具体为:
确定备份通讯录的目标位置;
从手机的本地获取通讯录,设置备份通讯录的读取模式;
遍历所获取的通讯录中的联系人信息,通过调用手机操作系统的应用程序编程接口将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中,得到备份通讯录文件;
关闭通讯录备份过程中使用的资源。
4.如权利要求3所述的方法,其特征在于,所述指定格式为:UTF8格式、ISO-8859-1格式或者UTF-16BE格式。
5.如权利要求3所述的方法,其特征在于,所述通讯录备份过程进一步包括:
如果目标位置不存在所述指定文件,则先在目标位置创建所述指定文件;
在将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中的过程中,对所述指定文件加锁,以避免其他线程对所述指定文件进行读写操作。
6.一种手机通讯录恢复装置,其特征在于,该装置包括:读取单元和恢复单元;
所述读取单元,用于从备份通讯录文件中读取备份通讯录;
所述恢复单元,用于逐一将所述读取单元读取的备份通讯录中的联系人信息与手机的本地通讯录中联系人信息进行对比,并在将备份通讯录中的联系人信息恢复到手机的本地通讯录中时,执行以下过程:
如果存在联系人名称相同的联系人信息,则判断该联系人信息的其他项信息在备份通讯录中和在本地通讯录中是否一致,是则丢弃备份通讯录中的该联系人信息,否则将备份通讯录中的不一致的信息添加到本地通讯录中;
如果备份通讯录中的一个联系人信息中的指定项的数据量超出本地通讯录所能保存该对应项的数据量,则将超出的部分进行丢弃处理,用未超出的部分添满本地通讯录的对应项。
7.如权利要求6所述的方法,其特征在于,所述恢复单元,用于在存在联系人名称相同的联系人信息时,
比较该联系人信息中的电话号码,如果一个电话号码在备份通讯录中存在,而在本地通讯录中不存在,则将该电话号码添加到本地通讯录中的该联系人信息中;如果一个电话号码在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电话号码;如果一个电话号码在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的电子邮件地址,如果一个电子邮件地址在备份通讯录中存在,而在本地通讯录中不存在,则将该电子邮件地址添加到本地通讯录中的该联系人信息中;如果一个电子邮件地址在备份通讯录中存在,在本地通讯录中也存在,则丢弃该电子邮件地址;如果一个电子邮件地址在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的组织名称,如果一个组织名称在备份通讯录中存在,而在本地通讯录中不存在,则将该组织名称添加到本地通讯录中的该联系人信息中;如果一个组织名称在备份通讯录中存在,在本地通讯录中也存在,则丢弃该组织名称;如果一个组织名称在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的标题,如果该标题在备份通讯录中存在,而在本地通讯录中不存在,则将该标题添加到本地通讯录中的该联系人信息中;如果该标题在备份通讯录中存在,在本地通讯录中也存在,则丢弃该标题;如果该标题在备份通讯录中不存在,而在本地通讯录中存在,则不做处理;
比较该联系人信息中的地址,先判断备份通讯录中存在的地址的类型在本地通讯录中是否存在;如果存在则判断对应的地址是否相同,相同则丢弃备份通讯录中的该地址,不相同则将备份通讯录中的该地址插入到本地通讯录中的该类型下;如果不存在,则在本地通讯录中新建该类型,并将将备份通讯录中的地址添加到本地通讯录中的该新建类型下。
8.如权利要求6或7所述的装置,其特征在于,该装置进一步包括:备份单元;
所述备份单元,用于确定备份通讯录的目标位置,从手机的本地获取通讯录,设置备份通讯录的读取模式,遍历所获取的通讯录中的联系人信息,通过调用手机操作系统的应用程序编程接口将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中,得到备份通讯录文件,关闭通讯录备份过程中使用的资源。
9.如权利要求8所述的装置,其特征在于,
所述备份单元,用于将所获取的通讯录中的联系人信息按照UTF8格式、ISO-8859-1格式或者UTF-16BE格式编码后序列化到目标位置的指定文件中。
10.如权利要求8所述的装置,其特征在于,
所述备份单元,进一步用于在如果目标位置不存在所述指定文件时,先在目标位置创建所述指定文件;
所述备份单元,进一步用于在将所获取的通讯录中的联系人信息按照指定格式编码后序列化到目标位置的指定文件中的过程中,对所述指定文件加锁,以避免其他线程对所述指定文件进行读写操作。
CN201210593027.7A 2012-12-31 2012-12-31 一种手机通讯录恢复方法和装置 Active CN103916509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210593027.7A CN103916509B (zh) 2012-12-31 2012-12-31 一种手机通讯录恢复方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210593027.7A CN103916509B (zh) 2012-12-31 2012-12-31 一种手机通讯录恢复方法和装置

Publications (2)

Publication Number Publication Date
CN103916509A true CN103916509A (zh) 2014-07-09
CN103916509B CN103916509B (zh) 2017-08-04

Family

ID=51041905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210593027.7A Active CN103916509B (zh) 2012-12-31 2012-12-31 一种手机通讯录恢复方法和装置

Country Status (1)

Country Link
CN (1) CN103916509B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468927A (zh) * 2014-12-11 2015-03-25 北京奇虎科技有限公司 移动通信终端中通讯录信息的处理方法及移动通信终端
CN104598324A (zh) * 2014-10-13 2015-05-06 腾讯科技(深圳)有限公司 一种已删除信息的恢复方法和装置
CN105046430A (zh) * 2015-07-14 2015-11-11 国家电网公司 电力生产人员信息监测方法及装置
CN105426661A (zh) * 2015-12-21 2016-03-23 叶霖 一种非计划二次手术信息管理方法及管理系统
CN105975606A (zh) * 2016-05-13 2016-09-28 上海互盾信息科技有限公司 一种ios设备联系人误删恢复方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064747A (zh) * 2006-04-27 2007-10-31 环达电脑(上海)有限公司 更新移动通信终端通讯录的方法及系统
CN101557380A (zh) * 2008-04-10 2009-10-14 华为技术有限公司 数据同步方法、客户端以及服务器
CN101729638A (zh) * 2008-10-16 2010-06-09 德信智能手机技术(北京)有限公司 一种手机通讯录备份和恢复的方法及装置
US7752167B1 (en) * 2000-09-27 2010-07-06 Palmsource Inc. Method and apparatus for importing and exporting directory and calendar information to and from personal information management applications
CN101897204A (zh) * 2008-07-04 2010-11-24 3Rd布兰德私人有限公司(公司注册号200719143G) 用于促进移动社区的发展的系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752167B1 (en) * 2000-09-27 2010-07-06 Palmsource Inc. Method and apparatus for importing and exporting directory and calendar information to and from personal information management applications
CN101064747A (zh) * 2006-04-27 2007-10-31 环达电脑(上海)有限公司 更新移动通信终端通讯录的方法及系统
CN101557380A (zh) * 2008-04-10 2009-10-14 华为技术有限公司 数据同步方法、客户端以及服务器
CN101897204A (zh) * 2008-07-04 2010-11-24 3Rd布兰德私人有限公司(公司注册号200719143G) 用于促进移动社区的发展的系统和方法
CN101729638A (zh) * 2008-10-16 2010-06-09 德信智能手机技术(北京)有限公司 一种手机通讯录备份和恢复的方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598324A (zh) * 2014-10-13 2015-05-06 腾讯科技(深圳)有限公司 一种已删除信息的恢复方法和装置
CN104468927A (zh) * 2014-12-11 2015-03-25 北京奇虎科技有限公司 移动通信终端中通讯录信息的处理方法及移动通信终端
CN104468927B (zh) * 2014-12-11 2016-10-19 北京奇虎科技有限公司 移动通信终端中通讯录信息的处理方法及移动通信终端
CN105046430A (zh) * 2015-07-14 2015-11-11 国家电网公司 电力生产人员信息监测方法及装置
CN105426661A (zh) * 2015-12-21 2016-03-23 叶霖 一种非计划二次手术信息管理方法及管理系统
CN105426661B (zh) * 2015-12-21 2018-05-04 华中科技大学同济医学院附属协和医院 一种非计划二次手术信息管理方法及管理系统
CN105975606A (zh) * 2016-05-13 2016-09-28 上海互盾信息科技有限公司 一种ios设备联系人误删恢复方法

Also Published As

Publication number Publication date
CN103916509B (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
US20170155748A1 (en) Information Processing Method, Information Processing Device, and Apparatus
CN103916509A (zh) 一种手机通讯录恢复方法和装置
CN103365882A (zh) 一种移动终端上垃圾文件清理的方法和系统
US20140033229A1 (en) Method and computation node for processing application data
CN103079203B (zh) 一种终端认证方法与智能卡
CN103942126B (zh) 电子设备及其数据备份方法
CN111680008A (zh) 日志处理方法、系统、可读存储介质及智能设备
CN102984357A (zh) 一种联系人信息管理方法及装置
CN112437001B (zh) 保证消息可靠性投递与消费方法、装置
CN104615662A (zh) 一种处理数据的方法、装置及终端设备
CN112073293A (zh) 一种即时消息的提醒方法及相关装置
CN106383709B (zh) 一种数据迁移中进度显示的方法及装置
CN105376728A (zh) 一种开机方法及通信终端
CN104077053B (zh) 终端信息的操作方法、装置及移动终端
CN108133026B (zh) 一种多数据的处理方法、系统及存储介质
CN101945156A (zh) 一种移动终端数据信息的备份方法及装置
CN112363932A (zh) 待测试业务对象的测试方法及装置、电子装置
CN110968255A (zh) 数据处理方法、装置、存储介质以及处理器
CN110851398B (zh) 垃圾数据的回收处理方法、装置及电子设备
CN111970576B (zh) 信息交互方法、装置及存储介质
CN103108070A (zh) 电话簿备份系统及其方法
CN106648844B (zh) 一种提高数据迁移速度的方法及终端
CN112732660A (zh) 干预式文件传输方法、装置及系统
CN111274258A (zh) 一种区块链数据上链方法
CN111352769A (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
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder