歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android vcard使用示例,生成vcf文件

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

日期:2017/3/1 10:10:15   编辑:Linux編程

我們備份手機聯系人時,導出到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. //create a contact
  9. VCardComposer composer = new VCardComposer();
  10. ContactStruct contact1 = new ContactStruct();
  11. contact1.name ="John" ;
  12. contact1.company = "The Company";
  13. contact1.addPhone(Contacts.Phones.TYPE_MOBILE, "15651865008", null, true);
  14. //create vCard representation
  15. String vcardString;
  16. vcardString = composer.createVCard(contact1, VCardComposer.VERSION_VCARD30_INT);
  17. //write vCard to the output stream
  18. writer.write(vcardString);
  19. // writer.write("/n"); //add empty lines between contacts
  20. // repeat for other contacts
  21. // ...
  22. writer.close();
  23. Toast.makeText(c, "已成功導入SD卡中!", Toast.LENGTH_SHORT).show();
  24. } catch (UnsupportedEncodingException e) {
  25. // TODO Auto-generated catch block
  26. e.printStackTrace();
  27. } catch (FileNotFoundException e) {
  28. // TODO Auto-generated catch block
  29. e.printStackTrace();
  30. } catch (VCardException e) {
  31. // TODO Auto-generated catch block
  32. e.printStackTrace();
  33. } catch (IOException e) {
  34. // TODO Auto-generated catch block
  35. e.printStackTrace();
  36. }
  37. }
  38. else{
  39. Toast.makeText(c, "寫入失敗,SD卡不存在!", Toast.LENGTH_SHORT).show();
  40. }

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

<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