歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

我們備份手機聯系人時,導出到SD卡時,會在SD卡中生成一個vcf文件,用於保存聯系人姓名,手機號碼。

vCard 規范容許公開交換個人數據交換 (Personal Data Interchange PDI)信息,在傳統紙質商業名片可找到這些信息。規范定義電子名片(或叫vCard)的格式。

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

將它復制進工程,然後Add jar即可,實現代碼很簡單,如下:

  1.  if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) //判斷存儲卡是否存在  
  2.      {  
  3.         OutputStreamWriter writer;   
  4.         File file = new File(Environment.getExternalStorageDirectory(),"example.vcf");  
  5. //得到存儲卡的根路徑,將example.vcf寫入到根目錄下  
  6.     try {    
  7.         writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");  
  8.             
  9.            //create a contact     
  10.                VCardComposer composer = new VCardComposer();    
  11.                ContactStruct contact1 = new ContactStruct();   
  12.            contact1.name ="John" ;    
  13.            contact1.company = "The Company";   
  14.            contact1.addPhone(Contacts.Phones.TYPE_MOBILE, "15651865008", null, true);   
  15.            //create vCard representation     
  16.            String vcardString;    
  17.             vcardString = composer.createVCard(contact1, VCardComposer.VERSION_VCARD30_INT);    
  18.                    //write vCard to the output stream     
  19.                    writer.write(vcardString);   
  20.              
  21.           // writer.write("/n"); //add empty lines between contacts     
  22.        // repeat for other contacts     
  23.            // ...     
  24.            writer.close();    
  25.            Toast.makeText(c, "已成功導入SD卡中!", Toast.LENGTH_SHORT).show();  
  26.     } catch (UnsupportedEncodingException e) {    
  27.     // TODO Auto-generated catch block     
  28.     e.printStackTrace();    
  29.     } catch (FileNotFoundException e) {    
  30.     // TODO Auto-generated catch block     
  31.     e.printStackTrace();    
  32.     } catch (VCardException e) {    
  33.     // TODO Auto-generated catch block     
  34.     e.printStackTrace();    
  35.     } catch (IOException e) {    
  36.     // TODO Auto-generated catch block     
  37.     e.printStackTrace();    
  38.     }    
  39.   
  40. }  
  41.      else{  
  42.          Toast.makeText(c, "寫入失敗,SD卡不存在!", Toast.LENGTH_SHORT).show();  
  43.      }  

由於要對存儲卡做讀寫操作,所以要加讀寫權限:

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

這樣聯系人就備份成功了,用系統自帶的聯系人軟件就可以實現導入。這裡只是個簡單的寫數據的例子,讀取vcf文件中的數據的例子我已經和

一起壓縮上傳,以供各位同學下載,下載地址:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2012年資料/9月/12日/Android vcard使用示例,生成vcf文件

Copyright © Linux教程網 All Rights Reserved