android点击vcf文件,Android vcard使用示例,生成vcf文件

Android vcard使用示例,生成vcf文件

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

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

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

110320234.jpg

将它复制进工程,然后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();

}

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

这样联系人就备份成功了,用系统自带的联系人软件就可以实现导入。这里只是个简单的写数据的例子,读取vcf文件中的数据的例子我已经和

110320235.jpg一起压缩上传,以供各位同学下载,下载地址:http://download.csdn.net/detail/pzhtpf/4564761

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值