上个周末遇到一个小问题,我希望把手机上的通讯录/联系人名单,从运行Windows CE 6.0系统的M8手机,转移到运行Google Android 2.2系统的M8手机上。对比了几套方法,感觉这个比较简单而且靠谱:先在PC上把通讯录导入Google Accounts,然后再同步到Android系统手机中。
在运行Windows CE 6.0系统的M8手机中生成的是许多个vCard文件(*.vcf)(具体生成方法见文末),每个联系人单独一个文件。而Google Accounts只允许一次导入一个vCard文件,完全手工操作的话,几百个vCard文件要累死人不偿命的。嗨嗨,很明确的需求来了:把指定目录下的所有vCard文件(*.vcf),合并成一个vCard文件。
先看看单个联系人的vCard(.vcf)内容:
再看看多个联系人共用一个vCard(.vcf)的情况:
可见,多个联系人共用一个vCard(.vcf),其文件内容是单人vCard(.vcf)文件内容的叠加(间隔以空行)。用程序实现起来非常之简单:枚举指定目录下的所有vCard(.vcf)文件,读取其内容,转换为文本叠加到一起,最后把合并后的内容写出到一个vCard(.vcf)文件即可。太简单了,我(liigo)用易语言,没两分钟就写完了:
运行以上代码,就会在D盘根目录下生成合并后的vCard(.vcf)文件,将其往Google Accounts里面导入,很顺利地完成了,检查导入后的数据无误,证明vCard合并结果是正确的。
程序源代码中,为什么把文件路径(“C:\Documents ...”,“d:\myVCards.vcf”)硬编码进去?呵呵,这可不是一个通用的程序,这是运行一次完成任务之后就要丢弃的代码。这种生存周期不足三分钟的程序源代码,弃之毫不足惜;如果将来又遇到类似的功能,随手再写一遍,也要快于从Windows文件管理器中翻出以前写好的旧代码。
一个插曲,代码中用到了我多年前开发的一个易语言支持库,辅助调试支持库,想起来该库还不支持易语言5.x静态编译,于是升级之,支持静态编译,并更名为“枚举文件子目录支持库”(已开源)。
小程序,也能帮大忙。
附:运行Windows CE 6.0系统的M8手机中生成vCard文件的方法:进入通讯录,点击任意联系人,用蓝牙发送,确定后即可在设备根目录(非Disk根目录)下tmpvcard子目录中看到临时自动生成的vCard文件(.vcf),每个联系人各自对应一个vCard文件。我(liigo)建议操作前清空tmpvcard目录,因为先前生成的vCard文件不会被自动删除。另参见此帖:http://bbs.meizu.com/viewthread.php?tid=1978771
分享到:
相关推荐
教你如何制作电子名片vcard归纳.pdf
利用vCard实现电子名片中的二维码保存个人信息到通讯录,相关文档参考https://blog.csdn.net/super_DuoLa/article/details/116713322
5、多个vcf文件时,以自定义长度的数字作为名称,定义方法在选项 6、通过选项功能可以设置是否“自动检查更新”,是否打开下方的提示信息窗口(此项仅注册版有效)。 Vcard(vcf)文件生成器截图
vcard批量导入, 可以同时导出多种格式xls txt csv 等文件
规范定义电子名片(或叫vCard)的格式。 vCard 规范可作为各种应用或系统之间的交换格式。定义的格式与传送的方法无关。传送交换可能是文件系统,点对点交换的公共电话网络,以有线网络或无线传送的方式。用户...
This specification defines a format for an electronic business card, or vCard. The format is suitable as an interchange format between applications or systems. The format is defined independent of the...
VCard名片批量整理成excel小工具。 名片输出来之后是一堆vcf文件(vcard),不好整理不好保存,想把它们批量弄成一个excel文件,也没找到合适的工具,于是自己写了个。 带着代码、带着exe、例子
小米XML文件转Vcard.zip
本文首先简单介绍了vCard,然后分析了导入和导出VCard文件,最后提及了 了Android vCard电子名片。
ez-vcard, 用于Java的vCard分析程序库 位 vcard持续集成: 代码覆盖率: Maven 中心: 聊天室: 许可证: ez vCard是用Java编写的vCard库。 它可以以多种格式读取和写入 vcard 。 因为
可以将csv转成单个vcard文件,一次导入控制列。
网上找的 一个jar包 可用来导入导出 .vcf文件 里面调用方法
C#写的vcard转换器,能够从text 或者 cvs 文件批量生成vcard文件,从而不需要手工一个一个录入通讯录。 需要的话,可以增加其他的输入信息,或者解析vcard文件生成text文件或者excel文件。
Vcard2.1&3.0Vcard2.1&3.0Vcard2.1&3.0Vcard2.1&3.0Vcard2.1&3.0
将手机联系人备份从vCard3.0文件转为vCard2.1文件(旧式手机需要) 。 在Python3.7下可运行,不支持头像转换。
VCARD解析。可以用于手机发送联系人功能的VCARD解析。
可以生成二维码名片,格式是VCard,运用了Qt库和qrcode库。
用csv2vCard.cmd导出的vcf文件不是utf8编码的,需要转换文件编码为utf8, 这个方式很多,网上查下就知道(windows记事本转换不行),我用的是vim 压缩包里有个lp.csv文件,用excel打开后可以按照格式添加联系人,...
VCard实现电子二维码完整版项目,相关功能可参考https://blog.csdn.net/super_DuoLa/article/details/116697473