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

我们备份手机联系人时,导出到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();

}

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

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

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

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

  1. linux 进程间通信 dbus-glib【实例】详解四(上) C库 dbus-glib 使用(附代码)(编写接口描述文件.xml,dbus-binding-tool工具生成绑定文件)(列集散集函数)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  2. asciidoc html java_如何使用AsciiDoclet从.java文件中的javadoc注释生成asciidoc文件

    我是asciidoc的新手.我想在 java文件中从注释的 javadoc(asciidoc格式)生成HTML文档. 例如java文件 /** * = Asciidoclet * * Sample c ...

  3. 使用python代码,将csv文件中的问题逐条向ChatGPT提问,并将ChatGPT回复的结果新建为一个文件保存,文件名为所提出的问题,最后所有生成的word文件都保存在一个新生成的文件夹中。

    你可以使用 Python 的 csv 模块来读取 csv 文件,然后使用 ChatGPT 的 API 来获取回答.下面是一个例子,它假设你已经安装了 ChatGPT 并已经准备好了 csv 文件. i ...

  4. android点击出现菜单,Android 点击按钮弹出菜单

    效果图: 1.创建menu文件夹,新建main.xml文件 android:id="@+id/add" android:title="添加" /> and ...

  5. android 点击图片事件,android图文混排点击事件

    图文混排顾名思义就是把文字和图片混合排列在一起,比较简单的需求我们也可以通过TextView和ImageView配合使用来达到目的,但是遇到稍微复杂一些的情况这种方法就不适用了. 做这样一个按钮: 对 ...

  6. php生成vcf,详解PHP如何实现生成vcf vcard文件

    PHP如何实现生成vcf vcard文件?本文主要介绍了PHP实现生成vcf vcard文件功能类定义与使用方法,结合具体实例形式分析了vcf vcard功能类的具体定义与使用方法,并附带VCardI ...

  7. Android点击无响应,Android Studio无响应打不开的解决办法

    最近谷歌发布了Android Studio,下载安装之后,在使用时发现一个问题,那就是发布无响应且无法启动,也就是点击Android图标的时候没有任务反应,我想说的是你需要重新配置一下环境~ 因为这个 ...

  8. Android Studio使用签名打包发布APP(安卓生成apk文件)

    一.创建签名密钥库文件 1.在 Build 菜单中选择 Generate Signed Bundle / APK... 2.选择 APK,点击 Next ,进入下一步 3.点击 Create new. ...

  9. ios证书导出不了p12文件_IOS苹果证书无法生成.P12文件解决方法

    一般.p12文件是给与别人使用的,本机必须是专用密钥下的证书才可以生成.p12文件,也就是说你在种类下的所有项目里找到的证书是无法生成.P12文件的,因为它并不是在专用密钥下或者它不携带有专用密钥. ...

  10. linux生成日志文件,linux实现按天生成日志文件并自动清理

    linux实现按天生成日志文件并自动清理 前篇文章中讲到如何在Linux crontab创建每秒执行的方法,高人可能早意识到日志文件没做处理,假如没人工处理久了日后越来越大肯定会出现问题,当然人工处理 ...

最新文章

  1. SAP LIST 画框的FORM
  2. pdf转换成可编辑的word转换器
  3. 一张图看懂云栖大会·上海峰会重磅产品发布
  4. 哔哩哔哩修改视频速度
  5. #ifndef_百度百科
  6. 学习python_day2
  7. load data file使用详解
  8. Springboot内置tomcat优化
  9. python 弹窗炸弹
  10. 如何用WGDI进行共线性分析(下)
  11. linux安装时路径错误,科学网—安装Linux版的hysplit及相关问题集锦-系统Centos - 周勤迁的博文...
  12. Vue入门 computer计算属性
  13. webstorm bable
  14. 一看就能上手的敏捷婚礼
  15. 查找SCI期刊的影响因子
  16. unity 内部嵌入的网页插件中播放视频网页的问题
  17. SOLID设计原则解读
  18. 适用于 Android 初学者的 Dagger 2 - DI 第一部分
  19. 【pycharm和anaconda安装教程】
  20. [学习]01 峰终定律和上瘾模型

热门文章

  1. 读书寄语:有一种感动叫守口如瓶
  2. 财务管理系统如何帮助企业实现财务自动化管理?
  3. 【IP 笔记 2.】北邮 互联网协议 Internet Protocol - Transport Layer
  4. 人人都是产品经理——一切从Kick Off开始
  5. 怎么把照片背景变成蓝色
  6. tensorflow,pytorch中normalize方法
  7. 2022妈妈杯移动通信网络站址规划和区域聚类问题D题思路导读,你还在用kmeans?
  8. android svg 线条动画教程,svg 线条动画
  9. 计算机app无法删除,文件夹删不掉怎么办?
  10. 文件夹删不掉,显示有文件打开怎么办