码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2014-07-03 10:12:25      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:android   style   http   color   使用   文件   

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

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

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

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

bubuko.com,布布扣

 

将它复制进工程,然后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文件中的数据的例子我已经和bubuko.com,布布扣起压缩上传,以供各位同学下载,下载地址:http://download.csdn.net/detail/pzhtpf/4564761

Android vcard使用示例,生成vcf文件,布布扣,bubuko.com

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

标签:android   style   http   color   使用   文件   

原文地址:http://www.cnblogs.com/xgjblog/p/3818228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!