我们备份手机联系人时,导出到SD卡时,会在SD卡中生成一个vcf文件,用于保存联系人姓名,手机号码。

vCard 规范容许公开交换个人数据交换 (Personal Data Interchange PDI)信息,在传统纸质商业名片可找到这些信息。规范定义电子名片(或叫vCard)的格式。

而在Android上使用vcard就要借助第三方包:

将它复制进工程,然后Add jar即可,实现代码很简单,如下:

 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) //判断存储卡是否存在
{
OutputStreamWriter writer;
File file = new File(Environment.getExternalStorageDirectory(),"example.vcf");
//得到存储卡的根路径,将example.vcf写入到根目录下
try {
writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
//create a contact
VCardComposer composer = new VCardComposer();
ContactStruct contact1 = new ContactStruct();
contact1.name ="John" ;
contact1.company = "The Company";
contact1.addPhone(Contacts.Phones.TYPE_MOBILE, "15651865008", null, true);
//create vCard representation
String vcardString;
vcardString = composer.createVCard(contact1, VCardComposer.VERSION_VCARD30_INT);
//write vCard to the output stream
writer.write(vcardString);
// writer.write("/n"); //add empty lines between contacts
// repeat for other contacts
// ...
writer.close();
Toast.makeText(c, "已成功导入SD卡中!", Toast.LENGTH_SHORT).show();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (VCardException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else{
Toast.makeText(c, "写入失败,SD卡不存在!", Toast.LENGTH_SHORT).show();
}

由于要对存储卡做读写操作,所以要加读写权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

这样联系人就备份成功了,用系统自带的联系人软件就可以实现导入。这里只是个简单的写数据的例子,读取vcf文件中的数据的例子我已经和一起压缩上传,以供各位同学下载,下载地址:http://download.csdn.net/detail/pzhtpf/4564761

Android vcard使用示例,生成vcf文件相关推荐

  1. android pdfjet_GitHub - lnj721/PdfBuilder: Android端使用图片生成PDF文件

    PdfBuilder Android端使用图片生成PDF文件 一.应用场景 从本地选择图片生成pdf文件,由于Android本身并没有对pdf的支持,这里选择使用一个第三方的库来达成需求. 二.库的选 ...

  2. perl 生成 .vcf文件 以导入电话

    #!/usr/bin/perl -w use strict; =head--comment     公司发布的通信录是以excl文件的形式,要导入我的电话中肯定不行拉,电话 需要.vcf文件格式(le ...

  3. ubuntu android 加入so文件,Ubuntu下Android NDK配置及生成so文件步骤

    一.首先解压到你指定的目录 zhangkai@zhangkai-K45VM:~$ bzip2 -d android-ndk-r8e-linux-x86_64.tar.bz2 zhangkai@zhan ...

  4. android手机生成pdf格式文件,Android根据pdf模板生成pdf文件

    1 public voidFillPdfTemplate(String id) {2 android.icu.text.SimpleDateFormat simpleDateFormat = 3 ne ...

  5. android程序更改pdf文件格式,Android根据pdf模板生成pdf文件

    1 public voidFillPdfTemplate(String id) {2 android.icu.text.SimpleDateFormat simpleDateFormat = 3 ne ...

  6. Android根据pdf模板生成pdf文件

    我们需要生成一些固定格式的pdf文件或者一些报表数据,那么我们可以用 iText包去做. 需要包含的jar包:iText-5.0.6.jar    iTextAsian.jar ,怎样jar包导入工程 ...

  7. android的dmtracedump工具生成trace文件图片 'dot' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    http://jingyan.baidu.com/article/c910274bfa6c1fcd361d2df7.html http://www.cnblogs.com/albert1017/p/3 ...

  8. iOS开发- 生成/解析.vcf文件

    vcf, 通讯录导出的一种格式. 一.生成vcf文件 如果要把我们iPhone通讯录里的数据, 生成vcf格式文件. 我们可以借助iCloud. 小技巧:通过iCloud导出iPhone通讯录的方法 ...

  9. C#导出到通讯录 生成微信头像跟VCF文件 并把头像保存在阿里云

    /// <summary>         /// 导出到通讯录 生成微信头像跟VCF文件         /// </summary>         /// <ret ...

最新文章

  1. string日期格式化_java面向对象---日期类
  2. ISLR_StatisticalLearning
  3. Hibernate二级缓存与查询缓存的组合探究
  4. 复杂的数据类型5 - C++快速入门11
  5. .NET FrameWork 4.0 新特性
  6. jdk 1.8 java.policy,JDK1.8 导致系统报错:java.security.InvalidKeyException:illegal Key Size
  7. LFS,编译自己的Linux系统 - 前言
  8. SQLite数据库---ListView控件之商品展示案例
  9. 0分配不到地址_图解 Go 内存分配器
  10. OpenResty(nginx)操作redis的初步应用
  11. 题解 CF1399C 【Boats Competition】
  12. 数据结构与算法之-----图(搜索算法)
  13. 编程漫谈及计算机硬件简介
  14. 游戏软件测试用例编写范文,软件测试用例报告模板.doc
  15. 济南2017年春考计算机考试试题,2017年山东省春季高考机械试题.pdf
  16. 国庆节怎么少得了国旗:国旗头像
  17. pyecharts绘图
  18. PHP是什么,其优势有哪些?
  19. 如何在腾讯地图绘制自己的坐标
  20. V 神打算让以太坊联姻 BCH 匿名币颤抖吗?

热门文章

  1. 海天味业创作大赛别出心裁,唤起饱含亲情的美好回忆
  2. RGB565 to gray
  3. 河北相关部门指北京公交进廊坊涉嫌非法运营
  4. 彻底卸载Revit并重新安装
  5. 重磅来袭 | 第五届“强网”拟态防御国际精英挑战赛创新升级,燃爆全球!
  6. python:实现二进制转十六进制算法(附完整源码)
  7. 零基础CSS入门教程(9)–class选择器
  8. Pandaria(Kruskal重构树+线段树合并)
  9. Instapaper创始人谈iPad如何改变人们的阅读
  10. 《学习之道》第四章继续回想